Page 1 of 2 12>
Topic Options
#67677 - 2002-07-02 07:46 AM Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
(1) We should only need to deploy kix402update.exe to the enterprise
(2) With the IEXPRESS package on an "NT Class" machine, do you look for the %SYSTEMDRIVE% and/or %SYSTEMROOT% Variables?

Using the information that I have been able to put together using MCA's Kix Deployment tools:

http://home.wanadoo.nl/scripting/

http://home.wanadoo.nl/scripting/download/kix402registry.exe
http://home.wanadoo.nl/scripting/download/kix402update.exe

Ref - http://kixtart.org/board/ultimatebb.php?ubb=get_topic;f=1;t=004754

Examples of how to do this in batch..

if not exist c:\kix402.ok %0\..\kix402update.exe /q
\\server\NETLOGON\kix402update.exe /q

kix32 %0\..\your_script.kix
kix32 \\server\netlogon\your_script.kix

This is using the IEXPRESS Package tool and the End User Licence Agreement (or EULA from Microsoft) is listed at:
http://kixtart.org/board/Forum2/HTML/000583.html

Ref - http://support.microsoft.com/default.aspx?scid=kb;en-us;Q318689

code:
@ECHO off 
SETLOCAL

VER | find "NT" > nul
IF not errorlevel 1 GOTO Win_NT

VER | find "2000" > nul
IF not errorlevel 1 GOTO Win_NT

VER | find "XP" > nul
IF not errorlevel 1 GOTO Win_NT

VER | find "98" > nul
IF not errorlevel 1 GOTO Win_9X

VER | find "95" > nul
IF not errorlevel 1 GOTO Win_9X

GOTO unknown_os

:win_NT
if not exist %SYSTEMDRIVE%\kix402.ok %LOGONSERVER%\NETLOGON\kix402update.exe /q
call kix32.exe kixtart.kix
goto end

:win_9X
if not exist c:\kix402.ok %0\..\kix402update.exe /q
%0\..\kix.exe %0\..\kix32.exe kix95.kix
goto end

:unknown_os
:end

Thanks!

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67678 - 2002-07-02 08:13 AM Re: Deployment of Kix Scripts
NTDOC Administrator Offline
Administrator
*****

Registered: 2000-07-28
Posts: 11628
Loc: CA
Hey Kent... are you asking or telling? Not sure if you're looking for anything or not.

Is something in your scenario here not working?

Top
#67679 - 2002-07-02 08:15 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
Doc,

Just kind of laying out the scenario here. With the methods I tried, we worked great with current machine in the domain, but newly ghosted images failed. (2) is definitely a question...

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67680 - 2002-07-02 08:49 AM Re: Deployment of Kix Scripts
NTDOC Administrator Offline
Administrator
*****

Registered: 2000-07-28
Posts: 11628
Loc: CA
%SystemRoot% will always contain the DRIVE and LOCATION of where NT/2000/XP is installed, however I'm not sure about the IEXPRESS tool.
You could have NTLDR, BOOT.INI etc.. on any drive and your NT installation on any other drive as long as the boot process knows how to get to it. Interesting enough 2000 is smart enough to find the installation folder of 2000 and keep booting even with NTLDR, NTDETECT, and BOOT.INI being deleted. Not so with NT 4.0

When you say it doesn't work on your IMAGED systems, what exactly is not working?
I assume you have tried both variables, so then one would have to assume that something else is the fault besides the variable if you have tried both and it works on normal systems, but not IMAGED systems.

Top
#67681 - 2002-07-02 09:57 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
Doc,

I understand the NT Variables.. It is more or less a question of how the package was assembled by MCA...

Thanks,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67682 - 2002-07-02 04:04 PM Re: Deployment of Kix Scripts
Lonkero Administrator Offline
KiX Master Guru
*****

Registered: 2001-06-05
Posts: 22346
Loc: OK
mmm...
yeh.
I actually crawled some months ago that package step by step cause didn't like how it works for wkix.

anyway, decided to create my own wkixcheck and wkixupdate packages.

all you need a selfextracting exe which has a little code executed after unpackaging...
as a start ofcourse. when you get more into that, you will probably want to add some more fancy there...

cheers,
_________________________
!

download KiXnet

Top
#67683 - 2002-07-02 04:21 PM Re: Deployment of Kix Scripts
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
I'm not satisfied with how kix402update.exe and wkix402update.exe operate. I tried to work through them with MCA but it fizzled out.

In an NT environment it's not really needed anyway. All you really need is to check for KIX32.EXE and WKIX32.EXE in %windir% if you choose to install local at all. Regular users don't normally have rights to install to %windir% anyway so you'd have to schedule an admin script to do it.

You could put it in your image but when you roll out the next version you're back to square one.

I use the following in my logon.bat to log update failures so my admin script can pick it up.

code:
%windir%\system32\fc.exe /lb1 "%windir%\kix32.exe" "\\ff_adm1\update\KiX4.02\kix32.exe" 1>nul 2>nul
IF ERRORLEVEL 1 GOTO ERRORLOG_NT
GOTO NT_OK

:ERRORLOG_NT
ECHO ======KIX 4.02 UPDATE FAILED====== >> \\ff_adm1\update\Logs\LogonError.log
NBTSTAT -S |FIND /I "<03>" >> \\ff_adm1\update\Logs\LogonError.log
ECHO ================================== >> \\ff_adm1\update\Logs\LogonError.log

:NT_OK


_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#67684 - 2002-07-02 10:12 PM Re: Deployment of Kix Scripts
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear Kent,

All our iexpress package for updating your clients has been updated.
Issues
  • we create the check file also in %windir% directory.
    this check file kix???.ok.
    the problem was that in some situations the file c:\kix???.ok couldn't
    be created. for backwards compatibility we create - try to create - two check
    files
    - c:\kix???.ok
    - %windir%\kix???.ok
    btw: we are using "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Windir" value.
  • during the creation of file associations with kix32 we aren't using
    the external kixedit.reg file. it is using internal kixtart func-
    tions.
  • to prevent also problems with the installation of c:\kixedit.ico file,
    we move it also to the %windir% directory.
  • the control-file is restyled and as kixtart users you can easily read
    information from it.
    an example:
    code:
    [KiXtart]
    kix32.exe=2002/06/18 20:19:09 -> 2002/05/29 16:59:06 225280 (build 095)
    kx16.dll=2002/06/18 20:19:09 -> 2001/08/27 20:17:29 47104
    kx32.dll=2002/06/18 20:19:09 -> 2002/03/29 12:38:08 49152
    kx95.dll=2002/06/18 20:19:09 -> 2001/11/19 05:00:00 49152
    KiXtart=installation completed at 2002/06/18 20:19:09 (+kix32.exe +kx16.dll +kx32.dll +kx95.dll) to "c:\windows\"
    KiXtart release=ME -> kix 4.10 Release Candidate 2
    KiXtart mode=registry

    btw: the old format was
    code:
    [Kixtart ME]
    kix32.exe 4.10 Beta 1=2002/05/01 17:04:13 -> 2002/04/03 00:00:00 221184 (build 084)
    kx16.dll 4.10 Beta 1=2002/05/01 17:04:13 -> 2001/08/27 00:00:00 47104
    kx32.dll 4.10 Beta 1=2002/05/01 17:04:13 -> 2002/03/29 00:00:00 49152
    kx95.dll 4.10 Beta 1=2002/05/01 17:04:13 -> 2001/11/19 00:00:00 49152
    Kixtart 4.10 Beta 1=installation completed at 2002/05/01 17:04:13 (+kix32.exe +kx16.dll +kx32.dll +kx95.dll) to "c:\windows\"
    Kixtart 4.10 Beta 1 mode=registry

  • we have rename the debugging file from "c:\kixtart.log" to "%tmp%\kixtart.txt".
    btw: this file will created when environment variable "kix-debug" exist.
    btw: by problem you should mail also this file to us.
    an example of it
    tuesday 2002/06/18 20:19:09- kixtart 4.10 Release Candidate 2/3.03e script starting.
    -
    -curdir: c:\windows\temp\ixp000.tmp
    -scriptdir: c:\windows\temp\ixp000.tmp
    -scriptname: start2.kix
    -startdir: c:\windows\temp\ixp000.tmp
    -
    -userid: -/-
    -user priv: guest
    -version: inwin=2/dos=4.90/productsuite=/producttype=Windows Me/csd=
    -
    - start-20:19:09- 0 The operation completed successfully.
    - 1-20:19:09- 0 The operation completed successfully.
    - 2-20:19:09- 0 The operation completed successfully.
    - 3-20:19:09- 0 The operation completed successfully.

    - 426-20:19:10- 6 The handle is invalid.
    - end-20:19:10- 6 The handle is invalid.

    -
    -tuesday 2002/06/18 20:19:10- kixtart 4.10 Beta 1/3.03e script ending.
    -
    -Intel Pentium III (0 Mhz, memory 511 MB)
    -

Still the special environment variable exist
  • kix-debug
    it creates a logfile in your temporary directory. name is %tmp%\kixtart.txt.
  • kix-show
    it shows information about installation progress by some MessageBox's.
Your logon BATch file can be something like:
code:
@echo off
%0\..\kix410update.exe /q
kix32 %\..\your_script.kix
@echo

or
code:
@echo off
%0\..\kixcheck.exe
if errorlevel 1 %0\..\kix410update.exe /q
kix32 \\server\netlogon\your_script.kix
@echo off

or
code:
@echo off
if not exist %windir%\kix410.ok %0\..\kix410update.exe /q
if not exist %windir%\kix410.ok goto net
kix32 \\server\netlogon\your_script.kix
goto end
:net
\\server\netlogon\kix32 \\server\netlogon\your_script.kix
:end
@echo off

We were using our tool kixcheck in above logon BATch files
which return an errorlevel 1 when kixtart binaries aren't installed
in a correct way.
The output of "kixcheck" is:
  • for a correct installation:
    code:
    KixCheck 1.05 (c) scripting@wanadoo.nl 2001

    Found as C:\WINDOWS\KIX32.EXE (29-05-2002 16:59:12 225280 bytes)
    + C:\WINDOWS\KX16.DLL (27-08-2001 20:17:58 47104 bytes)
    + C:\WINDOWS\KX32.DLL (29-03-2002 12:38:16 49152 bytes)
    + C:\WINDOWS\KX95.DLL (19-11-2001 05:00:00 49152 bytes)

    path c:\windows;c:\windows\command

    KiXtart environment: complete.

  • for an incomplete the output look like:
    code:
    KixCheck 1.05 (c) scripting@wanadoo.nl 2001

    Found as C:\WINDOWS\KIX32.EXE (29-05-2002 16:59:12 225280 bytes)
    + C:\WINDOWS\KX16.DLL (27-08-2001 20:17:58 47104 bytes)
    + C:\WINDOWS\KX32.DLL (29-03-2002 12:38:16 49152 bytes)

    path c:\windows;c:\windows\command

    KiXtart environment: incomplete. remove "c:\kix*.ok" files.

Please run above iexpress installation with defined environment variable
kix-debug and return the output of file %tmp%\kixtart.txt.
greetings.
btw: you shouldn't look for %systemroot% but for %windir%
environment.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#67685 - 2002-07-02 10:14 PM Re: Deployment of Kix Scripts
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear Kent,

Your question: how iexpress packages are working?

  1. install a files in temporary directory in the %tmp% directory.
  2. run installation script by command: kix32.exe install.kix
    the environment variable kix-debug influences which version
    will be running:
    - kix32 start1.kix (= without kix-debug specification)
    - kix32 start2.kix (= with kix-debug specification)
install.kix
code:
  CLS
IF setconsole("hide")
ENDIF
;
; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10
;
; (c) scripting@wanadoo.nl - 2000, 2001, 2002
;
; vs 1.00 - program
;
; 1.00 (20010605) original version. created for IExpress package.
; - split script for with/without debugging.
; - activate $debug_mode when variable %kix-debug% is declared.
; - shows also @curdir value.
;
$prgrm_version="1.00"
;
$debug_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
$debug_mode="yes"
ENDIF
;
IF ($debug_mode = "yes")
$message="Installation of Kixtart "+@kix+" started from '"+LCASE(@curdir)+"'."
$title="Kixtart "+@kix
IF (MessageBox($message, $title, 340, 300) <> 0)
ENDIF
? $message
ENDIF
IF ($debug_mode <> "yes")
call "start1.kix"
ELSE
call "start2.kix"
ENDIF
:end
IF (RedirectOutput("CON") = 0)
ENDIF
$debug_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
$debug_mode="yes"
ENDIF
;
IF ($debug_mode <> "yes")
? "Informative INSTALL: no creation of debug list 'c:\kixtart.log'"
ELSE
? "Informative INSTALL: create debug list 'c:\kixtart.log'"
IF (Exist("c:\kix"+substr(@kix,1,1)+substr(@kix,3,2)+".ok") = 1)
$message="Installation of Kixtart "+@kix+" completed from '"+LCASE(@curdir)+"'."
$message=$message+" File '"+UCASE("kix"+substr(@kix,1,1)+substr(@kix,3,2)+".ok")+"' created."
ELSE
$message="Installation of Kixtart "+@kix+" incompleted from '"+LCASE(@curdir)+"'."
$message=$message+" No file '"+UCASE("kix"+substr(@kix,1,1)+substr(@kix,3,2)+".ok")+"' created."
ENDIF
$title="Kixtart "+@kix
IF (MessageBox($message, $title, 340, 300) <> 0)
ENDIF
? $message
ENDIF
break on
flushkb

start1.kix
code:
  cls
break on
IF setconsole("hide")
ENDIF
;
; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10
;
; (c) scripting@wanadoo.nl - 2000, 2001, 2002
;
; vs 3.03 - program
;
; 1.00 (20000715) original version. created for IExpress package.
; 1.01 (20000715) - additional information written to check-file.
; 1.02 (20000715) - additional information about starting script.
; system tries to find "c:\temp\kixtart.dbg" file, which will
; create a info file "c:\temp\kixtart.txt".
; automatic remove of "c:\temp\kixtart.dbg" + "c:\temp\kixtart.txt" by next run.
; - change "source_directory" to "c:\temp\ixp000.tmp\",
; because "@curdir" is "@homeshr" directory.
; - CHANGE iexpress package changed. calling command
; "kix32.exe install.kix"
; to
; "c:\temp\ixp000.tmp\kix32.exe c:\temp\ixp000.tmp\install.kix".
; sometime actual drive isn't correct.
; 1.03 (20000730) - add HKCR registry entries to 'edit', 'run', 'run debug' + 'print' kixtart scripts.
; first it will removing existing HKCR registry entries.
; 1.04 (20001025) - update to kixtart 3.63
; 2.00 (20010320) - use %tmp% variable as temporary path.
; - use @curdir as location of "%temp%\ixp00?.tmp" directory.
; - use flexible "kix36?.ok" file.
; 2.01 (20010401) - kixtart 2001 beta1 compliancy
; - kix32.exe (= console-less version)
; - kix32c.exe (= console version)
; - introduction of "$debug_file"
; - introduction of "$update_ok". all kixtart files
; must be available at "$destination_directory".
; - check files
; - kix400.kix <= kix32.exe
; - kix400c.kix <= kix32c.exe (with "kix.console" file)
; - introduction of "$kix_console_mode".
; - additional information written to eventlog.
; 2.02 (20010605) - split script for with/without debugging.
; - activate $debug_mode when variable %kix-debug% is declared.
; - shows also @curdir value.
; - fix: for too late flushing write-buffers on windows95
; 2.03 (20011120) - add "windows XP"
; 2.04 (20011120) - additional information written to check-file about update/registry mode.
; 3.00 (20020110) - remove also .k2k & .udf registry keys by an update.
; 3.01 (20020410) - activate $show_mode when variable %kix-show% is declared.
; - remove other check-files (del "c:\kix*.ok").
; 3.02 (20020530) - convert "kixedit.reg" to internal code.
; - move "kedit.ico" to "%systemroot% directory. mostly "c:\windows" or
; "c:\winnt" directory.
; - change "c:\kix???.ok" location to "%systemroot\kix???.ok". prevent
; permission problems.
; for compatibility reasons we create both control files.
; 3.03 (20020530) - restyle check-file.
; - change "kixedit.reg" to "kedit.ico" as check.
;
; external variables kix-debug
; kix-show
;
$prgrm_version="3.03"
;
$tmp_directory=ExpandEnvironmentVars("%tmp%")
IF (Substr($tmp_directory,len($tmp_directory),1) <> "\")
$tmp_directory=$tmp_directory+"\"
ENDIF
;
$debug_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
$debug_mode="yes"
ENDIF
$show_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-show"+CHR(37))) <> 0)
$show_mode="yes"
ENDIF

; ---------------------------------------------------------------------------
; - site defined settings -
; ---------------------------------------------------------------------------

$debug_file=$tmp_directory+"kixtart.txt"

; ---------------------------------------------------------------------------
; - -
; ---------------------------------------------------------------------------

IF (@inwin = 1)
$NT_mode="yes"
ELSE
$NT_mode="no"
ENDIF
;
$os=""
$os_dos=@dos
SELECT
CASE ($NT_mode = "yes") AND ($os_dos = "5.1") ; - Windows XP -
$os="XP"
CASE ($NT_mode = "yes") AND ($os_dos = "5.0") ; - Windows 2000 -
$os="W2K"
CASE ($NT_mode = "yes") ; - Windows NT -
$os="NT4"
CASE ($NT_mode <> "yes") AND ($os_dos = "4.90") ; - Windows ME -
$os="ME"
CASE ($NT_mode <> "yes") AND ($os_dos = "4.10") ; - Windows 98 -
$os="W98"
CASE ($NT_mode <> "yes") AND ($os_dos = "4.0") ; - Windows 95 -
$os="W95"
CASE 1
$os="???" ; - undetermined -
ENDSELECT
$time_start=@time
;
IF ($debug_mode = "yes")
break on
del $debug_file
IF (RedirectOutput($debug_file,1) = 0)
ENDIF
$log_info="Kixtart-UPDATE "+$prgrm_version+" script started."
IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix")
ENDIF
ELSE
break off
del $debug_file
IF (RedirectOutput("nul",1) = 0)
ENDIF
ENDIF

IF ($debug_mode = "yes")
? "Kixtart "+@kix+" - "+$os+" debug mode (vs "+$prgrm_version+")"+" "+$time_start
?
ENDIF

; --------------------------------------------------------------------------
; - install kixtart at local workstation -
; - -
; - 1. calculates source/destination directory -
; - 2. check for update -
; - - GetFileSize -
; - - GetFileTime -
; - - GetFileVersion -
; - 3. update any kixtart file, when installed version isn't the same. -
; - first it removes unwanted fileattributes -
; - (hidden, readonly, system) -
; - 4a. create information file, which can be checked by batch -
; - procedure. it eliminates a unwanted download + installation. -
; - 4b. log update information to eventvwr log. -
; - -
; - call by installation procedure -
; - fe. "if not exist c:\kix362.ok %0\..\kix362update.exe /q" -
; - "if not exist c:\kix363.ok %0\..\kix363update.exe /q" -
; - "if not exist c:\kix400.ok %0\..\kix400update.exe /q" -
; - "if not exist c:\kix400w.ok %0\..\kix400update.exe /q" -
; --------------------------------------------------------------------------

$source_directory=@curdir
IF (Substr($source_directory,len($source_directory),1) <> "\")
$source_directory=$source_directory+"\"
ENDIF
IF ($NT_mode = "yes")
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows NT\currentversion", "SystemRoot")
ELSE
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion", "SystemRoot")
ENDIF
IF (len($destination_directory) = 0)
$destination_directory=@lanroot
ENDIF
IF (Substr($destination_directory,len($destination_directory),1) <> "\")
$destination_directory=$destination_directory+"\"
ENDIF
;
$kix_console_mode="no" ; - kix32.exe -
;
$max_kix_files=4
DIM $kix_files[$max_kix_files+1]
$kix_files[0]="kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok" ; - check file -
$kix_files[1]="kix32.exe"
$kix_files[2]="kx16.dll"
$kix_files[3]="kx32.dll"
$kix_files[4]="kx95.dll"
;
$first_installation="yes"
IF (Exist("c:\"+$kix_files[0]) = 1)
$first_installation="no"
ELSE
del "c:\kix*.ok" ; - other installed kixtart versions -
ENDIF
IF (Exist($destination_directory+$kix_files[0]) = 1)
$first_installation="no"
ELSE
del $destination_directory+"kix*.ok" ; - other installed kixtart versions -
ENDIF
;
$update="no"
$update_info=""
$i=1
WHILE ($i <= $max_kix_files)
$source_file=$source_directory+$kix_files[$i]
$destination_file=$destination_directory+$kix_files[$i]
IF (Exist($destination_file) = 1)
IF (setfileattr($destination_file, 128) <> 0)
ENDIF
IF ($debug_mode = "yes")
del $destination_file ; - activates an automatic update for debugging script -
ENDIF
ENDIF
$update="yes"
IF (Exist($source_file) = 1)
$update="no"
IF (GetFileSize($source_file) <> GetFileSize($destination_file))
$update="yes"
ENDIF
IF (GetFileTime($source_file) <> GetFileTime($destination_file))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"filedescription") <> GetFileVersion($destination_file,"filedescription"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"fileversion") <> GetFileVersion($destination_file,"fileversion"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"internalname") <> GetFileVersion($destination_file,"internalname"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"language") <> GetFileVersion($destination_file,"language"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"originalfilename") <> GetFileVersion($destination_file,"originalfilename"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"productname") <> GetFileVersion($destination_file,"productname"))
$update="yes"
ENDIF
ENDIF
;
IF ($update = "yes") OR ($debug_mode = "yes")
copy $source_file $destination_file /H
$update_info=$update_info+" +"+LCASE($kix_files[$i])
ELSE
$update_info=$update_info+" ="+LCASE($kix_files[$i])
ENDIF
IF (@error <> 0)
? "Warning INSTALL "+@error+": "+@serror
ENDIF
IF ($debug_mode = "yes")
? "Informative INSTALL: copy "+LCASE($source_file)+" "+LCASE($destination_file)
?
? " size.old = "+GetFileSize($source_file)
? " size.new = "+GetFileSize($destination_file)
? " time.old = "+GetFileTime($source_file)
? " time.new = "+GetFileTime($destination_file)
?
? " company name "+GetFileVersion($source_file,"company name")
? " filedescription "+GetFileVersion($source_file,"filedescription")
? " fileversion "+GetFileVersion($source_file,"fileversion")
? " internalname "+GetFileVersion($source_file,"internalname")
? " language "+GetFileVersion($source_file,"language")
? " legalcopyright "+GetFileVersion($source_file,"legalcopyright")
? " legaltrademarks "+GetFileVersion($source_file,"legaltrademarks")
? " originalfilename "+GetFileVersion($source_file,"originalfilename")
? " privatebuild "+GetFileVersion($source_file,"privatebuild")
? " productname "+GetFileVersion($source_file,"productname")
? " productversion "+GetFileVersion($source_file,"productversion")
? " specialbuild "+GetFileVersion($source_file,"specialbuild")
?
ENDIF
$i=$i+1
LOOP
;
IF ($debug_mode = "yes")
del "c:\"+$kix_files[0] ; - activates an automatic update for debugging script -
ENDIF
;
$update_ok="yes" ; - all kixtart files must be available at $destination_directory -
$i=1
WHILE ($i <= $max_kix_files)
$destination_file=$destination_directory+$kix_files[$i]
IF (Exist($destination_file) <> 1)
$update_ok="no"
$update_info=$update_info+" unknown_file."+LCASE($kix_files[$i])
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> unknown file")
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> unknown file")
ENDIF
ELSE
$build_info=GetFileVersion($destination_file,"specialbuild")
IF (len($build_info) <> 0)
$build_info=" ("+LCASE($build_info)+")"
ELSE
$build_info=""
ENDIF
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> "+GetFileTime($destination_file)+" "+GetFileSize($destination_file)+$build_info)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> "+GetFileTime($destination_file)+" "+GetFileSize($destination_file)+$build_info)
ENDIF
ENDIF
$i=$i+1
LOOP
IF ($update_ok = "yes")
$update_info="("+LTRIM(RTRIM(LCASE($update_info)))+") to "+'"'+LTRIM(RTRIM(LCASE($destination_directory)))+'"'
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", "KiXtart", "installation completed at "+@date+" "+@time+" "+$update_info)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart", "installation completed at "+@date+" "+@time+" "+$update_info)
ENDIF
ELSE
$update_info="("+LTRIM(RTRIM(LCASE($update_info)))+") to "+'"'+LTRIM(RTRIM(LCASE($destination_directory)))+'"'
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", "KiXtart", "installation incompleted at "+@date+" "+@time+" "+$update_info)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart", "installation incompleted at "+@date+" "+@time+" "+$update_info)
ENDIF
ENDIF
IF ($update_ok <> "yes")
IF (Exist("c:\"+$kix_files[0]) = 1)
IF ($debug_mode <> "yes")
del "c:\"+$kix_files[0] ; - kixtart version is incompleted -
ENDIF
ENDIF
ENDIF

; --------------------------------------------------------------------------
; - HKCR registry update -
; --------------------------------------------------------------------------

$ikey="HKEY_CLASSES_ROOT\.kix"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.k2k"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.scr"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.udf"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\kix32 document"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
;
IF (Exist($source_directory+"kedit.ico") = 1)
copy $source_directory+"kedit.ico" $destination_directory+"kedit.ico" /H
;
? "Informative INSTALL.KIX: creation of KIX file associations."
;
; - create Kixtart 3.6x/4.x registry entries
; - .kix, .k2k, .scr, .udf
; -
; - requirements: kix32.exe is available
; - options: %systemroot%\kedit.ico
; - editor of your choose f.e. notepad.exe
;
$nul=AddKey("HKEY_CLASSES_ROOT\.kix")
$nul=WriteValue("HKEY_CLASSES_ROOT\.kix","","kix32 document","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\.k2k")
$nul=WriteValue("HKEY_CLASSES_ROOT\.k2k","","kix32 document","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\.scr")
$nul=WriteValue("HKEY_CLASSES_ROOT\.scr","","kix32 document","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\.udf")
$nul=WriteValue("HKEY_CLASSES_ROOT\.udf","","kix32 document","REG_SZ")

$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document","","KiXtart","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\DefaultIcon")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\DefaultIcon","",LCASE($destination_directory+"kedit.ico"),"REG_SZ")

$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell","","Edit","REG_SZ")
; - open: Kix32 Run -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\open")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\open","","Kix32 &run","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\open\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\open\command","","kix32.exe %1","REG_SZ")
; - debug: Kix32 run with Debug -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\debug")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\debug","","Kix32 run with &debug","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\debug\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\debug\command","","kix32.exe %1 /d","REG_SZ")
; - edit: Edit -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\edit")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\edit","","&Edit","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\edit\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\edit\command","","notepad.exe %1","REG_SZ")
; - print: Print -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\print")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\print","","&Print","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\print\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\print\command","","notepad.exe /p %1","REG_SZ")
ENDIF
;
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", "KiXtart release", $os+" -> kix "+@kix)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart release", $os+" -> kix "+@kix)
ENDIF
IF (Exist($source_directory+"kedit.ico") = 1)
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", "KiXtart mode", "registry")
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart mode", "registry")
ENDIF
ELSE
IF WriteProfileString("c:\"+$kix_files[0], "KiXtart", "KiXtart mode", "update")
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart mode", "update")
ENDIF
ENDIF

; --------------------------------------------------------------------------
; - end -
; --------------------------------------------------------------------------

:end_script
$time_stop=@time
IF ($update = "yes")
$log_info="Kixtart-UPDATE "+$prgrm_version+" script completed successfully"
$log_info=$log_info+" ("+$time_start+" - "+$time_stop+") "+LTRIM(RTRIM($update_info))
IF ($kix_console_mode = "yes")
$log_info=$log_info+" (CONSOLE-LESS)"
ENDIF
IF ($debug_mode = "yes")
?
? " logevent = "+$log_info
?
ENDIF
IF ($update_ok = "yes")
IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix"+"c")
ENDIF
ELSE
IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix"+"e")
ENDIF
ENDIF
ENDIF
IF ($update_ok = "yes")
$update_ok=""
ELSE
$update_ok="in"
ENDIF
IF ($kix_console_mode = "yes")
? "Kixtart "+@kix+" (console-less) update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ELSE
? "Kixtart "+@kix+" update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ENDIF
IF (RedirectOutput("CON") = 0)
ENDIF
IF ($kix_console_mode = "yes")
? "Kixtart "+@kix+" (console-less) update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ELSE
? "Kixtart "+@kix+" update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ENDIF
?
IF ($debug_mode = "yes")
? "Informative INSTALL: create debug list '"+$debug_file+"'"
ELSE
? "Informative INSTALL: no creation of debug list '"+$debug_file+"'"
ENDIF
:end
IF ($show_mode = "yes")
$title="KiXtart "+@kix
$message=""
IF ($first_installation = "yes")
IF (Exist("c:\kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 1) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 1)
$message="Installation of KiXtart "+@kix+" completed"
ELSE
$message="Installation of KiXtart "+@kix+" incompleted"
ENDIF
ELSE
IF (Exist("c:\kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 0) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 0)
$message="Installation of KiXtart "+@kix+" incompleted"
ENDIF
ENDIF
? $message
IF (len($message) <> 0)
IF (Exist($source_directory+"kedit.ico") = 1)
$message=$message+" (registry mode)."
ELSE
$message=$message+" (update mode)."
ENDIF
IF (MessageBox($message, $title, 340, 15) <> 0)
ENDIF
ENDIF
ENDIF
break on
flushkb

greetings.

btw:
with the environment kix-debug specified you can see what above
temporary directory actually will contain.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#67686 - 2002-07-02 10:15 PM Re: Deployment of Kix Scripts
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear,

Take a look at the iexpress documentation we have created. It contains
the steps and input we are using for the creation of a new iexpress
update package.
Of course we doesn't have any problem with it to create your own version.

Possible problems with some of you are:
- we want to install only the file kix32.exe for the NTx environments.
- we want to install them on another location than the "c:\windows" or "c:\winnt"
directory (= %windir% directory).
- requirements for wkix402update are different.
Our point for above issues:
- all packages should work for all windows versions. also the newer one we doesn't
know yet.
- all packages should clear in their task. the defined environment variables are
more for the experience kixtart users.
- we must choose a location which will contain always the right rights.
- installation doesn't or may not required additional actions before it comes
active. f.e.your script can return unexpected result when your kixtart binaries
are located in a new directory which isn't an element of the default PATH set-
ting .
- at least the other feedback influence it also.

Of course we are very interesting in the way you have implement your own
version.
Lonkero, can you mail me your version of "wkixcheck" and "wkixupdates".
Les, your ideas aren't gone. Still some things in our mail box. Your idea
about a separate script for creating or removing file associations we like. For
backwards compatibility it will take a little bit longer. It is high on our prio-
rity list by new update. New updates will created after the release of a new
kixtart release.
we keep kixupdate and wkixupdate as separate file for the general
users. For them it is very clear what will happen:
- wkixupdate will install "wkix32.exe"
- kixupdate will install "kix32.exe"
they don't like all kind of environment variables which can influence the
way of installation for all windows and kixtart versions.

greetings.

(TO_DO)
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#67687 - 2002-07-03 12:14 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA,

Thank you for your comments. However, I did not see any response with regard to %SYSTEMDRIVE% nor %SYSTEMROOT%.. Most of our client systems have C:\Winnt, which would be defined by the environment variable %WINDIR%. However, we have some Terminal Servers that use M: for %SYSTEMDRIVE% and M:\WTSRV for %SYSTEMROOT%, but %WINDIR% could be used in place of this..

Thanks again,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67688 - 2002-07-03 10:40 PM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA,

* BUMP *

You out there?

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67689 - 2002-07-04 03:07 AM Re: Deployment of Kix Scripts
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear Kent,

Yes, we are there. Not all the time. Please mail me or put the information
or question on the board.
greetings.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#67690 - 2002-07-07 02:49 AM Re: Deployment of Kix Scripts
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear Kent,

We will take a closer look at your mail this week.
greetings.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#67691 - 2002-07-07 07:43 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA,

I hope I sent you enough information. If not, please let me know.

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67692 - 2002-07-16 01:33 PM Re: Deployment of Kix Scripts
MCA Offline
KiX Supporter
*****

Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
Dear Kent,

With some delay we will start now with your information. Tonight you will receive our
first reaction on it.
greetings.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#67693 - 2002-07-25 02:23 PM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA,

Have you had a chance to look at this? I tried the kix410update.exe on our Test Citrix system and still appears to not work properly.

Per the information sent, the %SYSTEMDRIVE% is not C:, but rather M: and windows %SYSTEMROOT% or %WINDIR% is not C:\WINNT but rather M:\WTSRV.. This also begs the next question.. What if you "hide" the OS drive from the user via policy. Are there issues with that too?

Thank you,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67694 - 2002-07-26 06:52 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA,

Did you get the e-mail I sent you earlier today on this?

Thanks,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67695 - 2002-07-26 07:10 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA/Everybody,

[Big Grin] [Big Grin] [Big Grin]

Here is the new version that works with Terminal Server/Citrix. It is not constrained to a C: Drive anymore. [Smile]

Using the Packager/instructions on MCA's Site, this works great!!

install.kix

code:
  CLS
IF setconsole("hide")
ENDIF
;
; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10
;
; (c) scripting@wanadoo.nl - 2000, 2001, 2002
;
; vs 1.01 - program
;
; 1.00 (20010605) original version. created for IExpress package.
; - split script for with/without debugging.
; - activate $debug_mode when variable %kix-debug% is declared.
; - shows also @curdir value.
; 1.01 (20020725) - Change to used Environment variables and not just C: or C:\Winnt.
;
$prgrm_version="1.01"

; -- Modification - Kent Dyer
; -- Change to make this work for any drive including C:
; -- 25 - July 2002
IF (@inwin = 1) ; -- Is it Winnt/2K/XP?
$windir = READVALUE("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion","SystemRoot")
ELSE
$windir = READVALUE("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","SystemRoot")
ENDIF
$systemdrive = SUBSTR($windir,1,3) ; -- This will show C:\ or M:\ or what drive windows is installed on
;
$debug_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
$debug_mode="yes"
ENDIF
;
IF ($debug_mode = "yes")
$message="Installation of Kixtart "+@kix+" started from '"+LCASE(@curdir)+"'."
$title="Kixtart "+@kix
IF (MessageBox($message, $title, 340, 300) <> 0)
ENDIF
? $message
ENDIF
IF ($debug_mode <> "yes")
call "start1.kix"
ELSE
call "start2.kix"
ENDIF
:end
IF (RedirectOutput("CON") = 0)
ENDIF
$debug_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
$debug_mode="yes"
ENDIF
;
IF ($debug_mode <> "yes")
? "Informative INSTALL: no creation of debug list $systemdrive+'kixtart.log'"
ELSE
? "Informative INSTALL: create debug list $systemdrive+'kixtart.log'"
IF (Exist($systemdrive+"kix"+substr(@kix,1,1)+substr(@kix,3,2)+".ok") = 1)
$message="Installation of Kixtart "+@kix+" completed from '"+LCASE(@curdir)+"'."
$message=$message+" File '"+UCASE("kix"+substr(@kix,1,1)+substr(@kix,3,2)+".ok")+"' created."
ELSE
$message="Installation of Kixtart "+@kix+" incompleted from '"+LCASE(@curdir)+"'."
$message=$message+" No file '"+UCASE("kix"+substr(@kix,1,1)+substr(@kix,3,2)+".ok")+"' created."
ENDIF
$title="Kixtart "+@kix
IF (MessageBox($message, $title, 340, 300) <> 0)
ENDIF
? $message
ENDIF
break on
flushkb

start1.kix

code:
  cls
break on
IF setconsole("hide")
ENDIF
;
; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10
;
; (c) scripting@wanadoo.nl - 2000, 2001, 2002
;
; vs 3.04 - program
;
; 1.00 (20000715) original version. created for IExpress package.
; 1.01 (20000715) - additional information written to check-file.
; 1.02 (20000715) - additional information about starting script.
; system tries to find $systemdrive+"\temp\kixtart.dbg" file, which will
; create a info file $systemdrive+"\temp\kixtart.txt".
; automatic remove of $systemdrive+"\temp\kixtart.dbg" + $systemdrive+"\temp\kixtart.txt" by next run.
; - change "source_directory" to $systemdrive+"\temp\ixp000.tmp\",
; because "@curdir" is "@homeshr" directory.
; - CHANGE iexpress package changed. calling command
; "kix32.exe install.kix"
; to
; $systemdrive+"temp\ixp000.tmp\kix32.exe $systemdrive+temp\ixp000.tmp\install.kix".
; sometime actual drive isn't correct.
; 1.03 (20000730) - add HKCR registry entries to 'edit', 'run', 'run debug' + 'print' kixtart scripts.
; first it will removing existing HKCR registry entries.
; 1.04 (20001025) - update to kixtart 3.63
; 2.00 (20010320) - use %tmp% variable as temporary path.
; - use @curdir as location of "%temp%\ixp00?.tmp" directory.
; - use flexible "kix36?.ok" file.
; 2.01 (20010401) - kixtart 2001 beta1 compliancy
; - kix32.exe (= console-less version)
; - kix32c.exe (= console version)
; - introduction of "$debug_file"
; - introduction of "$update_ok". all kixtart files
; must be available at "$destination_directory".
; - check files
; - kix400.kix <= kix32.exe
; - kix400c.kix <= kix32c.exe (with "kix.console" file)
; - introduction of "$kix_console_mode".
; - additional information written to eventlog.
; 2.02 (20010605) - split script for with/without debugging.
; - activate $debug_mode when variable %kix-debug% is declared.
; - shows also @curdir value.
; - fix: for too late flushing write-buffers on windows95
; 2.03 (20011120) - add "windows XP"
; 2.04 (20011120) - additional information written to check-file about update/registry mode.
; 3.00 (20020110) - remove also .k2k & .udf registry keys by an update.
; 3.01 (20020410) - activate $show_mode when variable %kix-show% is declared.
; - remove other check-files (del $systemdrive+"kix*.ok").
; 3.02 (20020530) - convert "kixedit.reg" to internal code.
; - move "kedit.ico" to "%systemroot% directory. mostly $systemdrive+"windows" or
; $systemdrive+"winnt" directory.
; - change $systemdrive+"kix???.ok" location to "%systemroot\kix???.ok". prevent
; permission problems.
; for compatibility reasons we create both control files.
; 3.03 (20020530) - restyle check-file.
; - change "kixedit.reg" to "kedit.ico" as check.
; 3.04 (20020725) - Change to used Environment variables and not just C: or C:\Winnt.
;
; external variables kix-debug
; kix-show
;
$prgrm_version="3.03"
;
$tmp_directory=ExpandEnvironmentVars("%tmp%")
IF (Substr($tmp_directory,len($tmp_directory),1) <> "\")
$tmp_directory=$tmp_directory+"\"
ENDIF
;
$debug_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
$debug_mode="yes"
ENDIF
$show_mode="no"
IF (len(ExpandEnvironmentVars(CHR(37)+"kix-show"+CHR(37))) <> 0)
$show_mode="yes"
ENDIF

; ---------------------------------------------------------------------------
; - site defined settings -
; ---------------------------------------------------------------------------

$debug_file=$tmp_directory+"kixtart.txt"

; ---------------------------------------------------------------------------
; - -
; ---------------------------------------------------------------------------

IF (@inwin = 1)
$NT_mode="yes"
ELSE
$NT_mode="no"
ENDIF
;
$os=""
$os_dos=@dos
SELECT
CASE ($NT_mode = "yes") AND ($os_dos = "5.1") ; - Windows XP -
$os="XP"
CASE ($NT_mode = "yes") AND ($os_dos = "5.0") ; - Windows 2000 -
$os="W2K"
CASE ($NT_mode = "yes") ; - Windows NT -
$os="NT4"
CASE ($NT_mode <> "yes") AND ($os_dos = "4.90") ; - Windows ME -
$os="ME"
CASE ($NT_mode <> "yes") AND ($os_dos = "4.10") ; - Windows 98 -
$os="W98"
CASE ($NT_mode <> "yes") AND ($os_dos = "4.0") ; - Windows 95 -
$os="W95"
CASE 1
$os="???" ; - undetermined -
ENDSELECT
$time_start=@time
;
IF ($debug_mode = "yes")
break on
del $debug_file
IF (RedirectOutput($debug_file,1) = 0)
ENDIF
$log_info="Kixtart-UPDATE "+$prgrm_version+" script started."
IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix")
ENDIF
ELSE
break off
del $debug_file
IF (RedirectOutput("nul",1) = 0)
ENDIF
ENDIF

IF ($debug_mode = "yes")
? "Kixtart "+@kix+" - "+$os+" debug mode (vs "+$prgrm_version+")"+" "+$time_start
?
ENDIF

; --------------------------------------------------------------------------
; - install kixtart at local workstation -
; - -
; - 1. calculates source/destination directory -
; - 2. check for update -
; - - GetFileSize -
; - - GetFileTime -
; - - GetFileVersion -
; - 3. update any kixtart file, when installed version isn't the same. -
; - first it removes unwanted fileattributes -
; - (hidden, readonly, system) -
; - 4a. create information file, which can be checked by batch -
; - procedure. it eliminates a unwanted download + installation. -
; - 4b. log update information to eventvwr log. -
; - -
; - call by installation procedure -
; - fe. "if not exist $systemdrive+kix362.ok %0\..\kix362update.exe /q" -
; - "if not exist $systemdrive+kix363.ok %0\..\kix363update.exe /q" -
; - "if not exist $systemdrive+"kix400.ok %0\..\kix400update.exe /q" -
; - "if not exist $systemdrive+"kix400w.ok %0\..\kix400update.exe /q" -
; --------------------------------------------------------------------------

$source_directory=@curdir
IF (Substr($source_directory,len($source_directory),1) <> "\")
$source_directory=$source_directory+"\"
ENDIF
IF ($NT_mode = "yes")
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows NT\currentversion", "SystemRoot")
ELSE
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion", "SystemRoot")
ENDIF
IF (len($destination_directory) = 0)
$destination_directory=@lanroot
ENDIF
IF (Substr($destination_directory,len($destination_directory),1) <> "\")
$destination_directory=$destination_directory+"\"
ENDIF
;
$kix_console_mode="no" ; - kix32.exe -
;
$max_kix_files=4
DIM $kix_files[$max_kix_files+1]
$kix_files[0]="kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok" ; - check file -
$kix_files[1]="kix32.exe"
$kix_files[2]="kx16.dll"
$kix_files[3]="kx32.dll"
$kix_files[4]="kx95.dll"
;
$first_installation="yes"
IF (Exist($systemdrive+$kix_files[0]) = 1)
$first_installation="no"
ELSE
del $systemdrive+"kix*.ok" ; - other installed kixtart versions -
ENDIF
IF (Exist($destination_directory+$kix_files[0]) = 1)
$first_installation="no"
ELSE
del $destination_directory+"kix*.ok" ; - other installed kixtart versions -
ENDIF
;
$update="no"
$update_info=""
$i=1
WHILE ($i <= $max_kix_files)
$source_file=$source_directory+$kix_files[$i]
$destination_file=$destination_directory+$kix_files[$i]
IF (Exist($destination_file) = 1)
IF (setfileattr($destination_file, 128) <> 0)
ENDIF
IF ($debug_mode = "yes")
del $destination_file ; - activates an automatic update for debugging script -
ENDIF
ENDIF
$update="yes"
IF (Exist($source_file) = 1)
$update="no"
IF (GetFileSize($source_file) <> GetFileSize($destination_file))
$update="yes"
ENDIF
IF (GetFileTime($source_file) <> GetFileTime($destination_file))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"filedescription") <> GetFileVersion($destination_file,"filedescription"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"fileversion") <> GetFileVersion($destination_file,"fileversion"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"internalname") <> GetFileVersion($destination_file,"internalname"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"language") <> GetFileVersion($destination_file,"language"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"originalfilename") <> GetFileVersion($destination_file,"originalfilename"))
$update="yes"
ENDIF
IF (GetFileVersion($source_file,"productname") <> GetFileVersion($destination_file,"productname"))
$update="yes"
ENDIF
ENDIF
;
IF ($update = "yes") OR ($debug_mode = "yes")
copy $source_file $destination_file /H
$update_info=$update_info+" +"+LCASE($kix_files[$i])
ELSE
$update_info=$update_info+" ="+LCASE($kix_files[$i])
ENDIF
IF (@error <> 0)
? "Warning INSTALL "+@error+": "+@serror
ENDIF
IF ($debug_mode = "yes")
? "Informative INSTALL: copy "+LCASE($source_file)+" "+LCASE($destination_file)
?
? " size.old = "+GetFileSize($source_file)
? " size.new = "+GetFileSize($destination_file)
? " time.old = "+GetFileTime($source_file)
? " time.new = "+GetFileTime($destination_file)
?
? " company name "+GetFileVersion($source_file,"company name")
? " filedescription "+GetFileVersion($source_file,"filedescription")
? " fileversion "+GetFileVersion($source_file,"fileversion")
? " internalname "+GetFileVersion($source_file,"internalname")
? " language "+GetFileVersion($source_file,"language")
? " legalcopyright "+GetFileVersion($source_file,"legalcopyright")
? " legaltrademarks "+GetFileVersion($source_file,"legaltrademarks")
? " originalfilename "+GetFileVersion($source_file,"originalfilename")
? " privatebuild "+GetFileVersion($source_file,"privatebuild")
? " productname "+GetFileVersion($source_file,"productname")
? " productversion "+GetFileVersion($source_file,"productversion")
? " specialbuild "+GetFileVersion($source_file,"specialbuild")
?
ENDIF
$i=$i+1
LOOP
;
IF ($debug_mode = "yes")
del $systemdrive+$kix_files[0] ; - activates an automatic update for debugging script -
ENDIF
;
$update_ok="yes" ; - all kixtart files must be available at $destination_directory -
$i=1
WHILE ($i <= $max_kix_files)
$destination_file=$destination_directory+$kix_files[$i]
IF (Exist($destination_file) <> 1)
$update_ok="no"
$update_info=$update_info+" unknown_file."+LCASE($kix_files[$i])
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> unknown file")
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> unknown file")
ENDIF
ELSE
$build_info=GetFileVersion($destination_file,"specialbuild")
IF (len($build_info) <> 0)
$build_info=" ("+LCASE($build_info)+")"
ELSE
$build_info=""
ENDIF
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> "+GetFileTime($destination_file)+" "+GetFileSize($destination_file)+$build_info)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", LCASE($kix_files[$i]), @date+" "+@time+" -> "+GetFileTime($destination_file)+" "+GetFileSize($destination_file)+$build_info)
ENDIF
ENDIF
$i=$i+1
LOOP
IF ($update_ok = "yes")
$update_info="("+LTRIM(RTRIM(LCASE($update_info)))+") to "+'"'+LTRIM(RTRIM(LCASE($destination_directory)))+'"'
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", "KiXtart", "installation completed at "+@date+" "+@time+" "+$update_info)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart", "installation completed at "+@date+" "+@time+" "+$update_info)
ENDIF
ELSE
$update_info="("+LTRIM(RTRIM(LCASE($update_info)))+") to "+'"'+LTRIM(RTRIM(LCASE($destination_directory)))+'"'
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", "KiXtart", "installation incompleted at "+@date+" "+@time+" "+$update_info)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart", "installation incompleted at "+@date+" "+@time+" "+$update_info)
ENDIF
ENDIF
IF ($update_ok <> "yes")
IF (Exist($systemdrive+$kix_files[0]) = 1)
IF ($debug_mode <> "yes")
del $systemdrive+$kix_files[0] ; - kixtart version is incompleted -
ENDIF
ENDIF
ENDIF

; --------------------------------------------------------------------------
; - HKCR registry update -
; --------------------------------------------------------------------------

$ikey="HKEY_CLASSES_ROOT\.kix"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.k2k"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.scr"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.udf"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\kix32 document"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL.KIX "+@error+": "+@serror
ENDIF
ENDIF
;
IF (Exist($source_directory+"kedit.ico") = 1)
copy $source_directory+"kedit.ico" $destination_directory+"kedit.ico" /H
;
? "Informative INSTALL.KIX: creation of KIX file associations."
;
; - create Kixtart 3.6x/4.x registry entries
; - .kix, .k2k, .scr, .udf
; -
; - requirements: kix32.exe is available
; - options: %systemroot%\kedit.ico
; - editor of your choose f.e. notepad.exe
;
$nul=AddKey("HKEY_CLASSES_ROOT\.kix")
$nul=WriteValue("HKEY_CLASSES_ROOT\.kix","","kix32 document","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\.k2k")
$nul=WriteValue("HKEY_CLASSES_ROOT\.k2k","","kix32 document","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\.scr")
$nul=WriteValue("HKEY_CLASSES_ROOT\.scr","","kix32 document","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\.udf")
$nul=WriteValue("HKEY_CLASSES_ROOT\.udf","","kix32 document","REG_SZ")

$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document","","KiXtart","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\DefaultIcon")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\DefaultIcon","",LCASE($destination_directory+"kedit.ico"),"REG_SZ")

$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell","","Edit","REG_SZ")
; - open: Kix32 Run -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\open")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\open","","Kix32 &run","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\open\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\open\command","","kix32.exe %1","REG_SZ")
; - debug: Kix32 run with Debug -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\debug")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\debug","","Kix32 run with &debug","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\debug\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\debug\command","","kix32.exe %1 /d","REG_SZ")
; - edit: Edit -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\edit")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\edit","","&Edit","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\edit\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\edit\command","","notepad.exe %1","REG_SZ")
; - print: Print -
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\print")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\print","","&Print","REG_SZ")
$nul=AddKey("HKEY_CLASSES_ROOT\kix32 document\Shell\print\command")
$nul=WriteValue("HKEY_CLASSES_ROOT\kix32 document\Shell\print\command","","notepad.exe /p %1","REG_SZ")
ENDIF
;
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", "KiXtart release", $os+" -> kix "+@kix)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart release", $os+" -> kix "+@kix)
ENDIF
IF (Exist($source_directory+"kedit.ico") = 1)
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", "KiXtart mode", "registry")
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart mode", "registry")
ENDIF
ELSE
IF WriteProfileString($systemdrive+$kix_files[0], "KiXtart", "KiXtart mode", "update")
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart mode", "update")
ENDIF
ENDIF

; --------------------------------------------------------------------------
; - end -
; --------------------------------------------------------------------------

:end_script
$time_stop=@time
IF ($update = "yes")
$log_info="Kixtart-UPDATE "+$prgrm_version+" script completed successfully"
$log_info=$log_info+" ("+$time_start+" - "+$time_stop+") "+LTRIM(RTRIM($update_info))
IF ($kix_console_mode = "yes")
$log_info=$log_info+" (CONSOLE-LESS)"
ENDIF
IF ($debug_mode = "yes")
?
? " logevent = "+$log_info
?
ENDIF
IF ($update_ok = "yes")
IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix"+"c")
ENDIF
ELSE
IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix"+"e")
ENDIF
ENDIF
ENDIF
IF ($update_ok = "yes")
$update_ok=""
ELSE
$update_ok="in"
ENDIF
IF ($kix_console_mode = "yes")
? "Kixtart "+@kix+" (console-less) update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ELSE
? "Kixtart "+@kix+" update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ENDIF
IF (RedirectOutput("CON") = 0)
ENDIF
IF ($kix_console_mode = "yes")
? "Kixtart "+@kix+" (console-less) update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ELSE
? "Kixtart "+@kix+" update "+$update_ok+"completed. ('"+$source_directory+"' -> '"+$destination_directory+"')"
ENDIF
?
IF ($debug_mode = "yes")
? "Informative INSTALL: create debug list '"+$debug_file+"'"
ELSE
? "Informative INSTALL: no creation of debug list '"+$debug_file+"'"
ENDIF
:end
IF ($show_mode = "yes")
$title="KiXtart "+@kix
$message=""
IF ($first_installation = "yes")
IF (Exist($systemdrive+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 1) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 1)
$message="Installation of KiXtart "+@kix+" completed"
ELSE
$message="Installation of KiXtart "+@kix+" incompleted"
ENDIF
ELSE
IF (Exist($systemdrive+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 0) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 0)
$message="Installation of KiXtart "+@kix+" incompleted"
ENDIF
ENDIF
? $message
IF (len($message) <> 0)
IF (Exist($source_directory+"kedit.ico") = 1)
$message=$message+" (registry mode)."
ELSE
$message=$message+" (update mode)."
ENDIF
IF (MessageBox($message, $title, 340, 15) <> 0)
ENDIF
ENDIF
ENDIF
break on
flushkb

start2.kix is debug file..
code:
                                            CLS
COLOR C+/N
AT (1,1) " "
$tmp_directory=ExpandEnvironmentVars("%tmp%")
IF (Substr($tmp_directory,len($tmp_directory),1) <> "\")
$tmp_directory=$tmp_directory+"\"
ENDIF
IF RedirectOutput($tmp_directory+"kixdebug.txt")
ENDIF
;
? "-"+LCASE(@day)+" "+@date+" "+@time+"- kixtart "+@kix+"/3.04e script starting."
? "-"
? "-curdir: "+LCASE(@curdir)
? "-scriptdir: "+LCASE(@scriptdir)
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
? "-scriptname: "+LCASE(@scriptname)
ENDIF
? "-startdir: "+LCASE(@startdir)
? "-"
? "-userid: "+LCASE(@userid)+"/"+LCASE(@wuserid)
? "-user priv: "+LCASE(@priv)
IF (instr("-4.xx-","-"+substr(@kix,1,2)+"xx-") <> 0)
? "-version: inwin="+@inwin+"/dos="+@dos"/productsuite="+@productsuite+"/producttype="+@producttype"/csd="+LTRIM(RTRIM(@csd))
ELSE
? "-version: inwin="+@inwin+"/dos="+@dos
ENDIF
? "-"
?"- start-"+@time+"- @error @serror "?

?"- 1-"+@time+"- @error @serror "? CLS
?"- 2-"+@time+"- @error @serror "? BREAK ON
?"- 3-"+@time+"- @error @serror "? IF setconsole("hide")
?"- 4-"+@time+"- @error @serror "? ENDIF
?"- 5-"+@time+"- @error @serror "? ;
?"- 6-"+@time+"- @error @serror "? ; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10
?"- 7-"+@time+"- @error @serror "? ;
?"- 8-"+@time+"- @error @serror "? ; (c) scripting@wanadoo.nl - 2000, 2001, 2002
?"- 9-"+@time+"- @error @serror "? ;
?"- 10-"+@time+"- @error @serror "? ; vs 3.03 - program
?"- 11-"+@time+"- @error @serror "? ;
?"- 12-"+@time+"- @error @serror "? ; 1.00 (20000715) original version. created for IExpress package.
?"- 13-"+@time+"- @error @serror "? ; 1.01 (20000715) - additional information written to check-file.
?"- 14-"+@time+"- @error @serror "? ; 1.02 (20000715) - additional information about starting script.
?"- 15-"+@time+"- @error @serror "? ; system tries to find $systemdrive+"temp\kixtart.dbg" file, which will
?"- 16-"+@time+"- @error @serror "? ; create a info file $systemdrive+"temp\kixtart.txt".
?"- 17-"+@time+"- @error @serror "? ; automatic remove of $systemdrive+"temp\kixtart.dbg" + $systemdrive+"temp\kixtart.txt" by next run.
?"- 18-"+@time+"- @error @serror "? ; - change "source_directory" to $systemdrive+"temp\ixp000.tmp\",
?"- 19-"+@time+"- @error @serror "? ; because "@curdir" is "@homeshr" directory.
?"- 20-"+@time+"- @error @serror "? ; - CHANGE iexpress package changed. calling command
?"- 21-"+@time+"- @error @serror "? ; "kix32.exe install.kix"
?"- 22-"+@time+"- @error @serror "? ; to
?"- 23-"+@time+"- @error @serror "? ; $systemdrive+"temp\ixp000.tmp\kix32.exe $systemdrive+temp\ixp000.tmp\install.kix".
?"- 24-"+@time+"- @error @serror "? ; sometime actual drive isn't correct.
?"- 25-"+@time+"- @error @serror "? ; 1.03 (20000730) - add HKCR registry entries to 'edit', 'run', 'run debug' + 'print' kixtart scripts.
?"- 26-"+@time+"- @error @serror "? ; first it will removing existing HKCR registry entries.
?"- 27-"+@time+"- @error @serror "? ; 1.04 (20001025) - update to kixtart 3.63
?"- 28-"+@time+"- @error @serror "? ; 2.00 (20010320) - use %tmp% variable as temporary path.
?"- 29-"+@time+"- @error @serror "? ; - use @curdir as location of "%temp%\ixp00?.tmp" directory.
?"- 30-"+@time+"- @error @serror "? ; - use flexible "kix36?.ok" file.
?"- 31-"+@time+"- @error @serror "? ; 2.01 (20010401) - kixtart 2001 beta1 compliancy
?"- 32-"+@time+"- @error @serror "? ; - kix32.exe (= console-less version)
?"- 33-"+@time+"- @error @serror "? ; - kix32c.exe (= console version)
?"- 34-"+@time+"- @error @serror "? ; - introduction of "$debug_file"
?"- 35-"+@time+"- @error @serror "? ; - introduction of "$update_ok". all kixtart files
?"- 36-"+@time+"- @error @serror "? ; must be available at "$destination_directory".
?"- 37-"+@time+"- @error @serror "? ; - check files
?"- 38-"+@time+"- @error @serror "? ; - kix400.kix <= kix32.exe
?"- 39-"+@time+"- @error @serror "? ; - kix400c.kix <= kix32c.exe (with "kix.console" file)
?"- 40-"+@time+"- @error @serror "? ; - introduction of "$kix_console_mode".
?"- 41-"+@time+"- @error @serror "? ; - additional information written to eventlog.
?"- 42-"+@time+"- @error @serror "? ; 2.02 (20010605) - split script for with/without debugging.
?"- 43-"+@time+"- @error @serror "? ; - activate $debug_mode when variable %kix-debug% is declared.
?"- 44-"+@time+"- @error @serror "? ; - shows also @curdir value.
?"- 45-"+@time+"- @error @serror "? ; - fix: for too late flushing write-buffers on windows95
?"- 46-"+@time+"- @error @serror "? ; 2.03 (20011120) - add "windows XP"
?"- 47-"+@time+"- @error @serror "? ; 2.04 (20011120) - additional information written to check-file about update/registry mode.
?"- 48-"+@time+"- @error @serror "? ; 3.00 (20020110) - remove also .k2k & .udf registry keys by an update.
?"- 49-"+@time+"- @error @serror "? ; 3.01 (20020410) - activate $show_mode when variable %kix-show% is declared.
?"- 50-"+@time+"- @error @serror "? ; - remove other check-files (del $systemdrive+"kix*.ok").
?"- 51-"+@time+"- @error @serror "? ; 3.02 (20020530) - convert "kixedit.reg" to internal code.
?"- 52-"+@time+"- @error @serror "? ; - move "kedit.ico" to "%systemroot% directory. mostly $systemdrive+"windows" or
?"- 53-"+@time+"- @error @serror "? ; $systemdrive+"winnt" directory.
?"- 54-"+@time+"- @error @serror "? ; - change $systemdrive+"kix???.ok" location to "%systemroot\kix???.ok". prevent
?"- 55-"+@time+"- @error @serror "? ; permission problems.
?"- 56-"+@time+"- @error @serror "? ; for compatibility reasons we create both control files.
?"- 57-"+@time+"- @error @serror "? ; 3.03 (20020530) - restyle check-file.
?"- 58-"+@time+"- @error @serror "? ; - change "kixedit.reg" to "kedit.ico" as check.
?"- 59-"+@time+"- @error @serror "? ;
?"- 60-"+@time+"- @error @serror "? ; external variables kix-debug
?"- 61-"+@time+"- @error @serror "? ; kix-show
?"- 62-"+@time+"- @error @serror "? ;
?"- 63-"+@time+"- @error @serror "? $prgrm_version="3.04"
?"- 64-"+@time+"- @error @serror "? ;
?"- 65-"+@time+"- @error @serror "? $tmp_directory=ExpandEnvironmentVars("%tmp%")
?"- 66-"+@time+"- @error @serror "? IF (Substr($tmp_directory,len($tmp_directory),1) <> "\")
?"- 67-"+@time+"- @error @serror "? $tmp_directory=$tmp_directory+"\"
?"- 68-"+@time+"- @error @serror "? ENDIF
?"- 69-"+@time+"- @error @serror "? ;
?"- 70-"+@time+"- @error @serror "? $debug_mode="no"
?"- 71-"+@time+"- @error @serror "? IF (len(ExpandEnvironmentVars(CHR(37)+"kix-debug"+CHR(37))) <> 0)
?"- 72-"+@time+"- @error @serror "? $debug_mode="yes"
?"- 73-"+@time+"- @error @serror "? ENDIF
?"- 74-"+@time+"- @error @serror "? $show_mode="no"
?"- 75-"+@time+"- @error @serror "? IF (len(ExpandEnvironmentVars(CHR(37)+"kix-show"+CHR(37))) <> 0)
?"- 76-"+@time+"- @error @serror "? $show_mode="yes"
?"- 77-"+@time+"- @error @serror "? ENDIF
?"- 78-"+@time+"- @error @serror "?
?"- 79-"+@time+"- @error @serror "? ; ---------------------------------------------------------------------------
?"- 80-"+@time+"- @error @serror "? ; - site defined settings -
?"- 81-"+@time+"- @error @serror "? ; ---------------------------------------------------------------------------
?"- 82-"+@time+"- @error @serror "?
?"- 83-"+@time+"- @error @serror "? $debug_file=$tmp_directory+"kixtart.txt"
?"- 84-"+@time+"- @error @serror "?
?"- 85-"+@time+"- @error @serror "? ; ---------------------------------------------------------------------------
?"- 86-"+@time+"- @error @serror "? ; - -
?"- 87-"+@time+"- @error @serror "? ; ---------------------------------------------------------------------------
?"- 88-"+@time+"- @error @serror "?
?"- 89-"+@time+"- @error @serror "? IF (@inwin = 1)
?"- 90-"+@time+"- @error @serror "? $nt_mode="yes"
?"- 91-"+@time+"- @error @serror "? ELSE
?"- 92-"+@time+"- @error @serror "? $nt_mode="no"
?"- 93-"+@time+"- @error @serror "? ENDIF
?"- 94-"+@time+"- @error @serror "? ;
?"- 95-"+@time+"- @error @serror "? $os=""
?"- 96-"+@time+"- @error @serror "? $os_dos=@dos
?"- 97-"+@time+"- @error @serror "? SELECT
?"- 98-"+@time+"- @error @serror "? CASE
($nt_mode = "yes") AND ($os_dos = "5.1") ; - Windows XP -
?"- 99-"+@time+"- @error @serror "? $os="XP"
?"- 100-"+@time+"- @error @serror "? CASE
($nt_mode = "yes") AND ($os_dos = "5.0") ; - Windows 2000 -
?"- 101-"+@time+"- @error @serror "? $os="W2K"
?"- 102-"+@time+"- @error @serror "? CASE
($nt_mode = "yes") ; - Windows NT -
?"- 103-"+@time+"- @error @serror "? $os="NT4"
?"- 104-"+@time+"- @error @serror "? CASE
($nt_mode <> "yes") AND ($os_dos = "4.90") ; - Windows ME -
?"- 105-"+@time+"- @error @serror "? $os="ME"
?"- 106-"+@time+"- @error @serror "? CASE
($nt_mode <> "yes") AND ($os_dos = "4.10") ; - Windows 98 -
?"- 107-"+@time+"- @error @serror "? $os="W98"
?"- 108-"+@time+"- @error @serror "? CASE
($nt_mode <> "yes") AND ($os_dos = "4.0") ; - Windows 95 -
?"- 109-"+@time+"- @error @serror "? $os="W95"
?"- 110-"+@time+"- @error @serror "? CASE
1
?"- 111-"+@time+"- @error @serror "? $os="???" ; - undetermined -
?"- 112-"+@time+"- @error @serror "? ENDSELECT
?"- 113-"+@time+"- @error @serror "? $time_start=@time
?"- 114-"+@time+"- @error @serror "? ;
?"- 115-"+@time+"- @error @serror "? IF ($debug_mode = "yes")
?"- 116-"+@time+"- @error @serror "? BREAK ON
?"- 117-"+@time+"- @error @serror "? DEL $debug_file
?"- 118-"+@time+"- @error @serror "? ; IF (RedirectOutput($debug_file,1) = 0)
?"- 119-"+@time+"- @error @serror "? ; ENDIF
?"- 120-"+@time+"- @error @serror "? $log_info="Kixtart-UPDATE "+$prgrm_version+" script started."
?"- 121-"+@time+"- @error @serror "? IF logevent(0, 1, $log_info, "", "Kixtart UPDATE @kix")
?"- 122-"+@time+"- @error @serror "? ENDIF
?"- 123-"+@time+"- @error @serror "? ELSE
?"- 124-"+@time+"- @error @serror "? BREAK OFF
?"- 125-"+@time+"- @error @serror "? DEL $debug_file
?"- 126-"+@time+"- @error @serror "? ; IF (RedirectOutput("nul",1) = 0)
?"- 127-"+@time+"- @error @serror "? ; ENDIF
?"- 128-"+@time+"- @error @serror "? ENDIF
?"- 129-"+@time+"- @error @serror "?
?"- 130-"+@time+"- @error @serror "? IF ($debug_mode = "yes")
?"- 131-"+@time+"- @error @serror "? ? "Kixtart "+@kix+" - "+$os+" debug mode (vs "+$prgrm_version+")"+" "+$time_start
?"- 132-"+@time+"- @error @serror "? ?
?"- 133-"+@time+"- @error @serror "? ENDIF
?"- 134-"+@time+"- @error @serror "?
?"- 135-"+@time+"- @error @serror "? ; --------------------------------------------------------------------------
?"- 136-"+@time+"- @error @serror "? ; - install kixtart at local workstation -
?"- 137-"+@time+"- @error @serror "? ; - -
?"- 138-"+@time+"- @error @serror "? ; - 1. calculates source/destination directory -
?"- 139-"+@time+"- @error @serror "? ; - 2. check for update -
?"- 140-"+@time+"- @error @serror "? ; - - GetFileSize -
?"- 141-"+@time+"- @error @serror "? ; - - GetFileTime -
?"- 142-"+@time+"- @error @serror "? ; - - GetFileVersion -
?"- 143-"+@time+"- @error @serror "? ; - 3. update any kixtart file, when installed version isn't the same. -
?"- 144-"+@time+"- @error @serror "? ; - first it removes unwanted fileattributes -
?"- 145-"+@time+"- @error @serror "? ; - (hidden, readonly, system) -
?"- 146-"+@time+"- @error @serror "? ; - 4a. create information file, which can be checked by batch -
?"- 147-"+@time+"- @error @serror "? ; - procedure. it eliminates a unwanted download + installation. -
?"- 148-"+@time+"- @error @serror "? ; - 4b. log update information to eventvwr log. -
?"- 149-"+@time+"- @error @serror "? ; - -
?"- 150-"+@time+"- @error @serror "? ; - call by installation procedure -
?"- 151-"+@time+"- @error @serror "? ; - fe. "if not exist $systemdrive+kix362.ok %0\..\kix362update.exe /q" -
?"- 152-"+@time+"- @error @serror "? ; - "if not exist $systemdrive+kix363.ok %0\..\kix363update.exe /q" -
?"- 153-"+@time+"- @error @serror "? ; - "if not exist $systemdrive+kix400.ok %0\..\kix400update.exe /q" -
?"- 154-"+@time+"- @error @serror "? ; - "if not exist $systemdrive+kix400w.ok %0\..\kix400update.exe /q" -
?"- 155-"+@time+"- @error @serror "? ; --------------------------------------------------------------------------
?"- 156-"+@time+"- @error @serror "?
?"- 157-"+@time+"- @error @serror "? $source_directory=@curdir
?"- 158-"+@time+"- @error @serror "? IF (Substr($source_directory,len($source_directory),1) <> "\")
?"- 159-"+@time+"- @error @serror "? $source_directory=$source_directory+"\"
?"- 160-"+@time+"- @error @serror "? ENDIF
?"- 161-"+@time+"- @error @serror "? IF ($nt_mode = "yes")
?"- 162-"+@time+"- @error @serror "? $destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows NT\currentversion", "SystemRoot")
?"- 163-"+@time+"- @error @serror "? ELSE
?"- 164-"+@time+"- @error @serror "? $destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion", "SystemRoot")
?"- 165-"+@time+"- @error @serror "? ENDIF
?"- 166-"+@time+"- @error @serror "? IF (len($destination_directory) = 0)
?"- 167-"+@time+"- @error @serror "? $destination_directory=@lanroot
?"- 168-"+@time+"- @error @serror "? ENDIF
?"- 169-"+@time+"- @error @serror "? IF (Substr($destination_directory,len($destination_directory),1) <> "\")
?"- 170-"+@time+"- @error @serror "? $destination_directory=$destination_directory+"\"
?"- 171-"+@time+"- @error @serror "? ENDIF
?"- 172-"+@time+"- @error @serror "? ;
?"- 173-"+@time+"- @error @serror "? $kix_console_mode="no" ; - kix32.exe -
?"- 174-"+@time+"- @error @serror "? ;
?"- 175-"+@time+"- @error @serror "? $max_kix_files=4
?"- 176-"+@time+"- @error @serror "? DIM $kix_files[$max_kix_files+1]
?"- 177-"+@time+"- @error @serror "? $kix_files[0]="kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok" ; - check file -
?"- 178-"+@time+"- @error @serror "? $kix_files[1]="kix32.exe"
?"- 179-"+@time+"- @error @serror "? $kix_files[2]="kx16.dll"
?"- 180-"+@time+"- @error @serror "? $kix_files[3]="kx32.dll"
?"- 181-"+@time+"- @error @serror "? $kix_files[4]="kx95.dll"
?"- 182-"+@time+"- @error @serror "? ;
?"- 183-"+@time+"- @error @serror "? $first_installation="yes"
?"- 184-"+@time+"- @error @serror "? IF (Exist($systemdrive+$kix_files[0]) = 1)
?"- 185-"+@time+"- @error @serror "? $first_installation="no"
?"- 186-"+@time+"- @error @serror "? ELSE
?"- 187-"+@time+"- @error @serror "? DEL $systemdrive+"kix*.ok" ; - other installed kixtart versions -
?"- 188-"+@time+"- @error @serror "? ENDIF
?"- 189-"+@time+"- @error @serror "? IF (Exist($destination_directory+$kix_files[0]) = 1)
?"- 190-"+@time+"- @error @serror "? $first_installation="no"
?"- 191-"+@time+"- @error @serror "? ELSE
?"- 192-"+@time+"- @error @serror "? DEL $destination_directory+"kix*.ok" ; - other installed kixtart versions -
?"- 193-"+@time+"- @error @serror "? ENDIF
?"- 194-"+@time+"- @error @serror "? ;
?"- 195-"+@time+"- @error @serror "? $update="no"
?"- 196-"+@time+"- @error @serror "? $update_info=""
?"- 197-"+@time+"- @error @serror "? $i=1
?"- 198-"+@time+"- @error @serror "? WHILE ($i <= $max_kix_files)
?"- 199-"+@time+"- @error @serror "? $source_file=$source_directory+$kix_files[$i]
?"- 200-"+@time+"- @error @serror "? $destination_file=$destination_directory+$kix_files[$i]
?"- 201-"+@time+"- @error @serror "? IF (Exist($destination_file) = 1)
?"- 202-"+@time+"- @error @serror "? IF (setfileattr($destination_file, 128) <> 0)
?"- 203-"+@time+"- @error @serror "? ENDIF
?"- 204-"+@time+"- @error @serror "? IF ($debug_mode = "yes")
?"- 205-"+@time+"- @error @serror "? DEL $destination_file ; - activates an automatic update for debugging script -
?"- 206-"+@time+"- @error @serror "? ENDIF
?"- 207-"+@time+"- @error @serror "? ENDIF
?"- 208-"+@time+"- @error @serror "? $update="yes"
?"- 209-"+@time+"- @error @serror "? IF (Exist($source_file) = 1)
?"- 210-"+@time+"- @error @serror "? $update="no"
?"- 211-"+@time+"- @error @serror "? IF (GetFileSize($source_file) <> GetFileSize($destination_file))
?"- 212-"+@time+"- @error @serror "? $update="yes"
?"- 213-"+@time+"- @error @serror "? ENDIF
?"- 214-"+@time+"- @error @serror "? IF (GetFileTime($source_file) <> GetFileTime($destination_file))
?"- 215-"+@time+"- @error @serror "? $update="yes"
?"- 216-"+@time+"- @error @serror "? ENDIF
?"- 217-"+@time+"- @error @serror "? IF (GetFileVersion($source_file,"filedescription") <> GetFileVersion($destination_file,"filedescription"))
?"- 218-"+@time+"- @error @serror "? $update="yes"
?"- 219-"+@time+"- @error @serror "? ENDIF
?"- 220-"+@time+"- @error @serror "? IF (GetFileVersion($source_file,"fileversion") <> GetFileVersion($destination_file,"fileversion"))
?"- 221-"+@time+"- @error @serror "? $update="yes"
?"- 222-"+@time+"- @error @serror "? ENDIF
?"- 223-"+@time+"- @error @serror "? IF (GetFileVersion($source_file,"internalname") <> GetFileVersion($destination_file,"internalname"))
?"- 224-"+@time+"- @error @serror "? $update="yes"
?"- 225-"+@time+"- @error @serror "? ENDIF
?"- 226-"+@time+"- @error @serror "? IF (GetFileVersion($source_file,"language") <> GetFileVersion($destination_file,"language"))
?"- 227-"+@time+"- @error @serror "? $update="yes"
?"- 228-"+@time+"- @error @serror "? ENDIF
?"- 229-"+@time+"- @error @serror "? IF (GetFileVersion($source_file,"originalfilename") <> GetFileVersion($destination_file,"originalfilename"))
?"- 230-"+@time+"- @error @serror "? $update="yes"
?"- 231-"+@time+"- @error @serror "? ENDIF
?"- 232-"+@time+"- @error @serror "? IF (GetFileVersion($source_file,"productname") <> GetFileVersion($destination_file,"productname"))
?"- 233-"+@time+"- @error @serror "? $update="yes"
?"- 234-"+@time+"- @error @serror "? ENDIF
?"- 235-"+@time+"- @error @serror "? ENDIF
?"- 236-"+@time+"- @error @serror "? ;
?"- 237-"+@time+"- @error @serror "? IF ($update = "yes") OR ($debug_mode = "yes")
?"- 238-"+@time+"- @error @serror "? COPY $source_file $destination_file /h
?"- 239-"+@time+"- @error @serror "? $update_info=$update_info+" +"+LCASE($kix_files[$i])
?"- 240-"+@time+"- @error @serror "? ELSE
?"- 241-"+@time+"- @error @serror "? $update_info=$update_info+" ="+LCASE($kix_files[$i])
?"- 242-"+@time+"- @error @serror "? ENDIF
?"- 243-"+@time+"- @error @serror "? IF (@error <> 0)
?"- 244-"+@time+"- @error @serror "? ? "Warning INSTALL "+@error+": "+@serror
?"- 245-"+@time+"- @error @serror "?
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#67696 - 2002-07-27 07:47 AM Re: Deployment of Kix Scripts
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
MCA,

Any update or response to my e-mail?

Kind regards,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
Page 1 of 2 12>


Moderator:  Glenn Barnas, NTDOC, Arend_, Jochen, Radimus, Allen, ShaneEP, Ruud van Velsen, Mart 
Hop to:
Shout Box

Who's Online
0 registered and 657 anonymous users online.
Newest Members
M_Moore, BeeEm, min_seow, Audio, Hoschi
17883 Registered Users

Generated in 0.084 seconds in which 0.035 seconds were spent on a total of 13 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org