Understanding (and troubleshooting) Auto-Publishing in Windows Virtual PC

One of the cool features of Windows Virtual PC is how applications that are installed into Windows XP, Windows Vista and Windows 7 virtual machines automatically appear in the start menu on the host operating system – and can be launched directly without first needing to open the virtual machine in question:

autopublish-startmenu

These shortcuts get created through a process that we call Auto-Publishing.  What happens is that we monitor the guest operating system while it is running, and when we detect that a new application has been installed, we create a shortcut for the application in the host start menu.

Most of the time this “just works”.  When it does not work there are a couple of areas that you can look:

  1. Does the guest operating system support auto-publishing?

    Auto-publishing is only supported for virtual machines running Windows XP SP3, Windows Vista SP1 (or later) or Windows 7.  Windows 7 virtual machines are ready to go when it comes to auto-publishing.  But Windows XP and Windows Vista virtual machines need to have an extra update installed in them in order for auto-publishing to work.  You can download the Windows XP update here and the Windows Vista update here.

    No matter which guest operating system you are running you will also need to ensure that the Windows Virtual PC Integration Components have been installed, and that integration features are enabled.

  2. Is auto-publishing enabled?

    Auto-publishing is enabled by default, but we allow you to turn it off if you want to.  It is always worth double-checking this option in the virtual machine settings, to make sure you have not disabled it accidentally:

    autopublish-XPModeSettings

  3. Was a shortcut for the application created in the “All Users” start menu in the guest operating system?

    Windows Virtual PC detects that an application has been installed in the virtual machine by looking for shortcuts that have been created in the All Users start menu.  If the application installer did not create a shortcut in the start menu, or created one in the local user start menu, Windows Virtual PC will not auto-publish the application.  You can check this by looking in the All Users start menu in the guest operating system.  Here are the locations to check under each guest operating system:

    Windows XP: %SystemDrive%\Documents and Settings\All Users\Start Menu\Programs
    Windows Vista: %SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs
    Windows 7: %SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs

    If you cannot find a shortcut in these locations – create one there and you should be good to go.

  4. Is the application being blocked by policy settings?

    In order to stop a blank Windows virtual machine from spamming your start menu with a bunch of shortcuts when you first bring it up – we block a bunch of applications by default.  The list of blocked applications is stored in the registry inside the virtual machine at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtual Machine\VPCVAppExcludeList.  You can go here to check to see if the application you are trying to get published is on this list:

    autopublish-registryEditor

    If it is, you can delete the registry key for that application, and it should appear in the host start menu.

Cheers,
Ben