TightVNC
From WPKG | Open Source Software Deployment and Distribution
I prefer TightVNC over UltraVNC, essentially because they have viewers also for other operating systems and I'm not stuck on browser/java viewer under my preferred OS.
I install and manage TightVNC with the following XML package description:
<package id="tightvnc" name="TightVNC server" revision="129" priority="50" reboot="false"> <check type="uninstall" condition="exists" path="TightVNC 1.3.8" /> <install cmd="%SOFTWARE%\tightvnc\tightvnc-1.3.8-setup.exe /sp- /verysilent" /> <install cmd="%ProgramFiles%\TightVNC\WinVNC.exe -reinstall" /> <install cmd="%ProgramFiles%\TightVNC\WinVNC.exe -servicehelper" /> <install cmd='cmd /c netsh firewall add allowedprogram program = %ProgramFiles%\TightVNC\WinVNC.exe name = "Launch TightVNC Server"' /> <upgrade cmd='%SOFTWARE%\tightvnc-1.3.8-setup.exe /sp- /verysilent' ><exit code="0" reboot="true" /></upgrade> <upgrade cmd="%ProgramFiles%\TightVNC\WinVNC.exe -reinstall" /> <upgrade cmd="%ProgramFiles%\TightVNC\WinVNC.exe -servicehelper" /> <upgrade cmd='cmd /c netsh firewall add allowedprogram program = %ProgramFiles%\TightVNC\WinVNC.exe name = "Launch TightVNC Server"' /> <remove cmd='"%ProgramFiles%\TightVNC\WinVNC.exe" -remove' /> <remove cmd='"%ProgramFiles%\TightVNC\unins000.exe" /silent' /> </package> <package id="tightvnc-settings" name="TightVNC server settings" revision="3" priority="5" reboot="false" execute="once"> <depends package-id="tightvnc"/> <install cmd='cmd /c "%SOFTWARE%\tightvnc\tightvnc.bat"' /> <upgrade cmd='cmd /c "%SOFTWARE%\tightvnc\tightvnc.bat"' /> <remove cmd='echo "nothing"' /> </package>
TightVNC is a simple batch script that setup TightVNC server and restart it:
:: start, restart or apply settings to tightvnc :: net stop "VNC Server" regedit /s %SOFTWARE%\tightvnc\tightvnc.reg net start "VNC Server" :: For some unknown reason the servicehelper does not restart. :: %ProgramFiles%\TightVNC\WinVNC.exe -servicehelper :: we ignore errors... :: exit 0
tightvnc.reg contains the setup of the server, most notably the access password, i.e. I can use as a registry patch:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ORL] [HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3] "MSLogonRequired"=dword:00000001 "NewMSLogon"=dword:00000001 "ACL"=hex:02,00,08,00,00,00,00,00 "ConnectPriority"=dword:00000002 "LoopbackOnly"=dword:00000000 "EnableHTTPDaemon"=dword:00000001 "EnableURLParams"=dword:00000000 "AllowLoopback"=dword:00000000 "AuthRequired"=dword:00000001 "DebugMode"=dword:00000000 "DebugLevel"=dword:00000002 [HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default] "SocketConnect"=dword:00000001 "AutoPortSelect"=dword:00000001 "InputsEnabled"=dword:00000001 "LocalInputsDisabled"=dword:00000000 "IdleTimeout"=dword:00000000 "LocalInputsPriorityTime"=dword:00000003 "QuerySetting"=dword:00000002 "QueryTimeout"=dword:0000001e "QueryAccept"=dword:00000000 "QueryAllowNoPass"=dword:00000000 "LockSetting"=dword:00000000 "RemoveWallpaper"=dword:00000001 "BlankScreen"=dword:00000000 "EnableFileTransfers"=dword:00000001 "PollUnderCursor"=dword:00000000 "PollForeground"=dword:00000001 "PollFullScreen"=dword:00000000 "OnlyPollConsole"=dword:00000001 "OnlyPollOnEvent"=dword:00000000 "PollingCycle"=dword:0000012c "DontSetHooks"=dword:00000000 "DontUseDriver"=dword:00000000 "DriverDirectAccess"=dword:00000001 "LocalInputsPriority"=dword:00000000 "Password"=hex:e6,ee,26,ee,00,e2,e6,5b "PasswordViewOnly"=hex:38,9a,aa,ee,ef,63,ef,e5
NOTE that passwords are crypted, but this is no a paranoid setup, someone can easily have access to the registry patch and try to decrypt the password.