Re: winvnc4 commandline sequence/syntax
From your discussion, I can see there's a confusion or misunderstanding in command line options. As far as I can see, some options to winvnc4 are mutually exclusive. For example, when you use -start, PortNumber is ignored. In other words, winvnc4 -start PortNumber=12345 only starts winvnc4 in service mode, and PortNumber is ignored. If you need to specify port 12345, you have to use winvnc4 PortNumber=12345 but then you're in user mode. But I agree with you that there have to be a way to viewable command-line overriding values. But well, the Option window has no place for them, or a redesign is necessary... On Dec 10, 2007 7:16 PM, Dave Stoft [EMAIL PROTECTED] wrote: Ok. So I should think of command-line parms like temporary settings that over-write what winvnc4 reads from the registry and vncconfig can only read from (and write only via manual GUI changes to) the registry. This leaves a final question. When winvnc4 is started, the tray icon (created by starting winvnc4) provides the Options... menu list which appears to start the vncconfig utility. Since I do not see the command-line parm changes listed in the Options... copy of vncconfig, I'm now assuming the Options... access is equivalent to doing a command-line vncconfig -- which only reads the registry as you described. Since the HKLM registry lists the service-mode parms (which are not affected by the command-line) and vncconfig does not display the command-line parm values, are the service-mode command-line parms non-viewable settings? I could understand command-line parms to be single-instance values that take precidence over registry based values, but I'd not expected command-line based configuration values to be non-viewable in the config utility -- maybe not sticky (no change to the registry config values) but still viewable as validation that the command-line changes were accepted and active. Thanks for your clarifications. Dave ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Dave, Specifying parameters on the command-line when starting winvnc4.exe doesn't cause them to be written to the registry, it just causes that copy of winvnc4.exe to use them instead of the corresponding value from the configuration in the registry. vncconfig.exe uses the same mechanism, so if you specify different command-lines to the two programs (or even to two separate copies of vncconfig.exe) you'll get different results. Regards, -- Wez @ RealVNC Ltd -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Stoft Sent: 08 December 2007 00:27 To: vnc-list@realvnc.com Subject: winvnc4 commandline sequence/syntax Remaining question; why does the following fail? winvnc4 -register PortNumber=5977 It doesn't. What makes you think it's not working for you? -- Wez @ RealVNC Ltd Here's the sequence; the values are arbitrary. HKLM shows the value to be 5980 HKU shows the value to be 5970 (not that it should matter) winvnc4 -register PortNumber=5977 winvnc4 -start vncconfig -service (or rt-click : Options...) Shows the value to still be 5980, not 5977. I expected it to have changed. I've assumed that the result of setting the parm via commandline when registering should result in that parm being set to the new value when looking at the config after a -start. A check of the registry shows the setting was not changed either. I'd assumed it should, or at least the config setting of the running service would have changed, so I described what I see as either a failure or that I've done something incorrectly. In other words, winvnc4 -register PortNumber=5977 and winvnc4 -register appear to product the same result -- the original value in the registry is used either way. Should I not have expected to see the setting changed after the -start ? Dave ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
Re: winvnc4 commandline sequence/syntax
On Dec 7, 2007 11:24 AM, Dave [EMAIL PROTECTED] wrote: Thanks for everyone's contributions. I looked at the various suggestions, claims and facts and experimented a bit to discover the following: 1 - winvnc4.exe runs the same from any directory 2 - command-line execution of vncconfig.exe only applies to 'user' mode not to 'service' mode If you want to change parameters in service mode, use: vncconfig -service 3 - only the rt-click : Options... will look at 'service' mode config data See above [snipped] 9 - winvnc4.exe -register /-start / -stop / -unregister may not be required in all cases, but it appears to be a complete, reliable, repeatable sequence -- nice for scripts. The Win services list does show the VNC service as it should be. FYI, you could also use Windows' way of stopping and starting service, ie: net stop winvnc4 net start winvnc4 Personally, I suppose this is better. So, I considered the simplified case of attempting to affect a single, service-mode config parameter. However, none of the following or their variants have any affect on the the Port Number parm when verified via the rt-click : Options... of the service icon. In fact, it appears that nothing except the -register command-line switch is recognized. Since you've started to play with the registry, I'd suggest you: stop the service, change port number, restart the service For me, this works. None of these do anything except register the service; other parameters are ignored. The syntax listed by winvnc4 -help is: winvnc4 -register options... where setting=value is listed as the syntax for parameters and PortNumber is listed as a parameter. Perhaps there is something else missing from the sequence for using winvnc4.exe? winvnc4 -register PortNumber=5977 winvnc4 -register -portnumber=5977 winvnc4 -register -portnumber 5977 winvnc4 -register PortNumber=5977 winvnc4 -portnumber=5977 -register winvnc4 -register -vncconfigfile config.vnc winvnc4 -register -vncconfigfile c:\...\config.vnc winvnc -portnumber=5977 ...starts VNC in user mode, but also ignores the parameter I'm afraid you misread, or misunderstood the command line options. It's written that Parameter values specified on the command-line override those specified by other configuration methods, but I DON'T think that would imply that the parameter WILL BE written to the original parameter. Anyway, when I use winvnc4 PortNumber=5902 I was able to verify that the port 5902 was indeed open, instead of 5900. But this VNC is in user mode. While I will write the scripts to modifying HKLM to configure the vnc4 service, I'd expected something a bit more usable from the command line for VNC. However, I would still find it instructive to know the root cause of these symptoms and what is required to utilize command-line options when establishing a vnc4 service. ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Dave wrote: Thanks for everyone's contributions. I looked at the various suggestions, claims and facts and experimented a bit to discover the following: [ snip ] While I will write the scripts to modifying HKLM to configure the vnc4 service, I'd expected something a bit more usable from the command line for VNC. However, I would still find it instructive to know the root cause of these symptoms and what is required to utilize command-line options when establishing a vnc4 service. Thanks to all. Dave Were I in your shoes, I would find a program that enables me to make changes to the Registry from the command line. I use Cygwin programs, which is a port of many Linux packages to the Windows platform (using DLLs and, to a lesser extent, the Registry), and one of its 'fictions' is that there is a /proc filesystem; the Registry is available under /proc. It is quite simple to write a BASH, CSH, or KSH script (all available with Cygwin) to modify the Registry (not that I have /any/ idea of what key to modify!). Just a thought. Goss ... Innovation for Business NOTICE: This e-mail and any attachment(s) may contain confidential and proprietary information of Goss International Corporation and/or its subsidiaries and may be legally privileged. This e-mail is intended solely for the addressee. If you are not the addressee, dissemination, copying or other use of this e-mail or any of its content is strictly prohibited and may be unlawful. If you are not the intended recipient please inform the sender immediately and destroy the e-mail and any copies. All liability for viruses is excluded to the fullest extent permitted by law. Any views expressed in this message are those of the individual sender. No contract may be construed by this e-mail. ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
[snip] 2 - command-line execution of vncconfig.exe only applies to 'user' mode not to 'service' mode 3 - only the rt-click : Options... will look at 'service' mode config data This is not true. You need to supply the -service command-line option to VNC Config see the Service-Mode settings. 4 - HKLM/Software/RealVNC/WinVNC4 lists 'service' config data 5 - HKU/user_account/Software/RealVNC/WinVNC4 lists 'user' config data These are referred to as the Service-Mode and User-Mode configurations, mainly to avoid confusion with the Service Control Manager's configuration entries for the VNC Server Service... 6 - HKLM/System/CurrentControlSet/Services/WinVNC4 has a field called ImagePath which shows the command-line command that was entered. Interesting I guess. This is not true. It includes the command-line options that followed -register, as per the help text. 7 - The 'service' config info _can_ be changed directly via the registry directives Yes. What behaviour were you expecting? 8 - Changes to the registry, via HKLM, appear to be accepted at any time and, if the VNC icon access to config, via Options..., is to be believed, the changes are live and active immediately That will depend upon the particular setting you change. Some settings have no effect until the server is restarted. So, I considered the simplified case of attempting to affect a single, service-mode config parameter. However, none of the following or their variants have any affect on the the Port Number parm when verified via the rt-click : Options... of the service icon. [snip] Loading the VNC Config dialog will load the settings from the registry and display them, and optionally write them back to the registry if one or more of the values are changed. It has no awareness of nor effect on command-line parameters passed to the server. Regards, -- Wez @ RealVNC Ltd ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Remaining question; why does the following fail? winvnc4 -register PortNumber=5977 It doesn't. What makes you think it's not working for you? -- Wez @ RealVNC Ltd ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Dave, We received your support request around midnight 18th Nov 2007, and it was dealt with the following morning. I'll have the response re-mailed to you, since it seems to have gone missing. Regards, -- Wez @ RealVNC Ltd -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Stoft Sent: 05 December 2007 00:10 To: vnc-list@realvnc.com Subject: Re: winvnc4 commandline sequence/syntax James, thanks for the clarification.Could you add a bit more detail? I'd originally submitted my questions to the support center for the product I own, but never received a response. This list appeared to be the more active alternative. It's helpful, and appreciated, to have feedback from RealVNC. ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Yes, the registry key you mention below is where -register puts the remaining arguments. -stop'ing, changing that key and -start'ing WinVNC4 should have the desired effect, although I think SCM does some caching of the registry, so the -unregister -register method may be safer. If you're going to fiddle with the registry, though, why not just set the VNC server's settings via the normal registry location? Cheers, -- Wez @ RealVNC Ltd -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Rosin Sent: 05 December 2007 09:12 To: Dave Stoft Cc: vnc-list@realvnc.com Subject: Re: winvnc4 commandline sequence/syntax On Tue, Dec 04, 2007 at 04:09:56PM -0800, Dave Stoft wrote: My conclusion has been that I have misunderstood the syntax or application of the syntax with the command-line method but I have been unable to locate explicit examples to show where I made the error(s). Can you point to the flaw(s) in my understanding or methodology? Thank in advance to anyone with suggestions. The command line arguments to the service is specified in the registry. You should change HKLM\System\CurrentControlSet\WinVNC4\ImagePath from the typical C:\Program Files\RealVNC\VNC4\winvnc4.exe -service to something of your liking, e.g. C:\Program Files\RealVNC\VNC4\winvnc4.exe -service -vncconfigfile C:\vnc\my_config_file.vnc (Please note that the actual executable needs to be surrounded with quotes if its path contains spaces. I don't know how you should quote spaces in the arguments, that might depend on the winvnc4 implementation.) After that, do winvnc4 -start There is no need to register/unregister around each start/stop. Disclaimer: This is all untested, but I beleive it matches what Wez said. Cheers, Peter ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
Re: winvnc4 commandline sequence/syntax
On Tue, Dec 04, 2007 at 04:09:56PM -0800, Dave Stoft wrote: My conclusion has been that I have misunderstood the syntax or application of the syntax with the command-line method but I have been unable to locate explicit examples to show where I made the error(s). Can you point to the flaw(s) in my understanding or methodology? Thank in advance to anyone with suggestions. The command line arguments to the service is specified in the registry. You should change HKLM\System\CurrentControlSet\WinVNC4\ImagePath from the typical C:\Program Files\RealVNC\VNC4\winvnc4.exe -service to something of your liking, e.g. C:\Program Files\RealVNC\VNC4\winvnc4.exe -service -vncconfigfile C:\vnc\my_config_file.vnc (Please note that the actual executable needs to be surrounded with quotes if its path contains spaces. I don't know how you should quote spaces in the arguments, that might depend on the winvnc4 implementation.) After that, do winvnc4 -start There is no need to register/unregister around each start/stop. Disclaimer: This is all untested, but I beleive it matches what Wez said. Cheers, Peter ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
Re: winvnc4 commandline sequence/syntax
James, thanks for the clarification.Could you add a bit more detail? I'd originally submitted my questions to the support center for the product I own, but never received a response. This list appeared to be the more active alternative. It's helpful, and appreciated, to have feedback from RealVNC. As reference, assume all files are in the same directory c:\vnc, that I have VNC4.3.2 personal edition installed via Administrator and that account is being used for all command-line actions. Also assume that VNC4 was originally installed as a service, but was later unregistered so as to allow the register-start-stop-unregister cycle to be sequenced at any later time via command-line. So, yes, the HKLM registry values have been established. The objective is to update some of them on each re-invocation of the service. I understand you to say that: winvnc4.exe -register will pick up the config data from HKLM for use when I start the service with winvnc4.exe -start This makes sense. However, if the command-line config is available for the service mode, then I would expect: winvnc4.exe -register PortNumber=5950 HTTPPortNumber=5850 - or - winvnc4.exe -register -vncconfigfile my_config_file.vnc ...where my_config_file.vnc consists of two lines: PortNumber=5950 HTTPPortNumber=5850 to work and that either of the above would change (update) the HKLM to reflect these selections prior to registering the service so that when: winvnc4.exe -start is used, after the -register step, invoking the 'Options...' window of the newly running service, or suing: vncconfig (same thing, right?) would show the changes (updates) as specified via either command-line method. However, I have not been able to observe this; the config data is only affected by making the changes manually via the 'Options...' selection from the VNC Icon or 'vncconvig.exe' window. Is a command-line step required prior to the -register step to update the HKLM so that the Win registry is changed before the -register switch is used? My conclusion has been that I have misunderstood the syntax or application of the syntax with the command-line method but I have been unable to locate explicit examples to show where I made the error(s). Can you point to the flaw(s) in my understanding or methodology? Thank in advance to anyone with suggestions. Dave Hi Derek, It appears to me (correct me if I'm wrong, VNC guys) that there are two ways to run VNC - service mode (with -start, -register, - unregister, -stop, etc) and in user mode (where you can specify config parameters on the command line) and never the twain shall meet. If you specify command line parameters, they are only used when using VNC in user mode. You're wrong. ;) Both modes support both registry command-line based configuration parameters, although obviously when in Service-Mode the parameters are those passed to the program by the Service Control Manager, which are pulled from the service's configuration, which is actually in the registry. Note that the User-Mode and Service-Mode registry settings live in different locations, User-Mode settings being per-user and Service-Mode settings being per-machine. Cheers, -- Wez @ RealVNC Ltd ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Hi Dave, Please submit support requests for VNC Enterprise Edition via http://www.realvnc.com/support.html. Cheers, -- Wez @ RealVNC Ltd -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Stoft Sent: 01 December 2007 02:54 To: vnc-list@realvnc.com Subject: winvnc4 commandline sequence/syntax I've been unable to find a clear reference for programatic start, config and stop of a vnc4.3.2 server. My guess at the syntax and sequence does not control the server settings that were created via the windows interface. - On Win2k or XP - The VNC4.3.2 package installed correctly - The server/viewer work when run as a background server that always starts on boot and where the config is setup via the windows interface - Assume all files are in the same working directory. - My objective is to start and config the vnc server via a script so the settings are dynamic. winvnc4.exe -register -vncconfigfile configfilename.vnc winvnc4.exe -start or... winvnc4.exe -register Hosts=ip addr PortName=5900 etc. winvnc4.exe -start In either case, the server is registered as a service and the -start gets it running (and a winvnc4.exe -stat shows this) but the config settings (as found by Tray : RtClk : Options... show no effect to the config settings either listing them in the command line or in a command file. VNC gives no error. Deliberately messing with the syntax will produce an error so the command-line options and switches are being recognized. winvnc4.exe -stop winvnc4.exe -unregister Both of these work w/o error. vncconfig.exe This only runs the windows interface. It appears to ignore all command line parms and switches. What did I miss in understanding the syntax or usage? If I had to re-set the config after starting the server, that's ok, but I've not found a way to do that. According to the VNC docs (though they do not show command line examples) is that a command-line interface for config is available. Thanks. Dave ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
RE: winvnc4 commandline sequence/syntax
Hi Dave, I'm not on the RealVNC team or anything but have been working with VNC on the command line for a little while now and have been looking through the code [1]. It appears to me (correct me if I'm wrong, VNC guys) that there are two ways to run VNC - service mode (with -start, -register, - unregister, -stop, etc) and in user mode (where you can specify config parameters on the command line) and never the twain shall meet. If you specify command line parameters, they are only used when using VNC in user mode. This is the impression I get from reading winvnc.cxx, line 102, static void processParams() (RealVNC 4.1.2 src). To set parameters for the service mode VNC you have to put them in the registry, under HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC. The way I figured this out was to install and configure VNC from the system tray, then look in the registry to get the appropriate settings, then you can create a .reg file with these settings and run that off the command line (this may sound complicated but I had to use the command line for everything, rather than invoking the code directly). If there's a better way than this, let me know it. :o) Also, let me know if I've got any of this wrong. D. (Adelaide, South Australia) [1] My issue is to try to run VNC as a service, but then to occasionally run it from the commandline as well with different parameters (resulting in two VNC servers running on the same machine on different ports with different parameters). -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Stoft Sent: Saturday, 1 December 2007 1:24 PM To: vnc-list@realvnc.com Subject: winvnc4 commandline sequence/syntax I've been unable to find a clear reference for programatic start, config and stop of a vnc4.3.2 server. My guess at the syntax and sequence does not control the server settings that were created via the windows interface. - On Win2k or XP - The VNC4.3.2 package installed correctly - The server/viewer work when run as a background server that always starts on boot and where the config is setup via the windows interface - Assume all files are in the same working directory. - My objective is to start and config the vnc server via a script so the settings are dynamic. winvnc4.exe -register -vncconfigfile configfilename.vnc winvnc4.exe -start or... winvnc4.exe -register Hosts=ip addr PortName=5900 etc. winvnc4.exe -start In either case, the server is registered as a service and the -start gets it running (and a winvnc4.exe -stat shows this) but the config settings (as found by Tray : RtClk : Options... show no effect to the config settings either listing them in the command line or in a command file. VNC gives no error. Deliberately messing with the syntax will produce an error so the command-line options and switches are being recognized. winvnc4.exe -stop winvnc4.exe -unregister Both of these work w/o error. vncconfig.exe This only runs the windows interface. It appears to ignore all command line parms and switches. What did I miss in understanding the syntax or usage? If I had to re-set the config after starting the server, that's ok, but I've not found a way to do that. According to the VNC docs (though they do not show command line examples) is that a command-line interface for config is available. Thanks. Dave ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email. ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
Re: winvnc4 commandline sequence/syntax
D. Thanks; your description fits the symptoms. Would have been nice if VNC4 had included this in the docs; maybe it's a legacy 'feature'. I did wander the path of editing the registry and that does look like the best alternative. I'd assumed I should be able to config at the time of registering since the service would not yet be active. Now I'll just add a few lines in the script to change the existing config in the Win registry prior to VNC4 registration and start; that way it's all nicely automated. I'm wanting to run only one server, but I want programatic control over the config when it runs so I can dynamically alter the access rights per session plus not leave the service always on. So, I need servic mode which can run VNC4 when the system is locked and the user logged-out. Thanks for your clear description. Dave Hi Dave, I'm not on the RealVNC team or anything but have been working with VNC on the command line for a little while now and have been looking through the code [1]. It appears to me (correct me if I'm wrong, VNC guys) that there are two ways to run VNC - service mode (with -start, -register, - unregister, -stop, etc) and in user mode (where you can specify config parameters on the command line) and never the twain shall meet. If you specify command line parameters, they are only used when using VNC in user mode. This is the impression I get from reading winvnc.cxx, line 102, static void processParams() (RealVNC 4.1.2 src). To set parameters for the service mode VNC you have to put them in the registry, under HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC. The way I figured this out was to install and configure VNC from the system tray, then look in the registry to get the appropriate settings, then you can create a .reg file with these settings and run that off the command line (this may sound complicated but I had to use the command line for everything, rather than invoking the code directly). If there's a better way than this, let me know it. :o) Also, let me know if I've got any of this wrong. D. (Adelaide, South Australia) [1] My issue is to try to run VNC as a service, but then to occasionally run it from the commandline as well with different parameters (resulting in two VNC servers running on the same machine on different ports with different parameters). ___ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list