As promised, some details about VMSal – executable that is used to run published applications… I investigated little bit today and here comes first information :)
VMSal is used to run applications that are published from within virtual machines – and functionality called RAIL is used to achieve that – this feature is better known as RemoteApp in Terminal Services.
It is no surprise that Microsoft just re-used already existing functionality – I would be really surprised if they would try to re-invent the wheel (but you never know – just have a look at Live Mesh and SkyDrive, or Live Mesh remote desktop functionality).
Well, it IS based on TS technology :) You can easily discover following registry keys on virtual machines with RAIL installed:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications
Under this key you can find regular settings of TSRemoteApp:
Name of that key is identifier of published application. BTW I was really surprised by ShowInTSWA – which is used to show published application in Terminal Services Web Access :) I want to play a bit with it and see if I can publish these applications to TS 2008 :)
When Windows 7 tries to run these remote applications, it is using (already mentioned) executable called VMSal.exe, that can be found in %WinDir%\System32 folder. This executable accepts 3 arguments:
- Name of virtual machine
- ID of application
- Name of application (?) – not sure where is this one used, however it can be any string
ID of application is prefixed by “||”, so for example “||fa7d9”.
If you have a look at picture above, if I would like to run Internet Explorer, I can just call following executable:
“%WinDir%\System32\vmsal.exe” "Virtual Windows XP" "||IE" "IE"
That will automatically run “IE” as specified in virtual machine Virtual Windows XP.
So if you want to easily transfer your settings, simply backup all .lnk files on your Windows 7 and all RAIL registry keys from your virtual machine and that’s it. You can easily automate creation of these applications – I will maybe even build small script that will automatically give you all published applications based on your Windows XP start menu…