Ik heb onderstaand kix-script aan een OU gehangen in Active Directory:
; KiXtart Script
;
; VNCinstall.KIX
;
; Author: Adi Naar
; 20 November 2002
; KIXscripts Forom nickname: naar
;
; written on the basis of R. M. Howarth initial release from 30 April 2001
;
;
;
;
;
; Description:
; simple HelpDesk Application (VNC) for Corporate installation Through Kixtart logon script
;
;
;- in order For this script to work you will need to put the files listed below (Copy from VNC insallation folder) in the same shared folder (path shuld be updated to the $sourcedir variable):
;Msvcirt.dll
;Msvcrt.dll
;omnithread_rt.dll
;VNChooks.dll
;WinVNC.exe
;HelpDesk.lnk (renamed shortcut to winvnc.exe from startup folder)
;
;- you should change the bogous Password in the $vncpass variable by typing your Password into a regular vnc installation AND then Copy the binary "password" value stored in the registry key "HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default"
;
;- the script will check Each time the user logs on If the installation is NOT damaged (some users like to try to delete this files) OR NOT installed AT all. If so the script will reinstall the application.
;
;- Each time a new installation begins there is a message Box alerting the user about the installation (solves problems of privacy laws...) , feel free to change the message Box contenents according to your companys policy.
;
;- this script works good on win9x, winnt, win2000, winxp AND dualboot systems.
;
;======================================================================================================================================
;this script was iplemented on my organisation (150 mechines) AND has reduced my walking hours inside the organisation in AT least 50%.
;
;feel free to mail me (through the foroms of KixEDITOR)about any bougs OR improvments that you make...
;
;enjoy!!!
;
;
;===============================================================================
;
; Clear window and Prevent from Breaking the Script:
;
Break OFF
CLS
;
;===============================================================================
;
; Variable's
;
Global $INSTALLPATH, $VNCPASS, $SOURCEDIR, $STARTUPDIR, $VNCPATH
;
$INSTALLPATH="%SystemDrive%\Program Files"
$VNCPASS="1234567890ABCDE"
$SOURCEDIR="\\server1\Public\Install\VNC"
$STARTUPDIR=ReadValue ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Common Startup")
$VNCPATH="%SystemDrive%\Program Files\ORL\VNC"
;===============================================================================
;
; Functions:
;
Function CreateCheckFile ($Filename,optional $description)
; This function creates a checkfile. You can use it
; for example in your loginscript to check if you
; already executed a certain routine.
If Open( 1 , $Filename, 5 ) = 0
If $Description=""
$x = WriteLine( 1 , "Check File:"+$Filename)
Else
$x = WriteLine( 1 , "Check File:"+$description)
EndIf
Close (1)
EndIf
If Exist ($FileName)
$Result=0
Else
$Result=1
EndIf
$CreateCheckFile=$Result
EndFunction
;===============================================================================
;
; Check if the Workstation is not a Server or as Server used PC.
; IF so, Skip entire script
;
If %SERVER% = 1
OR @WKSTA = "server1"
OR @WKSTA = "server2"
OR @WKSTA = "server3"
OR @WKSTA = "server4"
OR @WKSTA = "server5"
"This mechine is a Company server...Exiting install." ?
Sleep 2
Return
EndIf
;===============================================================================
;
; Check if the machine is under admin logon.
; IF so, Skip entire script
;
If InGroup("Administrators")
"The user is an Administrator...Exiting install." ?
Sleep 2
Return
EndIf
;===============================================================================
;
; Check For older installation of WinVNC and uninstall
;
;
"Checking For old version of VNC Application..." ?
If Exist ("$VNCPATH\Uninst.isu")
"Found old version...Uninstalling" ?
Copy "$VNCPATH\Uninst.isu" "%windir%\Temp"
Shell "%windir%\IsUninst.exe -x -a -f%windir%\Temp\Uninst.isu"
Del "$VNCPATH\*.*"
Del "%windir%\Temp\Uninst.isu"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "RemDir"
$DirName="$INSTALLPATH\ORL" Gosub "RemDir"
"Uninstall Completed successfully!" ?
EndIf
;===============================================================================
;
; Check for partial or Damaged installation of the program:
;
;
"Checking the installation of Help-Desk Application..." ?
If Exist ("$VNCPATH\HelpDesk.lnk")
If Exist ("$VNCPATH\Msvcirt.dll")
If Exist ("$VNCPATH\Msvcrt.dll")
If Exist ("$VNCPATH\omnithread_rt.dll")
If Exist ("$VNCPATH\VNCHooks.dll")
If Exist ("$VNCPATH\WinVNC.exe")
If Exist ("%SystemDrive%\vnc_ins.chk")
If Exist ("$STARTUPDIR\HelpDesk.lnk")
"Help-Desk Application is allready installed..." ?
;program is installed correctly
Goto "UpdateRegKeys"
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
;Preparing for new install (if the program was found to be damaged)
"Found partial Help-Desk installation...fixing!" ?
Del "$VNCPATH\*.*"
Del "%SystemDrive%\vnc_ins.chk"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "RemDir"
$DirName="$INSTALLPATH\ORL" Gosub "RemDir"
"Cleaning Directory's Completed successfully!" ?
;===============================================================================
;
; Update OS's to Run VNC from "All Users" startup folder:
;
;
If Exist ("$STARTUPDIR\Run WinVNC (App Mode).lnk")
Del "$STARTUPDIR\Run WinVNC (App Mode).lnk"
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
EndIf
If Exist ("$STARTUPDIR\HelpDesk.lnk") = 0
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
EndIf
;===============================================================================
;
; Main installation program:
;
;
; Simple Message box in order to notify the user about the new installation
MessageBox("This program will install REMOTE HELP software on your workstation" + Chr(13) + Chr(10) + "in order to improve Your IT Departmant Quality Of Service." + Chr(13) + Chr(10) + "Please Advice that there is a Password protection on this program For extra security." + Chr(13) + Chr(10) + "The Password is saved in your IT Department." + Chr(13) + Chr(10) + "If in any way you find this program offensive please contact your IT Manager.","Remote Help",64)
"Building directory structure..." ?
$INSTALLPATH="%SystemDrive%\Program Files"
$DirName="$INSTALLPATH\ORL" Gosub "MakeDir"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "MakeDir"
"Copying runtime files..." ?
Copy "$SOURCEDIR\*.*" $DirName
CreateCheckFile (%SystemDrive%\vnc_ins.chk)
"Writing registry info..." ?
$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 in $VNCPASS variable
$Entry="Password" $Value="$VNCPASS" $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="1" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="1" $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"
; Do a sample install and set the password in $VNCPASS variable
$Entry="Password" $Value="$VNCPASS" $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="1" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="1" $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"
; Copy The startup link to the "AllUsers" startup folder
"Starting Help-Desk..." ?
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
"Help-Desk Application Active!" ?
Return
;====================================================================================
; Main Sub's
;
;
;
:UpdateRegKeys
; Update All the values that can be updated by the administrator in each login of the user
"Writing registry info..." ?
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default"
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\WinVNC3"
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
Del "%SystemDrive%\vnc_ins.chk"
CreateCheckFile (%SystemDrive%\vnc_ins.chk)
"Update Completed Successfuly!" ?
Return
:MyAddKey
; Add registry keys
If ExistKey($Key)
If AddKey($Key)
"ABORTING: Error @ERROR adding key $Key" ?
" Additional Info: @SERROR" ?
Exit
EndIf
EndIf
Return
:MyWriteValue
; Write registry Values
If WriteValue($Key,$Entry,$Value,$Type)
"WARNING: Error @ERROR updating $Entry in $Key with value $Value" ?
" Additional Info: @SERROR" ?
EndIf
Return
:MakeDir
; build directory
MD $DirName
If @ERROR
"FATAL: Could NOT create $DirName - maybe already exists" ?
EndIf
Return
:RemDir
; delete directory
RD $DirName
If @ERROR
"FATAL: Could NOT delete $DirName - maybe in use" ?
EndIf
Return
Nu krijg ik bij het inloggen wel netjes de Messagebox te zien. Hij kopieert ook de bestanden lokaal naar Program Files\ORL\VNC maar het programma zelf wordt niet gestart...
Wie kan mij helpen dit script werkend te krijgen of heet er een ander (en beter) script om UltraVNC mee uit te kunnen rollen?
; KiXtart Script
;
; VNCinstall.KIX
;
; Author: Adi Naar
; 20 November 2002
; KIXscripts Forom nickname: naar
;
; written on the basis of R. M. Howarth initial release from 30 April 2001
;
;
;
;
;
; Description:
; simple HelpDesk Application (VNC) for Corporate installation Through Kixtart logon script
;
;
;- in order For this script to work you will need to put the files listed below (Copy from VNC insallation folder) in the same shared folder (path shuld be updated to the $sourcedir variable):
;Msvcirt.dll
;Msvcrt.dll
;omnithread_rt.dll
;VNChooks.dll
;WinVNC.exe
;HelpDesk.lnk (renamed shortcut to winvnc.exe from startup folder)
;
;- you should change the bogous Password in the $vncpass variable by typing your Password into a regular vnc installation AND then Copy the binary "password" value stored in the registry key "HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default"
;
;- the script will check Each time the user logs on If the installation is NOT damaged (some users like to try to delete this files) OR NOT installed AT all. If so the script will reinstall the application.
;
;- Each time a new installation begins there is a message Box alerting the user about the installation (solves problems of privacy laws...) , feel free to change the message Box contenents according to your companys policy.
;
;- this script works good on win9x, winnt, win2000, winxp AND dualboot systems.
;
;======================================================================================================================================
;this script was iplemented on my organisation (150 mechines) AND has reduced my walking hours inside the organisation in AT least 50%.
;
;feel free to mail me (through the foroms of KixEDITOR)about any bougs OR improvments that you make...
;
;enjoy!!!
;
;
;===============================================================================
;
; Clear window and Prevent from Breaking the Script:
;
Break OFF
CLS
;
;===============================================================================
;
; Variable's
;
Global $INSTALLPATH, $VNCPASS, $SOURCEDIR, $STARTUPDIR, $VNCPATH
;
$INSTALLPATH="%SystemDrive%\Program Files"
$VNCPASS="1234567890ABCDE"
$SOURCEDIR="\\server1\Public\Install\VNC"
$STARTUPDIR=ReadValue ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Common Startup")
$VNCPATH="%SystemDrive%\Program Files\ORL\VNC"
;===============================================================================
;
; Functions:
;
Function CreateCheckFile ($Filename,optional $description)
; This function creates a checkfile. You can use it
; for example in your loginscript to check if you
; already executed a certain routine.
If Open( 1 , $Filename, 5 ) = 0
If $Description=""
$x = WriteLine( 1 , "Check File:"+$Filename)
Else
$x = WriteLine( 1 , "Check File:"+$description)
EndIf
Close (1)
EndIf
If Exist ($FileName)
$Result=0
Else
$Result=1
EndIf
$CreateCheckFile=$Result
EndFunction
;===============================================================================
;
; Check if the Workstation is not a Server or as Server used PC.
; IF so, Skip entire script
;
If %SERVER% = 1
OR @WKSTA = "server1"
OR @WKSTA = "server2"
OR @WKSTA = "server3"
OR @WKSTA = "server4"
OR @WKSTA = "server5"
"This mechine is a Company server...Exiting install." ?
Sleep 2
Return
EndIf
;===============================================================================
;
; Check if the machine is under admin logon.
; IF so, Skip entire script
;
If InGroup("Administrators")
"The user is an Administrator...Exiting install." ?
Sleep 2
Return
EndIf
;===============================================================================
;
; Check For older installation of WinVNC and uninstall
;
;
"Checking For old version of VNC Application..." ?
If Exist ("$VNCPATH\Uninst.isu")
"Found old version...Uninstalling" ?
Copy "$VNCPATH\Uninst.isu" "%windir%\Temp"
Shell "%windir%\IsUninst.exe -x -a -f%windir%\Temp\Uninst.isu"
Del "$VNCPATH\*.*"
Del "%windir%\Temp\Uninst.isu"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "RemDir"
$DirName="$INSTALLPATH\ORL" Gosub "RemDir"
"Uninstall Completed successfully!" ?
EndIf
;===============================================================================
;
; Check for partial or Damaged installation of the program:
;
;
"Checking the installation of Help-Desk Application..." ?
If Exist ("$VNCPATH\HelpDesk.lnk")
If Exist ("$VNCPATH\Msvcirt.dll")
If Exist ("$VNCPATH\Msvcrt.dll")
If Exist ("$VNCPATH\omnithread_rt.dll")
If Exist ("$VNCPATH\VNCHooks.dll")
If Exist ("$VNCPATH\WinVNC.exe")
If Exist ("%SystemDrive%\vnc_ins.chk")
If Exist ("$STARTUPDIR\HelpDesk.lnk")
"Help-Desk Application is allready installed..." ?
;program is installed correctly
Goto "UpdateRegKeys"
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
;Preparing for new install (if the program was found to be damaged)
"Found partial Help-Desk installation...fixing!" ?
Del "$VNCPATH\*.*"
Del "%SystemDrive%\vnc_ins.chk"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "RemDir"
$DirName="$INSTALLPATH\ORL" Gosub "RemDir"
"Cleaning Directory's Completed successfully!" ?
;===============================================================================
;
; Update OS's to Run VNC from "All Users" startup folder:
;
;
If Exist ("$STARTUPDIR\Run WinVNC (App Mode).lnk")
Del "$STARTUPDIR\Run WinVNC (App Mode).lnk"
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
EndIf
If Exist ("$STARTUPDIR\HelpDesk.lnk") = 0
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
EndIf
;===============================================================================
;
; Main installation program:
;
;
; Simple Message box in order to notify the user about the new installation
MessageBox("This program will install REMOTE HELP software on your workstation" + Chr(13) + Chr(10) + "in order to improve Your IT Departmant Quality Of Service." + Chr(13) + Chr(10) + "Please Advice that there is a Password protection on this program For extra security." + Chr(13) + Chr(10) + "The Password is saved in your IT Department." + Chr(13) + Chr(10) + "If in any way you find this program offensive please contact your IT Manager.","Remote Help",64)
"Building directory structure..." ?
$INSTALLPATH="%SystemDrive%\Program Files"
$DirName="$INSTALLPATH\ORL" Gosub "MakeDir"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "MakeDir"
"Copying runtime files..." ?
Copy "$SOURCEDIR\*.*" $DirName
CreateCheckFile (%SystemDrive%\vnc_ins.chk)
"Writing registry info..." ?
$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 in $VNCPASS variable
$Entry="Password" $Value="$VNCPASS" $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="1" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="1" $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"
; Do a sample install and set the password in $VNCPASS variable
$Entry="Password" $Value="$VNCPASS" $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="1" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="1" $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"
; Copy The startup link to the "AllUsers" startup folder
"Starting Help-Desk..." ?
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
"Help-Desk Application Active!" ?
Return
;====================================================================================
; Main Sub's
;
;
;
:UpdateRegKeys
; Update All the values that can be updated by the administrator in each login of the user
"Writing registry info..." ?
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default"
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\WinVNC3"
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
Del "%SystemDrive%\vnc_ins.chk"
CreateCheckFile (%SystemDrive%\vnc_ins.chk)
"Update Completed Successfuly!" ?
Return
:MyAddKey
; Add registry keys
If ExistKey($Key)
If AddKey($Key)
"ABORTING: Error @ERROR adding key $Key" ?
" Additional Info: @SERROR" ?
Exit
EndIf
EndIf
Return
:MyWriteValue
; Write registry Values
If WriteValue($Key,$Entry,$Value,$Type)
"WARNING: Error @ERROR updating $Entry in $Key with value $Value" ?
" Additional Info: @SERROR" ?
EndIf
Return
:MakeDir
; build directory
MD $DirName
If @ERROR
"FATAL: Could NOT create $DirName - maybe already exists" ?
EndIf
Return
:RemDir
; delete directory
RD $DirName
If @ERROR
"FATAL: Could NOT delete $DirName - maybe in use" ?
EndIf
Return
Nu krijg ik bij het inloggen wel netjes de Messagebox te zien. Hij kopieert ook de bestanden lokaal naar Program Files\ORL\VNC maar het programma zelf wordt niet gestart...
Wie kan mij helpen dit script werkend te krijgen of heet er een ander (en beter) script om UltraVNC mee uit te kunnen rollen?