[THIN] Re: ARTICLE: Running VMWare workstation VM's as a service

  • From: "Alexander Danilychev" <teknica@xxxxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Fri, 25 Jun 2004 02:58:42 -0700

Thanks, Jim.

Interesting article, although it is basically an attempt to explore (hack?) VMware Workstation in search of extra enhancements.

Have to try it myself -- most likely there are issues in interface access when run as a service and possibly a performance hit. Have serious reservations ? it is hard to avoid $$$ for VMware server with a $189 workstation when development/UAT are not the only target. I use both ESX server and Workstation with high satisfaction without major customization.

Note that the author does come across to be very familiar with the core VMware competency ? virtual servers. ESX 2.1 can automatically start/stop selected/all guest OSes when VMware host is started/halted. Probably the same is true for the latest GSX.

I would be more interested to see if anyone knows how to control VMware workstation remotely. It appears that besides simple command line for starting/stopping of the workstation guest OS (does not need the hack mentioned in the article), there is no programmatic access to VMware Workstation (4.5 at this time). SDKs are available for GSX and ESX servers only.

PS. Check this link:
http://chitchat.at.infoseek.co.jp/vmware/

ALEX


From: "Jim Kenzig http://thin.net"; <jimkenz@xxxxxxxxxxxxxx>
Reply-To: thin@xxxxxxxxxxxxx
To: thin@xxxxxxxxxxxxx
Subject: [THIN] ARTICLE: Running VMWare workstation VM's as a service
Date: Thu, 24 Jun 2004 22:30:31 -0400

The June issue of Windows .Net magazine has a good article about how to run VMware VM's as a service which may interest some of you:
See


http://www.winnetmag.com/Windows/Article/ArticleID/42607/42607.html





VMware?At Your Service!
Run VMware Workstation VMs as services
Chris Wolf
Feature
InstantDoc #42607
Windows & .NET Magazine

If you're a VMware enthusiast, you've probably on more than one occasion wanted to log off from your computer while leaving your virtual machines (VMs) running. Or, maybe you've wanted selected VMs to start as soon as your system boots so that your host system can log on to a domain controller (DC) running inside one of the host machine's VMs. Sound too good to be true? That's what I thought. I assumed that logging off of my computer and having my VMs remain running was an unattainable dream. But I discovered that getting VMs to run as services is possible and very easy to configure.

Tools for Service
VMware doesn't natively support running its software as a service, but configuring VMware Workstation 4.0 VMs to run as services is almost as easy as tying your shoes. All you need to get started are two tried-and-true Windows resource kit tools: instsrv.exe and srvany.exe. Both tools are available as free downloads. Go to http://www.microsoft.com/downloads, enter Windows 2003 Resource Kit Tools in the Keywords field, and click Go. Then, click the Windows Server 2003 Resource Kit Tools Download button at the Windows Server 2003 Resource Kit Tools Web page to download rktools.exe?which contains the most recent versions of Instsrv and Srvany?and run the executable to install the tools on your system.


Note that you can install the Windows 2003 resource kit tools on a Windows 2003 or Windows XP system. If your host system runs Windows 2000 or Windows NT, you can acquire Instsrv and Srvany from the Win2K or NT resource kit CD-ROMs or you can install the Windows 2003 resource kit tools on an XP system and just copy Instsrv and Srvany from the XP system to the %windir% folder on your Win2K or NT host system. The Windows 2003 versions of Instsrv and Srvany run on the earlier OSs without any problems.

Getting Started
Installing the resource kit tools updates the system path to include the resource kit installation folder. Updating the path requires a reboot, so be sure to reboot your system after installing the resource kit. Alternatively, you can copy Instsrv and Srvany to a folder already in the path, such as the folder C:\windows\system32.


With the resource kit files in place, your next task is to determine the location of the VMware application's vmware.exe file. I used the default settings when installing VMware, so the path I needed was C:\program files\vmware\vmware workstation\vmware.exe.

The last bit of information that you need before you configure the new service is the path to the configuration file of the VM that you want to turn into a service. This file is in the folder in which the VM was created and has a .vmx extension. All my VMs are stored on my system's E drive, so the path to the .vmx file of the VM that I want to run as a service is E:\vms\w2k1\w2k1.vmx. When you have the vmware.exe path and a VM's .vmx path information, you're ready to create the service.

Creating the Service
First, decide on a name for the service. I prefer to preface the name of the VM with VM_ to form the service name. For example, I would give my VM named W2K1 the service name VM_W2K1. After you decide on the service name, you can use the following syntax to set up the service:


instsrv <VM service name>
  <Srvany path>
So a sample command might be

instsrv VM_W2K1
c:\windows\srvany.exe
Now you need to modify the service's parameters by using a registry editor and the Microsoft Management Console (MMC) Windows Services snap-in. In the registry editor, navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<VM service name> subkey. Right-click the VM service name, select New, then click Key. Name the new subkey Parameters.


Right-click the Parameters subkey, select New, then click String Value. Name the new value Application. Double-click the Application value and enter the path to the vmware.exe file on your host system (put the pathname in double quotation marks), followed by -x, followed by the path to the VM's .vmx file (put the pathname in double quotation marks). For my configuration, I used the string value "C:\program files\vmware\vmware workstation\vmware.exe" -x "e:\vms\w2k1\w2k1.vmx". Close the registry editor.

Open the Windows Services snap-in. Locate and right-click the newly created VM service and select Properties. In the service's Properties dialog box, click the Log On tab. Ensure that Local System account is selected, and select the Allow service to interact with desktop check box, which Figure 1 shows. Click OK to close the service Properties dialog box. You can now use the Windows Services snap-in to start your VM service. By default, the service is configured as automatic, so the VM will start when your system starts. Each VM that you configure to run as a service will appear in its own window on the desktop. Because the VM is running as a service, you'll now be able to log off of your system, and the VM will continue to run.

Tuning VMware
The configuration steps you've performed thus far will let any number of VMs run as services without problems. However, you might find that some built-in VMware features will get in the way. For example, when multiple VMs attempt to start and share the same floppy drive, VMware displays a message that the floppy drive will start as disconnected on all VMs except for the one that was powered on first. You must click OK to acknowledge the message before the VM boot processes will continue. To prevent the need for manual intervention at boot time, you might want to configure the settings of each VM on the host so that their floppy drives don't connect at power on.


To configure a VM's floppy drive to start as disconnected, open the VM in VMware, double-click the floppy drive icon, then clear the Connect at Power On check box and click OK in the floppy drive's Settings dialog box. One other method for preventing the floppy drive from connecting at power on is to open the VM's .vmx configuration file in Notepad and set the floppy0.startConnected parameter to "false".

VMware hints might also interrupt a VM's startup process. You can prevent all hints from appearing for any particular VM by opening and editing the VM's .vmx file in Notepad. To disable all hints, add the line

hints.hideAll = "true"
to the file, as Figure 2 shows.

Take It to the Max
Now your VMs can run in ways you've never imagined. For example, you can configure a VM to run as a DC that your host OS can log on to. When you've attained the "unattainable dream" of running VMware as a service, the possibilities are endless.


Resources
WEB SITES
VMware
http://vmware.com

Windows Server 2003 Resource Kit Tools
http://www.microsoft.com/downloads

Windows & .NET Magazine Network is a Division of Penton Media Inc.
Copyright © 2004 Penton Media, Inc., All rights reserved

Ps. A while back i had a hard time finding how to turn of the PC beep sound for a VMware session. I'd just like to pass on to everyone there is a 'mks.nobeep = "TRUE"' feature you can add to your vm's .vmx file.

********************************************************
This weeks sponsor Emergent Online Thinssentials Utilities
Using the latest software, hardware, networking technologies, proven technical expertise, proprietary software and best practices, EOL provides custom-tailored solutions for each client?s mission and specific goals.
http://www.go-eol.com
**********************************************************
Useful Thin Client Computing Links are available at:
http://thin.net/links.cfm
***********************************************************
For Archives, to Unsubscribe, Subscribe or set Digest or Vacation mode use the below link:
http://thin.net/citrixlist.cfm


********************************************************
This weeks sponsor Emergent Online Thinssentials Utilities
Using the latest software, hardware, networking technologies, proven technical expertise, proprietary software and best practices, EOL provides custom-tailored solutions for each client?s mission and specific goals.
http://www.go-eol.com
**********************************************************
Useful Thin Client Computing Links are available at:
http://thin.net/links.cfm
***********************************************************
For Archives, to Unsubscribe, Subscribe or set Digest or Vacation mode use the below link:
http://thin.net/citrixlist.cfm

Other related posts: