Page 1 of 1 1
Topic Options
#28299 - 2002-09-03 02:39 PM Upgrade from 3.63 to 4.11
Anonymous
Unregistered


I currently have Kixtart 3.63 on all of my Domain Conttrollers (12 in total throughout the network).

I do run the kix as a service on each.

What is the best way to upgrade to 4.11 on each.

Do I just stop the service and delete the old files? or do I have to uninstall in a special way?

Please provide any things I should ensure to do and be careful of.

Thank you

Top
#28300 - 2002-09-03 02:45 PM Re: Upgrade from 3.63 to 4.11
MightyR1 Offline
MM club member
*****

Registered: 1999-09-09
Posts: 1264
Loc: The Netherlands
Adagost,

I use the following batch file to do the job:

code:
@echo off
REM UPD_KIXRPC.CMD
MD \\%1\C$\KIXTART
c:\kix\kixupdate\xnet\XNET STOP \\%1\KXRPC /y
COPY c:\kix\kixupdate\KXRPC.EXE \\%1\C$\KIXTART
c:\kix\kixupdate\xnet\XNET MODIFY \\%1\KXRPC /b:C:\KIXTART\KXRPC.EXE /n:"KiXtart RPC Service" /d:RPCSS /s:AUTO
c:\kix\kixupdate\xnet\XNET START \\%1\KXRPC

now you can simply use UPD_KIXRPC SERVERNAME to update your RPC service.

HTH
_________________________
Greetz,
Patrick Rutten

- We'll either find a way or make one...
- Knowledge is power; knowing how to find it is more powerful...
- Problems don't exist; they are challenges...

Top
#28301 - 2002-09-03 04:59 PM Re: Upgrade from 3.63 to 4.11
Sealeopard Offline
KiX Master
*****

Registered: 2001-04-25
Posts: 11165
Loc: Boston, MA, USA
Please take a look at the XNET subdirectory in the KiXtart ZIP package which contains an example on how to upgrade the KiXtart RPC service remotely.
_________________________
There are two types of vessels, submarines and targets.

Top
#28302 - 2002-09-03 10:49 PM Re: Upgrade from 3.63 to 4.11
MightyR1 Offline
MM club member
*****

Registered: 1999-09-09
Posts: 1264
Loc: The Netherlands
That's what I did too [Wink]

I made up the batch file mentioned earlier after looking at xnet documentation...

What did they say again?:
1. RTFM
2. STFB
3. STFW
4. PYFP

[Big Grin]
_________________________
Greetz,
Patrick Rutten

- We'll either find a way or make one...
- Knowledge is power; knowing how to find it is more powerful...
- Problems don't exist; they are challenges...

Top
#28303 - 2002-09-04 07:59 AM Re: Upgrade from 3.63 to 4.11
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
From MCA's Site, you can dowload the package - kix410update.exe. If needed, I have the newest one created for Kixtart 4.11.

HTH,

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

Top
#28304 - 2002-09-04 08:01 AM Re: Upgrade from 3.63 to 4.11
MightyR1 Offline
MM club member
*****

Registered: 1999-09-09
Posts: 1264
Loc: The Netherlands
Kent,

does this upgrade the RPC service too? I thought it was intended for upgrading clients...
_________________________
Greetz,
Patrick Rutten

- We'll either find a way or make one...
- Knowledge is power; knowing how to find it is more powerful...
- Problems don't exist; they are challenges...

Top
#28305 - 2002-10-14 11:48 AM Re: Upgrade from 3.63 to 4.11
BrianK Offline
Getting the hang of it

Registered: 2002-10-02
Posts: 90
Loc: Amsterdam, The Netherlands
Kent,

i would like to have the KIX411 update tool. However, is it possible to set the destination folder other then the Windows folder? Company policy dictates that we use a folder called C:\Utils\Kix\

Greetz, Brian
_________________________
Rodney Dangerfield: “My mother didn't breast-feed me. She said she liked me as a friend.”

Top
#28306 - 2002-10-14 11:52 AM Re: Upgrade from 3.63 to 4.11
Lonkero Administrator Offline
KiX Master Guru
*****

Registered: 2001-06-05
Posts: 22346
Loc: OK
well, the package is just a self-executable...

it's install looks like:
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 2.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.00 (20020805) - using $system_drive for logging information (input by Kent Dyer).
; - changing "kixtart.log" to "kixdebug.txt".
;
$prgrm_version="2.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 (@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)+".ok") = 1) OR (Exist($destination_directory+"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

so, for other directories, you just need to change the dir...
_________________________
!

download KiXnet

Top
#28307 - 2002-10-15 12:27 AM Re: Upgrade from 3.63 to 4.11
BrianK Offline
Getting the hang of it

Registered: 2002-10-02
Posts: 90
Loc: Amsterdam, The Netherlands
Yes Lonkero,

but does this script also install, when no Kixversion is installed at all?
Because I want the update (or fresh install) to take place in the LOGON.bat, before it enters the kix script. Reading your script makes me think, it doesn't install at all if the .ok file is missing.

I now have it working like this (i know very simple, but i am after all simple minded.

code:
 
:KixDir
if not exist c:\utils\kix\*.* md c:\Utils > NUL
if not exist c:\utils\kix\*.* md c:\Utils\Kix > NUL
If not exist c:\utils\kix\kix32.exe goto CopyFiles
If not exist c:\utils\kix\kx16.dll goto CopyFiles
If not exist c:\utils\kix\kx32.dll goto CopyFiles
If not exist c:\utils\kix\kx95.dll goto CopyFiles
Goto Environment

:CopyFiles
XCOPY %0\..\KIX32.EXE c:\utils\kix\ /D /H /I /R /V > NUL
XCOPY %0\..\KX16.DLL c:\utils\kix\ /D /H /I /R /V > NUL
XCOPY %0\..\KX32.DLL c:\utils\kix\ /D /H /I /R /V > NUL
XCOPY %0\..\KX95.DLL c:\utils\kix\ /D /H /I /R /V > NUL

:Environment
set kixcmd=c:\Utils\Kix\Kix32.exe

But this way, it won't check the kixversion.
So very simple, I'd like the batch file to check 2 things before commencing an install or update:

Is Kix installed at all? >> Install (or copy) it to C:\Utils\Kix
Does the local version differ from the one stored in the @LDRIVE >> copy the server version to local.

I thought the update.exe was the easiest way, because it checks and installs or upgrades everything at once.

Brian.
_________________________
Rodney Dangerfield: “My mother didn't breast-feed me. She said she liked me as a friend.”

Top
#28308 - 2002-10-14 01:00 PM Re: Upgrade from 3.63 to 4.11
Lonkero Administrator Offline
KiX Master Guru
*****

Registered: 2001-06-05
Posts: 22346
Loc: OK
well, the update exe is just a packaged version of installation procedures.
and it's not bullet proof as it plays with the ok file instead of checking correctly.

for the easy install, you should look at xcopy.
it can keep the files up to date with simple /d switch.

this way, you don't need to worry about any of the stuff, just write one line which checks all files and if not correct, copies the ones not correct.

this should also be like the "ultimate speed" solution.
_________________________
!

download KiXnet

Top
#28309 - 2002-10-14 04:15 PM Re: Upgrade from 3.63 to 4.11
Sealeopard Offline
KiX Master
*****

Registered: 2001-04-25
Posts: 11165
Loc: Boston, MA, USA
Brian:

Search for 'login.bat' on the KiXtart BBS, there are a couple of batch files posted that automatically update a KiXtart distribution. Also, take a look at the kiXtart Manual which contains asample batch file and the KiXtart Starters Guide in the FAQ Forum.
_________________________
There are two types of vessels, submarines and targets.

Top
#28310 - 2002-10-14 04:32 PM Re: Upgrade from 3.63 to 4.11
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
Adagost/Brian,

Here are the modifications that I made to MCA's packager:

This is per - .KIX -> .EXE: Package and compact your script...

KIX4nnUpdate.SED - Just change for your version of Kix..

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=C:\!Kix\kixupdate\kix402update.exe
FriendlyName=Kixtart 4.02 installation with file associations
AppLaunched=KIX32.EXE
PostInstallCmd=KIX32.EXE install.kix
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="KX95.DLL"
FILE1="START1.KIX"
FILE2="START2.KIX"
FILE3="kedit.ico"
FILE4="INSTALL.KIX"
FILE5="KIX32.EXE"
FILE6="KX16.DLL"
FILE7="KX32.DLL"
[SourceFiles]
SourceFiles0=C:\!Kix\kixupdate\
[SourceFiles0]
%FILE0%=
%FILE1%=
%FILE2%=
%FILE3%=
%FILE4%=
%FILE5%=
%FILE6%=
%FILE7%=

INSTALL.KIX - I changed it to check/create c:\scripts folder
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 2.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.00 (20020805) - using $system_drive for logging information (input by Kent Dyer).
; - changing "kixtart.log" to "kixdebug.txt".
;
$prgrm_version="2.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 (@inwin = 1)
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows NT\currentversion", "SystemRoot")
$system_drive=Substr($destination_directory,1,3) ; - This will show C: or M: or what drive windows is installed on -
$destination_directory=$system_drive+"\Scripts"
IF GETFILEATTR($destination_directory) & 16
ELSE
SHELL "%comspec% /c md "+$destination_directory
ENDIF
ELSE
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion", "SystemRoot")
$system_drive=Substr($destination_directory,1,3) ; - This will show C: or M: or what drive windows is installed on -
$destination_directory=$system_drive+"\Scripts"
IF GETFILEATTR($destination_directory) & 16
ELSE
SHELL "%comspec% /c md "+$destination_directory
ENDIF
ENDIF
IF (len($destination_directory) = 0)
$destination_directory=@lanroot
ENDIF
IF (Substr($destination_directory,len($destination_directory),1) <> "\")
$destination_directory=$destination_directory+"\"
ENDIF
;
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)+".ok") = 1) OR (Exist($destination_directory+"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 - I changed it to check/create c:\scripts folder. Turned off the Registry Associations.
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.08 - 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.
;
; external variables kix-debug
; kix-only-required
; kix-show
;
$prgrm_version="3.08"
;
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
;
$associat = "No"
$required_mode="no"
;IF (Len(ExpandEnvironmentVars(Chr(37)+"kix-only-required"+Chr(37))) <> 0)
IF ($nt_mode = "yes")
$required_mode="yes"
ELSE
$required_mode="no"
ENDIF
;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%\kix363.ok %0\..\kix363update.exe /q" -
; - "if not exist %systemroot%\kix410.ok %0\..\kix410update.exe /q" -
; - "if not exist %systemroot%\kix410w.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")
$system_drive=Substr($destination_directory,1,3) ; - This will show C: or M: or what drive windows is installed on -
$destination_directory=$system_drive+"\Scripts"
IF GETFILEATTR($destination_directory) & 16
ELSE
SHELL "%comspec% /c md "+$destination_directory
ENDIF
ELSE
$destination_directory=ReadValue("HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion", "SystemRoot")
$system_drive=Substr($destination_directory,1,3) ; - This will show C: or M: or what drive windows is installed on -
$destination_directory=$system_drive+"\Scripts"
IF GETFILEATTR($destination_directory) & 16
ELSE
SHELL "%comspec% /c md "+$destination_directory
ENDIF
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="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($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 registry update -
; --------------------------------------------------------------------------
IF $associat = "Yes"
$ikey="HKEY_CLASSES_ROOT\.kix"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL: error "+@error+" ("+@serror+")"
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.k2k"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL: error "+@error+" ("+@serror+")"
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.scr"
IF (ExistKey($ikey) = 0) AND (ReadValue("HKEY_CLASSES_ROOT\.scr","") = "kix32 document")
IF (DelTree($ikey) <> 0)
? "Warning INSTALL: error "+@error+" ("+@serror+")"
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\.udf"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL: error "+@error+" ("+@serror+")"
ENDIF
ENDIF
$ikey="HKEY_CLASSES_ROOT\kix32 document"
IF (ExistKey($ikey) = 0)
IF (DelTree($ikey) <> 0)
? "Warning INSTALL: error "+@error+" ("+@serror+")"
ENDIF
ENDIF
;
IF (Exist($source_directory+"kedit.ico") = 1)
COPY $source_directory+"kedit.ico" $destination_directory+"kedit.ico" /h
;
? "Informative INSTALL: 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")
IF (Len(ReadValue("HKEY_CLASSES_ROOT\.scr","")) = 0)
$nul=AddKey("HKEY_CLASSES_ROOT\.scr")
$nul=WriteValue("HKEY_CLASSES_ROOT\.scr","","kix32 document","REG_SZ")
ENDIF
$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 ($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
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
$message=""
IF ($first_installation = "yes")
IF (Exist($system_drive+"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($system_drive+"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
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)+".ok") = 1) OR (Exist($destination_directory+"kix"+Substr(@kix,1,1)+Substr(@kix,3,2)+".ok") = 1)
EXIT(0)
ELSE
EXIT(1)
ENDIF

START2.KIX - No changes
code:
            ;CLS
IF (instr("-3.0x-3.1x-3.2x-3.3x-","-"+substr(@kix,1,3)+"x-") <> 0)
IF MessageBox("sorry, your kixtart "+@kix+" release is too old."+CHR(13)+CHR(10)+CHR(13)+CHR(10)+" please upgrade.","KiXtart "+@kix+" info",4112,300)
ENDIF
EXIT
ENDIF
COLOR C+/N
;AT (1,1) " "

$_debug_file="kixdebug.txt" ; - %tmp% directory -
IF (len($_debug_file) <> 0)
IF (substr("%tmp%",len("%tmp%"),1) = "\")
$_debug_file="%tmp%"+$_debug_file
ELSE
$_debug_file="%tmp%\"+$_debug_file
ENDIF
ENDIF
;$_debug_file="c:\kixdebug.txt"
IF RedirectOutput($_debug_file,1)
ENDIF

? "-"+LCASE(@day)+" "+@date+" "+@time+"- kixtart "+@kix+"/3.20e script starting"
IF (Val(substr(@kix,1,1)) >= 4)
IF (len(@scriptname) <> 0)
" ("+LCASE(@scriptname)+")"
ENDIF
ENDIF
? "-"
IF ("$_debug_already_starting" <> "yes")
? "-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
? "-"
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
? "-"+@cpu+" (memory "+MemorySize()+" MB)"
? "-"
ENDIF
ENDIF

$_debug_temp_name="" ; -format: yyyymmdd_hhmmss.sss_999 scriptname-
IF (instr("-3.6x-","-"+substr(@kix,1,3)+"x-") <> 0) OR (Val(substr(@kix,1,1)) >= 4)
IF (instr("-4.xx-","-"+substr(@kix,1,2)+"xx-") <> 0)
$_debug_temp_name=@msecs
SELECT
CASE (len($_debug_temp_name) = 1)
$_debug_temp_name="00"+$_debug_temp_name
CASE (len($_debug_temp_name) = 2)
$_debug_temp_name="0"+$_debug_temp_name
ENDSELECT
$_debug_temp_name="."+$_debug_temp_name
IF Srnd(@msecs)
ENDIF
SLEEP 0.050
ELSE
IF Srnd((-1)*32767/(substr(@time,7,2)+1))
ENDIF
SLEEP 1
ENDIF
$_debug_temp_name=substr(@date,1,4)+substr(@date,6,2)+substr(@date,9,2)+"_"+substr(@time,1,2)+substr(@time,4,2)+substr(@time,7,2)+$_debug_temp_name+"_"+Rnd()
IF (len($_debug_temp_name) < 25)
$_debug_temp_name=substr($_debug_temp_name+" ",1,25)
ENDIF
IF (instr("-4.1x-","-"+substr(@kix,1,3)+"x-") <> 0)
IF (len(@scriptname) < 12)
$_debug_temp_name=$_debug_temp_name+" "+substr(@scriptname+" ",1,12)
ELSE
$_debug_temp_name=$_debug_temp_name+" "+@scriptname
ENDIF
ENDIF
ENDIF

IF ("$_debug_already_starting" <> "yes")
? "-debug file: "+$_debug_file
? "-debug name: "+LCASE($_debug_temp_name)
ELSE
IF (len($_debug_temp_name) <> 0)
? "-debug: "+LTRIM(RTRIM(LCASE($_debug_temp_name)))+" -> "+$_debug_file
ELSE
? "-debug-file: "+$_debug_file
ENDIF
ENDIF

IF (instr("-3.6x-","-"+substr(@kix,1,3)+"x-") = 0) AND (Val(substr(@kix,1,1)) < 4)
GOTO _debug_starting_point
ENDIF
DIM $_debug_name ; -create local variable-
:_debug_starting_point
$_debug_name=LCASE($_debug_temp_name)
$_debug_already_starting="yes"
? "-"
?"----- start-"+@time+"-"+$_debug_name+"- @error @serror"?

?"- 1-"+@time+"-"+$_debug_name+"- @error @serror"? CLS
?"- 2-"+@time+"-"+$_debug_name+"- @error @serror"? BREAK ON
?"- 3-"+@time+"-"+$_debug_name+"- @error @serror"? IF SetConsole("hide")
?"- 4-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 5-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 6-"+@time+"-"+$_debug_name+"- @error @serror"? ; NT/95 install kixtart - Kixtart 3.62, 3.63, 4.00, 4.01, 4.02, 4.10
?"- 7-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 8-"+@time+"-"+$_debug_name+"- @error @serror"? ; (c) scripting@wanadoo.nl - 2000, 2001, 2002
?"- 9-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 10-"+@time+"-"+$_debug_name+"- @error @serror"? ; vs 3.08 - program
?"- 11-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 12-"+@time+"-"+$_debug_name+"- @error @serror"? ; 1.00 (20000715) original version. created for IExpress package.
?"- 13-"+@time+"-"+$_debug_name+"- @error @serror"? ; 1.01 (20000715) - additional information written to check-file.
?"- 14-"+@time+"-"+$_debug_name+"- @error @serror"? ; 1.02 (20000715) - additional information about starting script.
?"- 15-"+@time+"-"+$_debug_name+"- @error @serror"? ; system tries to find "c:\temp\kixtart.dbg" file, which will
?"- 16-"+@time+"-"+$_debug_name+"- @error @serror"? ; create a info file "c:\temp\kixtart.txt".
?"- 17-"+@time+"-"+$_debug_name+"- @error @serror"? ; automatic remove of "c:\temp\kixtart.dbg" + "c:\temp\kixtart.txt" by next run.
?"- 18-"+@time+"-"+$_debug_name+"- @error @serror"? ; - change "source_directory" to "c:\temp\ixp000.tmp\",
?"- 19-"+@time+"-"+$_debug_name+"- @error @serror"? ; because "@curdir" is "@homeshr" directory.
?"- 20-"+@time+"-"+$_debug_name+"- @error @serror"? ; - CHANGE iexpress package changed. calling command
?"- 21-"+@time+"-"+$_debug_name+"- @error @serror"? ; "kix32.exe install.kix"
?"- 22-"+@time+"-"+$_debug_name+"- @error @serror"? ; to
?"- 23-"+@time+"-"+$_debug_name+"- @error @serror"? ; "c:\temp\ixp000.tmp\kix32.exe c:\temp\ixp000.tmp\install.kix".
?"- 24-"+@time+"-"+$_debug_name+"- @error @serror"? ; sometime actual drive isn't correct.
?"- 25-"+@time+"-"+$_debug_name+"- @error @serror"? ; 1.03 (20000730) - add HKCR registry entries to 'edit', 'run', 'run debug' + 'print' kixtart scripts.
?"- 26-"+@time+"-"+$_debug_name+"- @error @serror"? ; first it will removing existing HKCR registry entries.
?"- 27-"+@time+"-"+$_debug_name+"- @error @serror"? ; 1.04 (20001025) - update to kixtart 3.63
?"- 28-"+@time+"-"+$_debug_name+"- @error @serror"? ; 2.00 (20010320) - use %tmp% variable as temporary path.
?"- 29-"+@time+"-"+$_debug_name+"- @error @serror"? ; - use @curdir as location of "%temp%\ixp00?.tmp" directory.
?"- 30-"+@time+"-"+$_debug_name+"- @error @serror"? ; - use flexible "kix36?.ok" file.
?"- 31-"+@time+"-"+$_debug_name+"- @error @serror"? ; 2.01 (20010401) - kixtart 2001 beta1 compliancy
?"- 32-"+@time+"-"+$_debug_name+"- @error @serror"? ; - kix32.exe (= console-less version)
?"- 33-"+@time+"-"+$_debug_name+"- @error @serror"? ; - kix32c.exe (= console version)
?"- 34-"+@time+"-"+$_debug_name+"- @error @serror"? ; - introduction of "$debug_file"
?"- 35-"+@time+"-"+$_debug_name+"- @error @serror"? ; - introduction of "$update_ok". all kixtart files
?"- 36-"+@time+"-"+$_debug_name+"- @error @serror"? ; must be available at "$destination_directory".
?"- 37-"+@time+"-"+$_debug_name+"- @error @serror"? ; - check files
?"- 38-"+@time+"-"+$_debug_name+"- @error @serror"? ; - kix400.kix <= kix32.exe
?"- 39-"+@time+"-"+$_debug_name+"- @error @serror"? ; - kix400c.kix <= kix32c.exe (with "kix.console" file)
?"- 40-"+@time+"-"+$_debug_name+"- @error @serror"? ; - introduction of "$kix_console_mode".
?"- 41-"+@time+"-"+$_debug_name+"- @error @serror"? ; - additional information written to eventlog.
?"- 42-"+@time+"-"+$_debug_name+"- @error @serror"? ; 2.02 (20010605) - split script for with/without debugging.
?"- 43-"+@time+"-"+$_debug_name+"- @error @serror"? ; - activate $debug_mode when variable %kix-debug% is declared.
?"- 44-"+@time+"-"+$_debug_name+"- @error @serror"? ; - shows also @curdir value.
?"- 45-"+@time+"-"+$_debug_name+"- @error @serror"? ; - fix: for too late flushing write-buffers on windows95
?"- 46-"+@time+"-"+$_debug_name+"- @error @serror"? ; 2.03 (20011120) - add "windows XP"
?"- 47-"+@time+"-"+$_debug_name+"- @error @serror"? ; 2.04 (20011120) - additional information written to check-file about update/registry mode.
?"- 48-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.00 (20020110) - remove also .k2k & .udf registry keys by an update.
?"- 49-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.01 (20020410) - activate $show_mode when variable %kix-show% is declared.
?"- 50-"+@time+"-"+$_debug_name+"- @error @serror"? ; - remove other check-files (del "c:\kix*.ok").
?"- 51-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.02 (20020530) - convert "kixedit.reg" to internal code.
?"- 52-"+@time+"-"+$_debug_name+"- @error @serror"? ; - move "kedit.ico" to "%systemroot% directory. mostly "c:\windows" or
?"- 53-"+@time+"-"+$_debug_name+"- @error @serror"? ; "c:\winnt" directory.
?"- 54-"+@time+"-"+$_debug_name+"- @error @serror"? ; - change "c:\kix???.ok" location to "%systemroot%\kix???.ok". prevent
?"- 55-"+@time+"-"+$_debug_name+"- @error @serror"? ; permission problems.
?"- 56-"+@time+"-"+$_debug_name+"- @error @serror"? ; for compatibility reasons we create both control files.
?"- 57-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.03 (20020530) - restyle check-file.
?"- 58-"+@time+"-"+$_debug_name+"- @error @serror"? ; - change "kixedit.reg" to "kedit.ico" as check.
?"- 59-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.04 (20020805) - implementation of "terminal service" model (input by Kent Dyer)
?"- 60-"+@time+"-"+$_debug_name+"- @error @serror"? ; - additional information about starting script.
?"- 61-"+@time+"-"+$_debug_name+"- @error @serror"? ; system tries to find $system_drive+"temp\kixtart.dbg" file, which will
?"- 62-"+@time+"-"+$_debug_name+"- @error @serror"? ; create a info file $system_drive+"temp\kixtart.txt".
?"- 63-"+@time+"-"+$_debug_name+"- @error @serror"? ; automatic remove of $system_drive+"temp\kixtart.dbg" + $system_drive+"temp\kixtart.txt" by next run.
?"- 64-"+@time+"-"+$_debug_name+"- @error @serror"? ; - change "source_directory" to $system_drive+"temp\ixp000.tmp\"
?"- 65-"+@time+"-"+$_debug_name+"- @error @serror"? ; because "c:" drive not available in a terminal environment.
?"- 66-"+@time+"-"+$_debug_name+"- @error @serror"? ; - UNCHANGE iexpress package changed. calling command
?"- 67-"+@time+"-"+$_debug_name+"- @error @serror"? ; "kix32.exe install.kix".
?"- 68-"+@time+"-"+$_debug_name+"- @error @serror"? ; - remove $debug_file elements. unnecessary.
?"- 69-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.05 (20020805) - additional information during debugging.
?"- 70-"+@time+"-"+$_debug_name+"- @error @serror"? ; remark: set RedirectOutput($_debug_file,1) in start2.kix file
?"- 71-"+@time+"-"+$_debug_name+"- @error @serror"? ; to overwrite previous content.
?"- 72-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.06 (20020805) - additional checks during creation and removing file associatios.
?"- 73-"+@time+"-"+$_debug_name+"- @error @serror"? ; f.e. no change of ".scr" when it is already associated (input by Les Ligetfa).
?"- 74-"+@time+"-"+$_debug_name+"- @error @serror"? ; - re-add $debug_file elements.
?"- 75-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.07 (20020805) - activate $required_mode when variable %kix-only-required% is declared.
?"- 76-"+@time+"-"+$_debug_name+"- @error @serror"? ; 3.08 (20020815) - translate kixtart symbols by kixref specifications.
?"- 77-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 78-"+@time+"-"+$_debug_name+"- @error @serror"? ; external variables kix-debug
?"- 79-"+@time+"-"+$_debug_name+"- @error @serror"? ; kix-only-required
?"- 80-"+@time+"-"+$_debug_name+"- @error @serror"? ; kix-show
?"- 81-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 82-"+@time+"-"+$_debug_name+"- @error @serror"? $prgrm_version="3.08"
?"- 83-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 84-"+@time+"-"+$_debug_name+"- @error @serror"? IF (@inwin = 1)
?"- 85-"+@time+"-"+$_debug_name+"- @error @serror"? $nt_mode="yes"
?"- 86-"+@time+"-"+$_debug_name+"- @error @serror"? ELSE
?"- 87-"+@time+"-"+$_debug_name+"- @error @serror"? $nt_mode="no"
?"- 88-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 89-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 90-"+@time+"-"+$_debug_name+"- @error @serror"? $tmp_directory=ExpandEnvironmentVars("%tmp%")
?"- 91-"+@time+"-"+$_debug_name+"- @error @serror"? IF (Substr($tmp_directory,Len($tmp_directory),1) <> "\")
?"- 92-"+@time+"-"+$_debug_name+"- @error @serror"? $tmp_directory=$tmp_directory+"\"
?"- 93-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 94-"+@time+"-"+$_debug_name+"- @error @serror"? ;
?"- 95-"+@time+"-"+$_debug_name+"- @error @serror"? $required_mode="no"
?"- 96-"+@time+"-"+$_debug_name+"- @error @serror"? IF (Len(ExpandEnvironmentVars(Chr(37)+"kix-only-required"+Chr(37))) <> 0)
?"- 97-"+@time+"-"+$_debug_name+"- @error @serror"? IF ($nt_mode = "yes")
?"- 98-"+@time+"-"+$_debug_name+"- @error @serror"? $required_mode="yes"
?"- 99-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 100-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 101-"+@time+"-"+$_debug_name+"- @error @serror"? $debug_mode="no"
?"- 102-"+@time+"-"+$_debug_name+"- @error @serror"? IF (Len(ExpandEnvironmentVars(Chr(37)+"kix-debug"+Chr(37))) <> 0)
?"- 103-"+@time+"-"+$_debug_name+"- @error @serror"? $debug_mode="yes"
?"- 104-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 105-"+@time+"-"+$_debug_name+"- @error @serror"? $show_mode="no"
?"- 106-"+@time+"-"+$_debug_name+"- @error @serror"? IF (Len(ExpandEnvironmentVars(Chr(37)+"kix-show"+Chr(37))) <> 0)
?"- 107-"+@time+"-"+$_debug_name+"- @error @serror"? $show_mode="yes"
?"- 108-"+@time+"-"+$_debug_name+"- @error @serror"? ENDIF
?"- 109-"+@time+"-"+$_debug_name+"- @error @serror"?
?"- 110-"+@time+"-"+$_debug_name+"- @error @serror&quo
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#28311 - 2002-10-14 04:41 PM Re: Upgrade from 3.63 to 4.11
Lonkero Administrator Offline
KiX Master Guru
*****

Registered: 2001-06-05
Posts: 22346
Loc: OK
kent,
I'm getting worried about you.
your script starts to look like MCA's maroton posts...

are you trying to steel his trophy on the post length?
_________________________
!

download KiXnet

Top
#28312 - 2002-10-14 04:42 PM Re: Upgrade from 3.63 to 4.11
Kdyer Offline
KiX Supporter
*****

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

The more amazing thing is to weed through the code to get what you want done.

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

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

Top
#28313 - 2002-12-04 06:53 PM Re: Upgrade from 3.63 to 4.11
MCA Offline
KiX Supporter
*****

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

BrianK, our site contains now also iexpress updates for Kixtart 4.11 & 4.12.
It is only a tool to upgrade Kixtart on clients.
BrianK, the update means not only updating an existing Kixtart version but also
- install it on any client when no kixversion is installed at all.
- update means that previous version with specified one. so it can upgrade or downgrade
your kixtart client environment.

Lonkero, the "install.kix" script is just a subscript of our package. The real work
will be done by start1.kix or start2.kix script. The latest one is used for debugging.

The possible "not bullet proof" status can be prevent, when you are using always
%0\..\kix412update.exe /q
as first statement in your BATch file. A bigger problem of local installed kixtart
software is, that people can replace KIX32.EXE program with another one. We above
statement you prevent such way of hacking kixtart.
For us is the only goal of control file kix412.ok to see how the installation
process was done.
Also the biggest differences with both BATch file are
- it handles replacement based on internal characteristics.
- it can replace kixtart files where special file attributes were set.
- it makes your BATch much more readable.

In another topic kdyer and I have a big discussion about it. In our opinion
people are steeling code, when
- they are removing copyright notes of author
- they are copying parts of someones code and present it as their own code.
greetings.
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA

Top
#28314 - 2002-12-04 07:41 PM Re: Upgrade from 3.63 to 4.11
Lonkero Administrator Offline
KiX Master Guru
*****

Registered: 2001-06-05
Posts: 22346
Loc: OK
so mca, how your installer handles:
"automatic installation in windows directory"

su?
_________________________
!

download KiXnet

Top
Page 1 of 1 1


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

Who's Online
0 registered and 1046 anonymous users online.
Newest Members
Viginette, ManuvdWielNL, Sir_Barrington, batdk82, StuTheCoder
17888 Registered Users

Generated in 0.068 seconds in which 0.026 seconds were spent on a total of 12 queries. Zlib compression enabled.

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