This isn't a suggestion so much as a question. How
would one remotely upgrade a VNC server installation?
1. VNC client -> VNC server
2. on server, download installer
3. on server, run installer
part way through it will either bomb because a component
it needs to replace is in use, or it will break the connection
to the client.
Seems like there needs to be some sort of special
mode of installation that will run without any intervention.
For instance, start up a secondary VNC server (on a different
port), switch the client to that, upgrade the primary VNC
server, switch back to the upgraded primary (carefully, in case
the install failed), and then upgrade the secondary.
Regards,
David Mathog
Celebrating the 22th anniversary of the UltraVNC: https://forum.uvnc.com/viewtopic.php?t=38031
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Bluesky/AT Protocol: https://bsky.app/profile/ultravnc.bsky.social
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Bluesky/AT Protocol: https://bsky.app/profile/ultravnc.bsky.social
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Remotely upgrade VNC server?
- Rudi De Vos
- Admin & Developer
- Posts: 6883
- Joined: 2004-04-23 10:21
- Contact:
Are you saying that by following those steps one canRudi De Vos wrote:1) Disable driver use !!!!
No multiple instances can be handled by the driver !!!!!!!!!!!!!!!!
2) winvnc -multi (no revers, only standard)
winvnc -multi start a new server on 5901
upgrade a VNC server while simultaneously connected
with a VNC client?
I just tried upgrading RC19.5 to RC20 over a VNC session (but
with no special care, since I don't understand your instructions.)
As expected, the client disconnected part way through the
install. Somewhat unexpectedly the Setup locked up on
the Server end too, leaving an empty "Setup" window
on the desktop. A subsequent reinstall without VNC
connected cleaned everything up.
I've had the same problem many times, and it was pretty annoying when I was not near the server.Mathog wrote:As expected, the client disconnected part way through the
install. Somewhat unexpectedly the Setup locked up on
the Server end too, leaving an empty "Setup" window
on the desktop. A subsequent reinstall without VNC
connected cleaned everything up.
But recently I found out that you can use "Upgrade RC18" instead of install and - guess what - it worked for the first time without a complete crash on the server side
The connection was lost, but it was no problem to reconnect and e.g. initiate a PC restart for the upgrade to become effective.
As already suggested, the string "Upgrade RC18" has to be changed to be clearer about what is actually meant (as currently it indicates that you can only upgrade from RC18...).
just as an example of thinking how you automate updating VNC remotely...
here's my solution with HTTP access, batch file and some commandline tools. destributed in an SFX package it has been working fine to me so far.
in the same directory where this batch file exists, there is supposed to be a sub directory named _update including:
kill.exe ... pskill.exe from http://www.sysinternals.com/ntw2k/freeware/pskill.shtml
sleep.exe ... D source code
unzip.exe ... unzip.exe from http://www.info-zip.org/pub/infozip/
wget.exe ... wget.exe from http://allserv.ugent.be/~bpuype/wget/
here's my solution with HTTP access, batch file and some commandline tools. destributed in an SFX package it has been working fine to me so far.
Code: Select all
@echo off
:init
set bindir=_update
set logfile=%bindir%\vncupdate.log
set zipfile=filename.zip
set suffix=.old
set url=http://hostname:port/%zipfile%
:check
if exist %logfile% attrib -H %logfile%
type nul>%logfile%
:download
echo Deleting previous update...
del /Q %zipfile% >nul 2>nul
echo Downloading update...
echo Downloading update...>>%logfile%
%bindir%\wget -c %url% >nul 2>nul
if not "%errorlevel%"=="0" (
echo ERROR: Failed to download update.>>%logfile%
if not exist %zipfile% goto exit
goto stopsvc
)
echo Update was successfully downloaded.>>%logfile%
:stopsvc
echo Stopping VNC Server...
echo Stopping VNC Server...>>%logfile%
%bindir%\kill winvnc.exe >nul 2>nul
if not "%errorlevel%"=="0" (
echo ERROR: Failed to stop VNC Server.>>%logfile%
goto update
)
net stop "vnc server" >nul 2>nul
echo VNC Server was successfully stopped.>>%logfile%
%bindir%\sleep 1
:update
echo Updating VNC Server...
echo Updating VNC Server...>>%logfile%
%bindir%\unzip -o %zipfile% >nul 2>nul
if not "%errorlevel%"=="0" (
echo ERROR: Failed to replace VNC Server.>>%logfile%
goto startsvc
)
echo VNC Server was successfully replaced.>>%logfile%
echo Removing temporary files...
echo Removing temporary files...>>%logfile%
move /Y %zipfile% %bindir%\%zipfile%%suffix% >nul 2>nul
del /Q %zipfile% >nul 2>nul
if exist %zipfile% (
echo ERROR: Failed to remove temporary files.>>%logfile%
)
:startsvc
echo Starting VNC Server...
echo Starting VNC Server in service mode...>>%logfile%
net start "vnc server" >nul 2>nul
if not "%errorlevel%"=="0" (
echo ERROR: Failed to start VNC Server in service mode.>>%logfile%
echo Starting VNC Server in user mode...>>%logfile%
winvnc -run >nul 2>nul
if not "%errorlevel%"=="0" (
echo ERROR: Failed to start VNC Server in user mode.>>%logfile%
goto exit
)
echo VNC Server was successfully started in user mode.>>%logfile%
goto exit
)
echo VNC Server was successfully started in service mode.>>%logfile%
:exit
echo Update finished.>>%logfile%
attrib +H %logfile%
kill.exe ... pskill.exe from http://www.sysinternals.com/ntw2k/freeware/pskill.shtml
sleep.exe ... D source code
unzip.exe ... unzip.exe from http://www.info-zip.org/pub/infozip/
wget.exe ... wget.exe from http://allserv.ugent.be/~bpuype/wget/
Lizard
lizard: Sorry about my ignorance, but ... how can I compile sleep.d and build sleep.exe ?
TIA
TIA
Last edited by Sergio on 2005-03-11 14:11, edited 1 time in total.
- Rudi De Vos
- Admin & Developer
- Posts: 6883
- Joined: 2004-04-23 10:21
- Contact:
Hello, Rudi!
the .d file is a D source file. You can compile it with a D compiler.
more details available here.
or you might want to download the compiled binary.
i'm sorry i didn't put it together in the .zip file.
Regards
the .d file is a D source file. You can compile it with a D compiler.
more details available here.
or you might want to download the compiled binary.
i'm sorry i didn't put it together in the .zip file.
Regards
Lizard
Good proof of concept. For ease of use it leaves somethinglizard wrote:just as an example of thinking how you automate updating VNC remotely...
to be desired. One can imagine that most administrators
would much prefer an "update VNC on remote machine"
button and have some part of the UltraVNC package do
the heavy lifting.
Since you're moving stuff around from a .zip file presumably VNC
doesn't show up in the add/remove programs control panel, unless it was already there, right?
Thanks for script.