Dear,

We upgrade all our packages. The console-less version doesn't require KIX32.EXE for
the installation process.
We must only change our installation scripts for WKIX32.EXE installation. Previous-
ly we show a MessageBox for developpers, but with the specification like

wkix32.exe /I winstall.kix

the installation process will hang. Reason: a hidden MessageBox shows up, but you
doesn't have the capability to enter something.

The new main scripts for the WKIX32 installations are
winstall.kix
code:
  CLS
IF setconsole("hide")
ENDIF
;
; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10, 4.11, 4.12, 4.20
;
; (c) scripting@wanadoo.nl - 2000, 2001, 2002, 2003
;
; vs 3.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.
; 2.00w (20020110) - used by installation of console-less wkix32 package.
; 2.01w (20020410) - shows correct check-file name "c:\kix???w.ok".
; 2.02w (20020815) - using $system_drive for logging information (input by Kent Dyer).
; - changing "kixtart.log" to "kixdebug.txt".
; 3.00w (20030225) - suppress MessageBox window. with "/I" specified package will hang, when
; environment variable "kix-debug" or "kix-show" was created.
;
$prgrm_version="3.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+" CONSOLE-LESS version started from '"+LCASE(@curdir)+"'."
$title="Kixtart "+@kix
; IF (MessageBox($message, $title, 340, 300) <> 0)
; ENDIF
? $message
ENDIF
IF ($debug_mode <> "yes")
call "wstart1.kix"
ELSE
call "wstart2.kix"
ENDIF
:end
IF (@inwin = 1)
$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
$system_drive=Substr($destination_directory,1,3) ; - This will show C: or M: or what drive windows is installed on -
;
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 '%tmp%\kixdebug.txt'"
ELSE
? "Informative INSTALL: create debug list '%tmp%\kixdebug.txt'"
IF (Exist($system_drive+"kix"+substr(@kix,1,1)+substr(@kix,3,2)+"w.ok") = 1) OR (Exist($destination_directory+"kix"+substr(@kix,1,1)+substr(@kix,3,2)+"w.ok") = 1)
$message="Installation of Kixtart "+@kix+" CONSOLE-LESS version completed from '"+LCASE(@curdir)+"'."
$message=$message+" File '"+UCASE("kix"+substr(@kix,1,1)+substr(@kix,3,2)+"w.ok")+"' created."
ELSE
$message="Installation of Kixtart "+@kix+" CONSOLE-LESS version incompleted from '"+LCASE(@curdir)+"'."
$message=$message+" No file '"+UCASE("kix"+substr(@kix,1,1)+substr(@kix,3,2)+"w.ok")+"' created."
ENDIF
$title="Kixtart "+@kix
; IF (MessageBox($message, $title, 340, 300) <> 0)
; ENDIF
? $message
ENDIF
break on
flushkb

wstart1.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, 4.11, 4.12, 4.20
;
; (c) scripting@wanadoo.nl - 2000, 2001, 2002, 2003
;
; vs 4.01 - 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.
; 3.04 (20020805) - implementation of "terminal service" model (input by Kent Dyer)
; - additional information about starting script.
; system tries to find $system_drive+"temp\kixtart.dbg" file, which will
; create a info file $system_drive+"temp\kixtart.txt".
; automatic remove of $system_drive+"temp\kixtart.dbg" + $system_drive+"temp\kixtart.txt" by next run.
; - change "source_directory" to $system_drive+"temp\ixp000.tmp\"
; because "c:" drive not available in a terminal environment.
; - UNCHANGE iexpress package changed. calling command
; "kix32.exe install.kix".
; - remove $debug_file elements. unnecessary.
; 3.05 (20020805) - additional information during debugging.
; remark: set RedirectOutput($_debug_file,1) in start2.kix file
; to overwrite previous content.
; 3.06 (20020805) - additional checks during creation and removing file associatios.
; f.e. no change of ".scr" when it is already associated (input by Les Ligetfa).
; - re-add $debug_file elements.
; 3.07 (20020805) - activate $required_mode when variable %kix-only-required% is declared.
; 3.08 (20020815) - translate kixtart symbols by kixref specifications.
; 4.00 (20030215) - $required_mode becomes default setting (request by Kent Dyer).
; environment variable %kix-only-required% becomes obsolete.
; - environment variable %kix-complete% makes an installation of all kixtart binaries possible.
; 4.01 (20030225) - suppress MessageBox window. with "/I" specified package will hang, when
; environment variable "kix-show" was created.
;
; external variables kix-complete
; kix-debug
; kix-only-required (obsolete since 4.00)
; kix-show
;
$prgrm_version="4.01"
;
IF (@inwin = 1)
$nt_mode="yes"
ELSE
$nt_mode="no"
ENDIF
;
$tmp_directory=ExpandEnvironmentVars("%tmp%")
IF (Substr($tmp_directory,Len($tmp_directory),1) <> "\")
$tmp_directory=$tmp_directory+"\"
ENDIF
;
$required_mode="yes"
IF ($nt_mode = "no")
$required_mode="no"
ENDIF
IF (Len(ExpandEnvironmentVars(Chr(37)+"kix-complete"+Chr(37))) <> 0)
$required_mode="no"
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"

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

$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 %systemroot%\kix362.ok %0\..\kix362update.exe /q" -
; - "if not exist %systemroot%\kix420.ok %0\..\kix410update.exe /q" -
; - "if not exist %systemroot%\kix420w.ok %0\..\wkix410update.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
$system_drive=Substr($destination_directory,1,3) ; - This will show C: or M: or what drive windows is installed on -
;
$kix_console_mode="yes" ; - wkix32.exe -
;
$max_kix_files=4
DIM $kix_files[$max_kix_files+1]
$kix_files[0]="kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok" ; - check file -
$kix_files[1]="wkix32.exe"
$kix_files[2]="kx16.dll"
$kix_files[3]="kx32.dll"
$kix_files[4]="kx95.dll"
;
$first_installation="yes"
IF (Exist($system_drive+$kix_files[0]) = 0)
DEL $system_drive+"kix*.ok" ; - other installed kixtart versions removing always -
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 "+@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
IF ($nt_mode = "yes") AND ($required_mode = "yes")
$i=$max_kix_files+1
ENDIF
LOOP
;
IF ($nt_mode = "yes") AND ($required_mode = "yes")
$i=2 ; - remove DLL's -
WHILE ($i <= $max_kix_files)
$destination_file=$destination_directory+$kix_files[$i]
IF (Exist($destination_file) = 1)
IF (SetFileAttr($destination_file, 128) <> 0)
ENDIF
DEL $destination_file
$update_info=$update_info+" -"+Lcase($kix_files[$i])
ELSE
$update_info=$update_info+" ?"+Lcase($kix_files[$i])
ENDIF
$i=$i+1
LOOP
ENDIF
;
IF ($debug_mode = "yes")
DEL $system_drive+$kix_files[0] ; - activates an automatic update for debugging script -
DEL $destination_directory+$kix_files[0] ; - other installed kixtart versions -
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($system_drive+$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
IF ($debug_mode = "yes")
? " => 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($system_drive+$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
IF ($debug_mode = "yes")
? " => KiXtart - "+Lcase($kix_files[$i])+" - "+@date+" "+@time+" -> "+GetFileTime($destination_file)+" "+GetFileSize($destination_file)+$build_info
ENDIF
ENDIF
$i=$i+1
IF ($nt_mode = "yes") AND ($required_mode = "yes")
$i=$max_kix_files+1
ENDIF
LOOP
$i=$max_kix_files
IF ($update_ok = "yes")
$update_info="("+Ltrim(Rtrim(Lcase($update_info)))+") to "+'"'+Ltrim(Rtrim(Lcase($destination_directory)))+'"'
IF WriteProfileString($system_drive+$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
IF ($debug_mode = "yes")
? " => KiXtart - "+Lcase($kix_files[$i])+" - installation completed at "+@date+" "+@time+" "+$update_info
ENDIF
ELSE
$update_info="("+Ltrim(Rtrim(Lcase($update_info)))+") to "+'"'+Ltrim(Rtrim(Lcase($destination_directory)))+'"'
IF WriteProfileString($system_drive+$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
IF ($debug_mode = "yes")
? " => KiXtart - "+Lcase($kix_files[$i])+" - installation incompleted at "+@date+" "+@time+" "+$update_info
ENDIF
ENDIF
IF ($update_ok <> "yes")
IF (Exist($system_drive+$kix_files[0]) = 1)
IF ($debug_mode <> "yes")
DEL $system_drive+$kix_files[0] ; - kixtart version is incompleted -
ENDIF
ENDIF
IF (Exist($destination_directory+$kix_files[0]) = 1)
IF ($debug_mode <> "yes")
$destination_directory+$kix_files[0] ; - kixtart version is incompleted -
ENDIF
ENDIF
ENDIF

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

IF ($debug_mode = "yes")
? " =>"
? " => .kix "+ReadValue("HKEY_CLASSES_ROOT\.kix","")
? " => .k2k "+ReadValue("HKEY_CLASSES_ROOT\.k2k","")
? " => .scr "+ReadValue("HKEY_CLASSES_ROOT\.scr","")
? " => .udf "+ReadValue("HKEY_CLASSES_ROOT\.udf","")
? " => kix32 document "+ReadValue("HKEY_CLASSES_ROOT\kix32 document\Shell","")
? " =>"
ENDIF
;
IF WriteProfileString($system_drive+$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 ($debug_mode = "yes")
? " => KiXtart - KiXtart release - "+$os+" -> kix "+@kix
ENDIF
IF ($required_mode = "yes")
$message=" (only required files)"
ELSE
$message=""
ENDIF
IF (Exist($source_directory+"kedit.ico") = 1)
IF WriteProfileString($system_drive+$kix_files[0], "KiXtart", "KiXtart mode", "registry"+$message)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart mode", "registry"+$message)
ENDIF
IF ($debug_mode = "yes")
? " => KiXtart - KiXtart mode - registry"+$message
ENDIF
ELSE
IF WriteProfileString($system_drive+$kix_files[0], "KiXtart", "KiXtart mode", "update"+$message)
ENDIF
IF WriteProfileString($destination_directory+$kix_files[0], "KiXtart", "KiXtart mode", "update"+$message)
ENDIF
IF ($debug_mode = "yes")
? " => KiXtart - KiXtart mode - update"+$message
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+" (CONSOLE-LESS version)"
$message=""
IF ($first_installation = "yes")
IF (Exist($system_drive+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok") = 1) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok") = 1)
$message="Installation of KiXtart "+@kix+" completed"
ELSE
$message="Installation of KiXtart "+@kix+" incompleted"
ENDIF
ELSE
IF (Exist($system_drive+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok") = 1) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok") = 1)
$message="Installation of KiXtart "+@kix+" completed"
ELSE
$message="Installation of KiXtart "+@kix+" incompleted"
ENDIF
ENDIF
? $message
IF (Len($message) <> 0)
IF (Exist($source_directory+"kedit.ico") = 1)
$message=$message+" (registry mode - "+Lcase($destination_directory)+")."
ELSE
$message=$message+" (update mode - "+Lcase($destination_directory)+")."
ENDIF
IF ($required_mode = "yes")
$message=$message+" only required files."
ENDIF
; IF (MessageBox($message, $title, 340, 15) <> 0)
; ENDIF
ENDIF
ENDIF
BREAK ON
FLUSHKB
;
IF (Exist($system_drive+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok") = 1) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+"w.ok") = 1)
EXIT(0)
ELSE
EXIT(1)
ENDIF

As console-less SED file we are using now (wkix???update.sed)
code:
[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=0
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName=X:\wkix420update.exe
FriendlyName=Kixtart 4.20/4.01 installation at local workstation (console-less version)
AppLaunched=wkix32.exe /i dummy.kix
PostInstallCmd=wkix32.exe /i winstall.kix
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="winstall.kix"
FILE1="kx16.dll"
FILE2="kx32.dll"
FILE3="kx95.dll"
FILE4="wkix32.exe"
FILE5="wstart1.kix"
FILE6="wstart2.kix"
FILE7="dummy.kix"

[SourceFiles]
SourceFiles0=X:\

[SourceFiles0]
%FILE0%=
%FILE1%=
%FILE2%=
%FILE3%=
%FILE4%=
%FILE5%=
%FILE6%=
%FILE7%=

As console SED file we are using now (kix???update.sed)
code:
[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=0
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName=X:\kix420update.exe
FriendlyName=Kixtart 4.20/4.00 installation at local workstation (console version)
AppLaunched=kix32.exe dummy.kix
PostInstallCmd=kix32.exe install.kix
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="install.kix"
FILE1="kix32.exe"
FILE2="kx16.dll"
FILE3="kx32.dll"
FILE4="kx95.dll"
FILE5="start1.kix"
FILE6="start2.kix"
FILE7="dummy.kix"

[SourceFiles]
SourceFiles0=X:\

[SourceFiles0]
%FILE0%=
%FILE1%=
%FILE2%=
%FILE3%=
%FILE4%=
%FILE5%=
%FILE6%=
%FILE7%=

For client upgrade information see

Kix upgrade: what are those new features? can upgrade be done without any danger?

When you are using the way we are upgrading you get more information about what was going wrong.

On our site you can find packages for a lot of Kixtart versions.
Currently available
- kix362update.exe
- kix363update.exe
- kix402update.exe
- kix410update.exe
- kix411update.exe
- kix412update.exe
- kix420update.exe

After completion an installation you will get a control file with information
about what was done.
An example
code:
[KiXtart]
kix32.exe=2003/02/18 03:28:15 -> 2003/02/16 00:00:00 237568 (build 129)
kx16.dll=2003/02/18 03:28:15 -> 2001/08/27 00:00:00 47104
kx32.dll=2003/02/18 03:28:15 -> 2002/03/29 00:00:00 49152
kx95.dll=2003/02/18 03:28:15 -> 2002/11/11 00:00:00 49152 (build 003)
KiXtart=installation completed at 2003/02/18 03:28:15 (+kix32.exe +kx16.dll +kx32.dll +kx95.dll) to "c:\windows\"
KiXtart release=ME -> kix 4.20
KiXtart mode=update

greetings.

btw: symbol  - on our pages has been linked to related http://kixtart.org topic.

btw: modifications based in input from kdyer
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA