VMware View Client as a shell for XPe and XP Pro clients
Using the Win32 View Client on XPe or XP Pro will allow you to use the full featured View client with all the bells and whistles. The problem is that it's still XP and can be confusing to your users to have them log into one desktop just to send them to another virtual desktop. So how can we fix that? If you replace the shell with the View client you can eliminate the XP desktop and on a boot of the client the only interface presented to a user is the View Client. This makes logging in simple and clean. The problem with just replacing the shell with the View client is that once the user exits, logs out, or just accidentally closes the client, It will not start again automatically. Below is a way to have the Client restart automatically and hide the needed command window.
The following instructions will hide the XP desktop and present the user with just the View client and will restart if it gets closed. This was done on an HP t5730 Thin client but the process should be the same for most XPe Thin clients and even a repurposed XP Pro desktop.
Create a View.cmd file with the following.
@echo off
:View
"C:\Program Files\VMware\VMware View\Client\bin\wswc.exe"
goto View
Place it where ever you like, c:\BatchFiles for example
Create a vbs script with the following in it. Place it wherever you like C:\BatchFiles for example.
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\BatchFiles\view.cmd" & Chr(34), 0
Set WshShell = Nothing
Open Regedit and go to ;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Change Shell from explorer.exe to the new shell path and the Windows Scripting command, e.g wscript c:\BatchFiles\view.vbs
Commit the changes to the flash drive if using XPe.
ewfmgr c: -commit
Reboot. Enjoy the new View only interface!
Once this is done there will be no desktop for any users, including Administrator. You can still get to the Task Manager with a CTRL-ALT-DEL but the interface is gone. You can modify the Registry setting to use a specific user by logging in as that user and modifying HKEY_CURRENT_USER instead.
Is there a way to do this on linux thin clients?
Posted by: mike | 02/19/2009 at 01:04 PM
Not quite in the same way. You can download the open source linux client and create something from that but some functionality will be missing due to the open source license. We will be doing another blog post soon on how to do that as well so stay tuned.
Posted by: Jason Marshall | 02/19/2009 at 01:13 PM
Thanks, Jason.
Also - where can I find documentation on customizing the linux client's .vmware file?
If the core of the VMware view client relies on rdesktop, how can I edit the command it's passing through to redirect USB ports and sound?
Posted by: mike | 02/19/2009 at 02:35 PM
Right now I don't think that is publicly available. and you can't. It is a current limitation of the Open source client. There will be future versions that should enable that functionality.
Posted by: Jason Marshall | 02/20/2009 at 12:08 PM
I am using this method now on an XPe thin client. Thanks a lot for the tips.
Question:
How could I setup the wswc.exe to allow it to fill in the username, password, domain and login to View without the user having to click on the login/OK button?
Is it via the non interactive parameter or something else?
thanks a lot,
James
Posted by: James | 03/04/2009 at 11:51 PM
There is a GPO setting that can be used if the Client is XP pro and on a Domain. However the simplest way to do it if you are using the above is to just add it to the script! Open a cmd window browse to the wswc.exe location and type "wswc /?" for the list. In there you will see several options, including username and password :)
Posted by: Jason Marshall | 03/05/2009 at 05:25 AM
Hi Jason,
thanks! The /? does provide options to autofill the username, password, serverURL and domain.
However, it stopped short to actually log in, as there's a login button that I have to click on. What should i modify to the vbs/cmd file to execute the login?
another question, are there options to do connection to Pool name -> desktop?
thanks a lot,
James
Posted by: James | 03/07/2009 at 04:38 AM
Sorry for the dealy, basically the answer is no, not today. You can pre-populate all the stuff but still need to click connect. I am sure there would be a way to script it in vbs but that is beyond my skill sets. We are looking at doing Kiosk in the future but I can not comment on timeframe on this blog.
Posted by: Jason Marshall | 03/11/2009 at 07:23 AM
Hi Jason,
A T5730 is normally set by default to login with the local user account. It's better perhaps to target modifying this account's shell registry setting and then you can always force a logoff holding down the Shift Key to log back in as the Administrator?
I typically use the REG command to "load" the User's hive, modify the shell, thun unload again.
Cheers,
Dave
Posted by: David Caddick | 03/24/2009 at 03:07 AM
I have posted a set of scripts which will do most of this automatically for you. You can check it out here:
http://vmjunkie.wordpress.com/2009/04/01/making-a-thin-client-on-fat-hardware-part-2/
check out the part about "AutoView".
Posted by: Justin | 04/02/2009 at 10:38 AM
Hi Jason,
We have been using this configuration for a while and I have a few questions. Do you know of a way to disable the Minimize Button on the View Client? Also why are you using a vbscript to call a batch script? Why not just do it all from the vbscript?
Set WshShell = CreateObject("WScript.Shell")
do
WshShell.Run chr(34) & "C:\Program Files\VMware\VMware View\Client\bin\wswc.exe" & Chr(34), 1, true
loop
Set WshShell = Nothing
Thanks,
Jared
Posted by: Jared Scott | 09/17/2009 at 04:23 PM
This is great but if you change for local user what do you do if you want to modify something later? You know even just the power settings or something?
Posted by: PDicky | 10/16/2009 at 10:32 AM
Jason, please contact me at VMware
Posted by: Lynn | 03/11/2010 at 11:38 AM
So everything looks like its working just fine.
Got the AutoView working, GPO's pointing to Pools, etc.
My only problem is that when a user logs off the VDI session it auto logs them back on.
Any idea how to issue a logoff command to the Thin Client when the user logs off their VDI?
Posted by: Scott | 11/08/2010 at 10:17 AM
Although this seems to work great at first, it seems to disable usb redirection somehow.
Posted by: Gerben Tiele | 12/13/2010 at 02:04 AM
Thanks Jason for publishing this. It was really helpful.
While researching on this topic, found another website that copied your article and published it as-is.
http://hyperinfo.wordpress.com/2009/06/26/vmware-view-client-as-a-shell-for-xpe-and-xp-pro-clients/#comment-170
Posted by: Pman | 09/26/2011 at 12:40 PM