#67679 - 2002-07-02 08:15 AM
Re: Deployment of Kix Scripts
|
Kdyer
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
|
|
Top
|
|
|
|
#67681 - 2002-07-02 09:57 AM
Re: Deployment of Kix Scripts
|
Kdyer
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
|
|
Top
|
|
|
|
#67684 - 2002-07-02 10:12 PM
Re: Deployment of Kix Scripts
|
MCA
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.
|
|
Top
|
|
|
|
#67685 - 2002-07-02 10:14 PM
Re: Deployment of Kix Scripts
|
MCA
KiX Supporter
   
Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
|
Dear Kent,
Your question: how iexpress packages are working?
- install a files in temporary directory in the %tmp% directory.
- 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.
|
|
Top
|
|
|
|
#67686 - 2002-07-02 10:15 PM
Re: Deployment of Kix Scripts
|
MCA
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)
|
|
Top
|
|
|
|
#67687 - 2002-07-03 12:14 AM
Re: Deployment of Kix Scripts
|
Kdyer
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
|
|
Top
|
|
|
|
#67688 - 2002-07-03 10:40 PM
Re: Deployment of Kix Scripts
|
Kdyer
KiX Supporter
   
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
MCA,
* BUMP *
You out there?
Kent
|
|
Top
|
|
|
|
#67689 - 2002-07-04 03:07 AM
Re: Deployment of Kix Scripts
|
MCA
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.
|
|
Top
|
|
|
|
#67690 - 2002-07-07 02:49 AM
Re: Deployment of Kix Scripts
|
MCA
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.
|
|
Top
|
|
|
|
#67691 - 2002-07-07 07:43 AM
Re: Deployment of Kix Scripts
|
Kdyer
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
|
|
Top
|
|
|
|
#67692 - 2002-07-16 01:33 PM
Re: Deployment of Kix Scripts
|
MCA
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.
|
|
Top
|
|
|
|
#67693 - 2002-07-25 02:23 PM
Re: Deployment of Kix Scripts
|
Kdyer
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
|
|
Top
|
|
|
|
#67694 - 2002-07-26 06:52 AM
Re: Deployment of Kix Scripts
|
Kdyer
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
|
|
Top
|
|
|
|
#67695 - 2002-07-26 07:10 AM
Re: Deployment of Kix Scripts
|
Kdyer
KiX Supporter
   
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
MCA/Everybody,
Here is the new version that works with Terminal Server/Citrix. It is not constrained to a C: Drive anymore.
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 "?
|
|
Top
|
|
|
|
#67696 - 2002-07-27 07:47 AM
Re: Deployment of Kix Scripts
|
Kdyer
KiX Supporter
   
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
MCA,
Any update or response to my e-mail?
Kind regards,
Kent
|
|
Top
|
|
|
|
Moderator: Glenn Barnas, NTDOC, Arend_, Jochen, Radimus, Allen, ShaneEP, Ruud van Velsen, Mart
|
0 registered
and 837 anonymous users online.
|
|
|