Dear Kent,

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%=

greetings.

btw: we have skipped also the dummy.exe part. it was the first idea for solving
the unwanted WKIX32 help window.
_________________________
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