Remote Desktop Windows 10 Virtual Applications AKA XP Mode
I recently had the task of getting an ancient application working for a client on brand new Windows 10 PC’s. Unfortunately this application is well over 15 years old, is unsupported and is mission critical to the client… oh no another one of those!
The software is due to be updated but its a project which will take a couple of years to complete. Its been getting more and more difficult to run XP on old hardware especially with USB3 compatibility issues but we just cant let the client continue running XP or even Windows 7 any longer.
We needed a solution to to run the application on XP but keep the user on a modern OS. We needed something similar to the old XP mode found in Windows 7 but its not strictly available in Windows 10 however there is this kinda XP mode workaround for Windows 10 here.
1. First lets go ahead and install Hyper-V onto a fully updated Windows 10 install. Open up control panel and click on Programs.
2. Next select ‘Turn Windows features on or off’
3. Tick Hyper-V and ensure all of the sub components are selected and press ‘OK’.
4. Once Hyper-V is installed load up the Hyper-V Manager and select New->Virtual Machine.
5. Click ‘Next’.
6. Next give your virtual machine a name, here I just call it APPS to generalise it. Press ‘Next’.
7. Select ‘Generation 1’ and press ‘Next’.
8. Select an appropriate amount of memory for your OS and application. 1024 or 2048 work fine for most XP guest VM’s. If you are running a Windows 7 or 8 guest VM 4096 is generally more appropriate. Checking Dynamic memory just means the VM will use memory as it needs it rather than using the total amount at all times. Press ‘Next’.
9. Select the ‘Default Switch’ from the drop down and press ‘Next’.
10. Create a new virtual disk, again I call it apps to generalise this VM. Press ‘Next’.
11. Select to install from a CD/DVD and choose either the physical dvd drive of your Windows 10 PC (if you have the install cd for your guest vm) or select the ISO image. Here I have an ISO image of Windows XP so I browse to its location and press ‘Next’.
12. Press ‘Finish’.
13. Your new VM should display in the list of Virtual Machines. Right click the VM and select ‘Settings’.
14. If you are installing Windows XP you will need to click ‘Add Hardware’ and select the ‘Legacy Network Adapter’ and press ‘Add’. If installing Windows 7 or 8 this step is not necessary.
15. Assign the new Legacy network adapter to the ‘Default Switch’ and press ‘OK’.
16. Right click the VM and select ‘Start’.
17. I wont run through the installation of Windows here since you may be installing XP, Vista, 7 or 8. Just follow the usual options but note in this setup I name the VM host as ‘APPS’. The name of the VM will be needed later when setting up the remote desktop software.
18. Next right click ‘My Computer’ and then ‘Properties’.
19. Select the ‘Remote’ tab and ‘Allow users to connect remotely to this computer’ and press ‘OK’.
20. Next open the ‘Remote Desktop Connection’ program from your Windows 10 PC and test that you can connect to the new VM using its fully qualified workgroup name. In my case the VM is called ‘apps’ and the workgroup is ‘mshome.net’. Press ‘Connect’.
21. If everything is working correctly so far you will connect to the VM. If its not try connecting to the IP address instead.
22. Next open notepad and create the following ‘Application.rdp’ file and save the text shown into it onto your desktop. The main line to note in this example if the ‘remoteapplicationprogram’ since it defines which program to run on the VM as a virtual application on Windows 10. All other options should be set as shown for this to work. You can download the text file here to your desktop and rename this file ‘Application.rdp’. If you want to edit any of the settings just open the .rdp file in notepad. All RDP files are just text files containing lots of settings in plain text.
23. Next log into the VM and open regedit.exe from start->run. Locate the ‘Terminal Server’ key here ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server’. Right click ‘Terminal Server’ and create a ‘New’ ‘Key’. Call the new key ‘TsAppAllowList’.
24. Click on the new key ‘TsAppAllowList’ and select ‘New’ ‘DWORD Value’.
25. Click the new ‘DWORD Value’ ‘fDisabledAllowList’ and set it’s value to 1.
26. Reboot the VM and Click on the ‘Application.rdp’ you created earlier on your desktop.
27. BOOM! Minesweeper baby!!
Sometimes you need to support very old applications but keep the user within a modern and supported operating system. Using Hyper-V and configuring remote desktop to only launch certain applications from a VM is a great way to keep things working until old applications are retired or updated.