Upgrading from Windows 8 to Windows 8.1 with the only option is to ‘keep personal files’? Here’s the solution!

With the general availability of Windows 8.1 now under one month away, here’s a post about a small issue I came across when performing an in-place upgrade from Windows 8 to Windows 8.1 in a lab.  To do the upgrade, I did the following:


  • Mount the ISO, add it to a USB or burn it to a DVD and run setup.exe


  • Select whether to Download and install updates (recommended) or No, thanks and whether to help make the installation of Windows better, then click Next.


  • In my case I chose to get updates, so the installer goes and checks.


  • I checked the box I accept the license terms and clicked Accept.


  • I was then presented with a screen to Choose what to keep.  I was surprised to only see the two options to Keep personal files only or Nothing – neither would keep all the applications and settings I wanted to, which was my main argument for doing an in-place upgrade in this lab.  Hmmmm.


  • Clicking on Help me decide at least gave me the hope that it is possible to keep everything when doing an in-place upgrade, so that got me thinking.


  • Checking back to when Windows 8 was installed in this lab, I had used the specific United Kingdom (EN-GB) ISO, being a brit, and I was now trying to use the default EN-US ISO of Windows 8.1.  I then downloaded the United Kingdom version of Windows 8.1 to see if that would make a difference.  When I went through the installer and got to the same point, as if by magic there is an additional option to Keep Windows settings, personal files and applications. Bingo!  It then proceeded through the upgrade fine.


  • To summarise, if you don’t get this option and want it, get the ISO for the same language version and it should appear.

How to create multiple Virtual Desktops (VDI) at the same time with Windows Server 2012 Remote Desktop Services (RDS)

The functionality, performance and manageability of virtual desktops (VDI) has greatly improved with Windows Server 2012, with a lot of functionality added into Server Manager.  Out of the box, however, when creating new or additional virtual desktops you’ve probably noticed that only one gets created at any one time, which can end up taking a long time, as you can imagine.

If your environment is up to it (primarily storage) you can change this behaviour to create multiple virtual desktops at the same time (virtual desktop concurrency), which is a big relief.  The maximum number to create at any the same time can be specified by you – make sure you set this within the limits of your hardware!

To achieve this, we use the PowerShell command Set-RDVirtualDesktopConcurrency.  The following parameters can be used:

-ConnectionBroker: specify the RD Connection Broker server for this deployment
-ConcurrencyFactor: the number of virtual desktops you want to create simultaneously
-HostServer: the RD Virtualization Hosts you want to set the concurrency on

An example command is as follows:

Set-RDVirtualDesktopConcurrency -ConnectionBroker RDCB.DOMAIN.COM -ConcurrencyFactor 3 -HostServer @(“RDVH-01.DOMAIN.COM”,”RDVH-02.DOMAIN.COM”,”RDVH-03.DOMAIN.COM”)

More information can be found on the Microsoft TechNet Library – http://technet.microsoft.com/en-us/library/jj215510.aspx

App-V 5.0 Licensing

Luckily, licensing App-V 5.0 continues to be the same as the previous version, whereby an RDS CAL covers usage on session-based desktops, such as Microsoft Remote Desktop Services or Citrix XenApp and the Microsoft Desktop Optimization Pack (MDOP) covers usage on desktop Operating Systems.  Get on it!

App-V 5.0 – Why Upgrade?

If you’re running a previous version of App-V, why should you upgrade to App-V 5.0?

Microsoft Application Virtualisation (App-V), formally SoftGrid by Softricity, was purchased by Microsoft in 2006 and as such it inherited the way it was designed and developed.  While they were able to make great improvements along the way, there were several limitations that could not be worked around due to the fundamental design.  With App-V 5.0, Microsoft have redesigned and rewritten the product from the ground up, utilising the knowledge and experience they have obtained along the way, together with Operating System enhancements, to remove some of the barriers.  This will provide a clear pathway for future enhancements to really make Application Virtualization mainstream in the way that server and desktop virtualisation has done.

Ten Reasons to Upgrade

1.    User and Computer-Based Targeting
Using an App-V Full Infrastructure now offers the targeting of App-V packages to both users and devices, which previously required Microsoft System Center Configuration Manager to achieve the same result.  This is a huge benefit, most importantly to session-based computing, such as Microsoft RDS or Citrix XenApp.

2.    New File Format
Microsoft have created a new package format (.APPV instead of .SFT) that removes the previous 4GB size limit; there is no limit to the size of a package.  This is based on standard compression technologies, making the contents much easier to interrogate outside of the Sequencer.

3.    Package Content
The local App-V client package cache is no longer stored in a single, flat file and as a result, all package content (i.e. individual files, such as .exe and .ini files) can be seen natively through Windows Explorer.  This has several benefits, mainly:

  • Simpler troubleshooting and management;
  • The application executable is called directly rather than sfttray.exe with a launch parameter.

4.    Shared Content Store for VDI and Session-Based Desktops
The new Shared Content Store allows an application to be streamed directly from a content source without having to cache the application to the local device first or using the read-only cache option, the latter proving hard to manage and update due to the content being stored in a single flat file.  Due to the new file system, NTFS pointers are used to access content held on the content share requiring only one copy of the data and no management of a cache file.

5.    No Q: drive
A separate drive letter is no longer required; applications are either stored in full or use NTFS pointers and launched from the location on a local drive specified for the App-V client cache.

6.    Upgrade Path – Coexistence for the Migration
Due to the new file system, existing packages cannot run in App-V 5.0 in their current format.  Microsoft have thought about the transition process and to make it as non-disruptive as possible, they provide two helpful benefits for clients with existing packages:

  • Package upgrade – the App-V 5.0 Sequencer has a method to convert existing packages to the new format, saving the potential headache of re-packaging applications from scratch;
  • Client coexistence – App-V client versions 4.6 SP2 and 5.0 can be installed at the same time, allowing a phased migration between versions with old and new packages functioning side-by-side.

7.    Improved Sequencing
Application reboots are now handled properly, whereby the sequencer actually reboots and then picks up where it left off, increasing the chances of successful sequencing of application installations that require it.  Again due to the new file format, the limitation of 8.3 root folder names (where Microsoft were able to mask the problem in App-V 4.6 SP1) has now truly gone.  The sequencing process should not prove to be a large learning curve as the wizard used when sequencing has largely gone unchanged, helping clients get started with sequencing for the new format sooner.

8.    Virtual Application Extensions – Context Menu, COM and URL Protocol Integration
Deeper integration into the Operating System provides some of the biggest changes, expanding on previous versions of App-V where integration would primarily be limited to file type associations.  Applications have more of their capabilities captured during sequencing just like local applications do when installed and that functionality is offered natively in the Operating System, even when the package is not in use.  This offers just some of the following benefits:

  • Right-click context menus can now incorporate and integrate with those items provided by virtualised applications, such as right-clicking a file on the Desktop and choosing Send to, followed by Mail attachment, to start a new email from the virtualised email client application with the file attached;
  • Users setting protocols as well as file type associations to have a virtual application as the default application, with virtual applications being listed as available for selection, is now all possible, providing users with a more consistent experience that they are used to with locally installed applications.

9.    RunVirtual
No more having to create separate shortcuts to integrate locally installed apps with virtual ones, such as Internet Explorer and Adobe Flash Player.  Using RunVirtual in this example, no matter how Internet Explorer is launched, the virtual package of Adobe Flash Player will be available and launched whenever Internet Explorer is.

10.    Virtual Application Connection Groups
Building on the idea of Dynamic Suite Composition (DSC) in previous versions of App-V, App-V 5.0 offers Connection Groups.  The concept is broadly the same and provides largely the same capabilities, except now it is managed in the App-V Management Server web interface and can be created just for the users who require them for different combinations of applications, rather than editing and manipulating OSD files.

App-V 5.0 Client PowerShell Commands

For a full list of App-V 5.0 client PowerShell cmdlets, open PowerShell and run the following commands (in order):

  • Import-Module AppVClient
  • Get-Module AppVClient | Import-Module –Verbose

This will list all the commands available for the AppVClient module.  In the RTM version, these are as follows:


For help, example syntax, description, etc. type Get-Help followed by one of the commands listed above, e.g. Get-Help Get-AppVPublishingServer displays the following:



Returns an App-V Server object or set of App-V Server objects based on the criteria provided.

Get-AppvPublishingServer [[-Name] <string>] [[-URL] <string>] [-ServerId <UINT32>] [<CommonParameters>]

Returns an App-V Server object or set of App-V Server objects based on the criteria provided.


To see the examples, type: “get-help Get-AppvPublishingServer -examples”.
For more information, type: “get-help Get-AppvPublishingServer -detailed”.
For technical information, type: “get-help Get-AppvPublishingServer -full”.
For online help, type: “get-help Get-AppvPublishingServer -online”