; VNC Distribution Kix Script; Author: R. M. Howarth
; Amendment History:
; 30 April 2001: Version 1.00 Initial release.
; Versions Tested with:
; Windows 95
; KixTart 95 Version 3.62
; VNC Version 3.3.3 R9
; This script developed for Win95 - the registry keys may need to be changed
; for other OSes.
; This script will copy the VNC listener software, run the service install and
; install a basic set of registry keys.
; Set the "AllowConfig" and "AllowShutdown" entries to "1" if you want them to
; be available to users. By default this script sets them so that users cannot
; stop the VNC service, and cannot change the parameters.
; You will need to do an install and set the password to get the hex values for
; the "Password" entry.
; This install expects the distro to be available in "Files" under the current
; directory.
; Set the program file path here:
"Creating directory structure..." ?
$INSTALLPATH="C:\Program Files"
$DirName="$INSTALLPATH\ORL" GoSub "MakeDir"
$DirName="$INSTALLPATH\ORL\VNC" GoSub "MakeDir"
"Copying runtime files..." ?
copy "files\*.*" $DirName
"Creating base registry information..." ?
$Key="HKEY_LOCAL_MACHINE\Software\ORL" GoSub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\VNC" GoSub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\VNC\3.3.3" GoSub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3" GoSub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default" GoSub "MyAddKey"
$Entry="SocketConnect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="AutoPortSelect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="InputsEnabled" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="LocalInputsDisabled" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="IdleTimeout" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="QuerySetting" $Value="2" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="QueryTimeout" $Value="10" $Type="REG_DWORD" GoSub "MyWriteValue"
; Do a sample install and set the password to get the hex values for the next string.
$Entry="Password" $Value="ffffffffffffffff" $Type="REG_BINARY" GoSub "MyWriteValue"
$Entry="PollUnderCursor" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="PollForeground" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="PollFullScreen" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="OnlyPollConsole" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="OnlyPollOnEvent" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
; Set to "1" to allow users to stop the service
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL" GoSub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks" GoSub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs" GoSub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\WINVNC.EXE" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_MButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_RButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\CALC.EXE" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\CLOCK.EXE" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\explorer.exe" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\fpxpress.exe" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\Ide.exe" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\iexplore.exe" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\MSDEV.EXE" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\mspaint.exe" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\NOTEPAD.EXE" GoSub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\WinVNC3" GoSub "MyAddKey"
$Entry="SocketConnect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="AutoPortSelect" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="InputsEnabled" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="LocalInputsDisabled" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="IdleTimeout" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="QuerySetting" $Value="2" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="QueryTimeout" $Value="10" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="Password" $Value="c137b04f51ccab36" $Type="REG_BINARY" GoSub "MyWriteValue"
$Entry="PollUnderCursor" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="PollForeground" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="PollFullScreen" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="OnlyPollConsole" $Value="1" $Type="REG_DWORD" GoSub "MyWriteValue"
$Entry="OnlyPollOnEvent" $Value="0" $Type="REG_DWORD" GoSub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCviewer" GoSub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCviewer\MRU" GoSub "MyAddKey"
$Entry="index" $Value="A" $Type="REG_SZ" GoSub "MyWriteValue"
$Entry="A" $Value="10.16.28.24:0" $Type="REG_SZ" GoSub "MyWriteValue"
; Run the service install
"Installing VNC service..." ?
Shell "$DirName\winvnc.exe -install"
if @ERROR "FATAL: Service install failed with error code @ERROR" EXIT endif
RETURN
:MyAddKey
if ExistKey($Key)
if AddKey($Key)
"ABORTING: Error @ERROR adding key $Key" ?
" Additional Info: @SERROR" ?
exit
endif
endif
RETURN
:MyWriteValue
if WriteValue($Key,$Entry,$Value,$Type)
"WARNING: Error @ERROR updating $Entry in $Key with value $Value" ?
" Additional Info: @SERROR" ?
endif
RETURN
:MakeDir
md $DirName
if @ERROR
"FATAL: Could not create $DirName - maybe it already exists?"
EXIT
endif
RETURN