MCA,
quote:
Also we understand that in your environment kixtart is installing in a correct
way. That means:
- within W9x environment also the necessary DLL's will be installed.
- within NTx environment only the KIX32.EXE will be installed.
After confirmation by you we will change our script in such a way, that it
isn't necessary to specify an environment variable for it.
These are correct. I believe the DLL being unecessary has been talked about.
(1) Why copy the DLLs when not used in an NT Environment?
(2) Why Associate .KIX, .KX, .UDF files unless you are a "scripter" like you and me?
(3) The C:\Scripts folder change I implemented below is because we ran into a security issue when a "locked down" user could not write a file even to %windir%.
Here are the changes made to the package:
>> ISNTALL.KIX <<
Original -
code:
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
Change to -
code:
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
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
MD $destination_directory
ENDIF
ENDIF
>> START1.KIX <<
Original -
code:
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
Change to -
code:
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
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
MD $destination_directory
ENDIF
ENDIF
Change $update="no"
For the Registry..
Add in a line -
$associat = "No"
Above -
$required_mode="no"
IF $associat = "Yes"
Add in an ENDIF below -
code:
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 ;>> Added
Thanks,
Kent