If you are still using MED-V version 1, UPGRADE! But, if you are unable to due to workflow or platform issues, here are some additional tips to improve application performance for your published MED-V guest applications.
Disable Unnecessary Services and startup programs:
Regardless of whether you are using MED-V v1 or MED-V v2, you will want to minimize unnecessary utilization inside the guest operating system.These can be done by disabling the services in the services MMC snap-in, the MSCONFIG.exe utility, or even through the AUTORUNS utility available here:
Allocate Adequate Workspace Memory
Ensure enough memory has been allocated to the Virtual PC within the MED-V Workspace policy. I would recommend on a machine with more than 2GB of RAM on the host to allocate at least 512 MB to the VPC. Anything less will result in sub-optimal performance. If you are using MED-V V2, you may have found that you are limited to 2 GB of memory allocation for the virtual machine. You can remove this restriction by installing the Localization Update which fixes this issue. You download the MED-V v2 localization update here:
Configure 16-bit Applications to run in their own memory Space
One popular application compatibility scenario for both MED-V v1 and v2 is the 16/64 appcompat scenario where companies still want to run 16-bit applications but also want to deploy 64-bit operating systems. MED-V is the only way to accomplish this seamlessly. However, it is recommended that when you do this, you create a batch file for 16-bit applications that leverage the internal START command as follows:
Start /separate <command>
This means the 16-bit application will run in its own separate underlying virtual DOS and Win16 machine (remember those?) Publish this batch file as the application.
Leverage another Physical Drive for the Virtual Machine
If using version 1.0, move the VHD to another hard drive (another spindle) on the host machine. The location of the MED-V images files on the local machine can be controlled during the installation and as well by making modifications after the installation.
<LastImageStoreRootPath type="System.String">C:\MED-V Images\</LastImageStoreRootPath>
<VmsFolder type="System.String">C:\MED-V Images\</VmsFolder>
The above are the defaults. The drive letter/directory and location can be adjusted after the fact (of course, a reboot will be required.
NOTE: This cannot be done for MED-V version 2.
If you are running MED-V version 1.0 and finding the application is generating heavy CPU utilization where the utilization is at or near 100 percent when running in seamless mode
OPTION 1: Remove the Frame Functionality from the workspace image. This cuts out a hooking function which could improve performance.
1. Publish a workspace command prompt using the "Applications" option in the workspace policy.
2. Start the workspace using an account with administrative privileges.
3. Launch the command prompt. Start Registry Editor from the command prompt.
4. Navigate to the following registry path:
5. Remove the KIDARO~3.DLL entry from the AppInits_DLLs value.
6. Restart the workspace and re-test the application.
NOTE: This will remove the frame functionality where the seamless application no longer has a colored frame surrounding it.
OPTION 2: Apply the ForceSimpleWindow Application Compatibility Fix to the application in the guest operating system.
If you option 1 is not desired due to the fact the painted frame is desired, you can apply an application compatibility fix using the Application Compatibility Toolkit (ACT.) Download the ACT from here:
Install it and run the Compatibility Administrator (COMPATADMIN.EXE)
Select “New” to create a new database.
Under “Custom Database” you will see “New Database.” Right-click it and select “Create New” followed by “Application Fix.”
Fill in the application information. Browse to the file location of NLNOTES.EXE Click “Next.”
On the “Create new Application Fix” skip and click “Next.”
On the “Compatibility Fixes” page, please select “ForceSimpleWindow” and click “Next.”
When prompted, select the conditions from the list and click Finish.
You will need to save the Shim Database into an SDB file that you can use to deploy the shim to your Windows XP Guest containing the application.
The command line to use is sdbinst.exe. More information is here:
Hope this helps,
Steve Thomas | Senior Support Escalation Engineer
The App-V Team blog: http://blogs.technet.com/appv/ The WSUS Support Team blog: http://blogs.technet.com/sus/ The SCMDM Support Team blog: http://blogs.technet.com/mdm/ The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/ The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/ The SCVMM Team blog: http://blogs.technet.com/scvmm/ The MED-V Team blog: http://blogs.technet.com/medv/ The DPM Team blog: http://blogs.technet.com/dpm/ The OOB Support Team blog: http://blogs.technet.com/oob/ The Opalis Team blog: http://blogs.technet.com/opalis The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager The AVIcode Team blog: http: http://blogs.technet.com/b/avicode The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials The Server App-V Team blog: http: http://blogs.technet.com/b/serverappv
I am struggling to change the amout of memory allocated to my XP SP3 VM on Med-V 2. I have 4 GB on the host (32bit install) and would like 2 GB to go to the workspace and 1GB for the Windows 7 host. The VM however only gets 1GB if I look in the reg file as well as the powersehell script during the workspace packager setup. I added the "Memory" DWORD in the reg file with a vaule of 0x00000800 (2048) but it just ignored the setting. If I change the amount of memory on the VM once the workspace is setup, it resets back to 1GB as soon as I restart the machine.
I cannot find any articles on changing the memory for initial setup or changing the memory after the setup has completed already.
Got it fixed. Regenerated the msi using powershell and New-Medvworkspace.
One important item to remind everyone on. Until the International patch was released for v2, even with dynamic memory, it was not possible to get beyond 2GB for the workspace. That limitation was removed with the International patch as well.