#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
|
|
|
|
Moderator: Glenn Barnas, NTDOC, Arend_, Jochen, Radimus, Allen, ShaneEP, Ruud van Velsen, Mart
|
1 registered
(mole)
and 494 anonymous users online.
|
|
|