A Windows 7 to Windows 10 Application Migration Plan

It’s common knowledge that in January 2020, Microsoft ceased support for Windows 7 and stopped releasing security and vulnerability patches for the platform.  Organisations that have not yet upgraded to Windows 10 from Windows 7 have no option but to purchase extended security updates (ESU) for Windows 7 in order to maintain the security of their estate.

Whilst this presents a lifeline for some, it is also an expensive lifeline that becomes even more expensive each subsequent year.  And importantly, ESUs will not continue beyond January 2023 which makes upgrading from Windows 7 to Windows 10 of paramount importance.

A Windows 7 to Windows 10 Application Migration Plan

When migrating from Windows 7 to Windows 10 it is essential to define a migration plan.  As the famous saying goes, if you fail to plan then you are planning to fail!

There are many facets to consider when updating to Windows 10 from Windows 7 including infrastructure, hardware, security and more.  But this blog will solely focus on developing a plan to migrate your applications from Windows 7 to Windows 10.

Step 1: Strategy and Mobilisation

Before we even consider getting our hands dirty with applications, we must identify a clear strategy and mobilisation plan.

  • Identify Single Point of Contact (SPOC) – Throughout this journey you will need to engage with multiple teams – security, infrastructure, networks, management, application packaging and more.  Identify a single point of contact in each team to facilitate clear and consistent communications.  Ensure there are no weak links and that each SPOC is well organised and technically strong where required.
  • Timescales – Below we identify multiple steps that will form part of your Windows 7 to Windows 10 application migration plan.  You must clearly identify concrete timescales for the delivery of each step.  These timescales must also align with the ‘bigger picture’ – i.e, Windows 10 gold build implementation and other infrastructure configurations.
  • Windows 10 Roll-out Strategy – You need to understand which order your organisation will be upgrading users from Windows 7 to Windows 10, since this will define the order and priority of the applications to migrate.  Organisations typically upgrade by department/business function.
  • Identify Existing and Proposed Packaging Technologies – What format are applications currently packaged in?  MSI (Windows Installer)?  App-V 4.6?  Scripted? And what is the proposed packaging technology?  App-V 5?  MSIX?  You will need to consider the target environment when choosing the optimal packaging technology.
  • Identify Target Gold Build – Identify the Windows 10 gold build, and ensure that this has been created prior to application compatibility testing.  It is advisable to create several virtual machines based on this gold image to facilitate fast and concurrent testing of applications.  In exceptional circumstances such as testing peripheral devices and drivers, you will also need physical devices to test with.
  • Identify Target Hardware and Infrastructure – Are your packages required for laptops?  Desktops?  Does your organisation require new hardware to comply with Windows 10 recommended specifications? You should only be issuing 64-bit builds since beginning with Windows 10 version 2004, all new Windows 10 systems will be required to use 64-bit builds.  Will your organisation be implementing Virtual Desktop Infrastructure (VDI)?  Will your VDI environment be persistent or non-persistent?  These are all important considerations that will affect how applications are packaged.
  • Identify Packaging Standards – Application packaging standards should be documented and approved before packaging work commences.  This standards document should include information such as package naming conventions, template discovery/build documentation, generic test scripts, deliverable file/folder formats, package optimisation settings and more.
  • Identify Application Tracking Tool Set – An application tracker is required to monitor the full end-to-end lifecycle of each application throughout the application migration process.  There are premium application trackers available, but a cost-saving alternative is to utilise SharePoint.  Alkane Solutions provide free SharePoint application tracker solutions with our Windows 7 to Windows 10 application migration projects.
  • Identify Packaging Tool Sets – Some tool sets such as the App-V client/sequencer are ‘free’ to use if you are migrating to a Windows 10 Enterprise/Education environment.  But other packaging software such as AdminStudio/Installshield are licensed, and as such these costs may need to be considered.
  • Identify Site Audit Tool Sets – Do you have audit software in place to monitor application usage across your entire estate?  This is optional, but should be considered if your budget permits.  See Step 2.
  • Identify Compatibility Tool Sets – Do you require a red/amber/green (RAG) status for each application in your master list prior to commencing packaging work?  This enables project managers to ascertain how many applications will migrate successfully, how many will have issues and how many are incompatible with your target technology and environment.  Again, this is optional, but something that should be considered if budget permits.  See Step 5.
  • Define a Process – Who will perform a site audit if required?  Who will perform compatibility analysis if required?  Who will package your applications? Who will integrate packages into your environment?  Who will manage user acceptance testing?  If using an external service provider, what secure file transfer mechanism will be used to transfer application packages and associated binaries?  Alkane Solutions provide all of the above, with industry-standard secure file transfer mechanisms.
  • Monitoring and Reporting – Consistent monitoring of progress in accordance with timescales is an essential part of any application migration process.  You must agree on a frequency of reporting, and the type of reports required.

Step 2: Site Audit

The purpose of a site audit is to ascertain which applications are being used.  The keyword here is ‘used’, since users may have applications installed that they haven’t used for months or even years!

Usage metrics are also important if your existing Windows 7 environment is like the Wild West – by that I mean users (local admins?) have been performing manual software installations!

Ideally when performing a site audit you would use purpose-built application audit software.  Such software usually consists of deploying lightweight ‘invisible’ agents to every machine in the estate, and the agent then reports back usage metrics periodically to a central database.

This sounds great, but in reality it’s also quite expensive.

Alternatively if you are purchasing a Windows 10 Enterprise/Education license and have a minimum of SCCM version of 1902, Microsoft have released Desktop Analytics (replacing Windows Analytics).

Desktop Analytics integrates with SCCM and collects inventory and application data via the telemetry service, and then synchronises this data to the cloud.

As well providing application usage metrics, it can also provide compatibility metrics too and even suggest remedial options based on cloud-enabled data insights!  If you consider multiple organisations worldwide syncing such data to the cloud, it provides Microsoft with a huge amount of data to analyse and remediate where necessary.  The service also supports Windows 7 endpoints.

An alternative approach might be to utilise existing reporting infrastructure such as SCCM and App-V Full Infrastructure reporting.  These can be used to gauge how many users have access to each application, and App-V reporting can also produce application usage metrics.

If your organisation doesn’t currently implement App-V, another rather crude alternative is to query Active Directory (AD).

Organisations that install to user collections/publish to users will be able to query AD to obtain the users that have access to each application.  And if AD is populated appropriately, it may also provide you with user contact details and even department/business function!  This information can be utilised when performing user acceptance testing on Windows 10.

Finally, there are multiple open source software audit tools available.  Whilst we cannot recommend any specific product, it may be worthwhile trialing a few and performing your own due diligence.

Step 3: Rationalise Application Portfolio

You will now have an exhaustive list of all applications in your estate.  It’s now time to rationalise your application portfolio.  This involves retiring software that is no longer used or no longer required, upgrading old versions, upgrading unsupported versions, ensuring license compliance, consolidating functional duplicates and more.

Unfortunately for most organisations this is a manual, laborious and time consuming process.  It usually requires somebody with good knowledge of the business, especially where there are multiple bespoke or niche applications involved (common in clinical environments, for example).

We can refer to our rationalised list of applications as our master list.

Step 4: Identify Business Users and Obtain Installation Media

Now is the opportunity to speak to business users and identify who can test each application in the master list based on your site audit analysis.

You must also ensure that these business users have access to the Windows 10 environment for testing purposes once the application has been packaged and made available – this access may simply be in the form of a generic test account.  However if any form of windows authentication is required, you may also need to migrate their user account

At the same time as identifying suitable business users, you should also be locating the installation media for each application.  You may need to manually locate these on user machines, servers, in desk drawers or with any luck inside the previous packages that have been authored for Windows 7!

All installation media will need to be in place prior to commencing application discovery work.  We recommend storing and organising all installation media in sub folders placed in a single root folder.  As well as being optimal from an organisational perspective, it will also be handy should you decide to automate your application compatibility testing.

Step 5: Application Compatibility Testing

The process of migrating applications from Windows 7 to Windows 10 isn’t as painful as it was when migrating from Windows XP to Windows 7!  The vast majority of applications should work just fine.  And hence you may opt not to use compatibility software and instead perform a manual launch/functional test of each application on your Windows 10 gold image.

Automated application compatibility software is usually charged on a per-application basis, and can become expensive with larger application portfolios.

Assuming you now have all the required installation media in place for your rationalised list of applications, you can point your application compatibility software to the root folder and it will iterate through each application, spin up a virtual machine, install each application, interrogate the installation capture and produce a RAG report indicating the application compatibility with a target platform or technology.  For example, the target technology might be App-V 5 and the target platform might be Windows 10 x64.

These RAG reports give a good indication of how successful your application migration will be in advance of commencing any application packaging activity.  It should be noted though, that automated application compatibility tool sets may flag false positives, such as a ‘red’ status for part of an application that your business users don’t even use!  So use with caution.

Alternatively, Microsoft also provide the App Assure service to those organisations who adopt Windows 10 Enterprise/Education  – this is a promise from Microsoft that if any of your desktop applications or Internet Explorer browser applications/plugins stop working in Window 10, they will remediate the issue for FREE!

Step 6: Application Discovery

By this point we should have some compatibility metrics for each application in our master list.

Each application now needs to be ‘discovered’ – this is an application packaging term that is widely used to identify an installation and configuration recipe for each application.

For organisations migrating from Windows 7 to Windows 10, a lot of this work may have already been done previously.  However, discovery work will need to be carried out again on the new Windows 10 gold image to ensure a smooth transition before application packaging commences.

If the compatibility analysis flagged up red or amber issues, we should now verify whether these applications will work via non-standard methods such as shims or other tweaks.  We should also check if business users can get by without the part of the application that is incompatible.  If there is no workaround, the application vendor should be consulted to see if there is a compatible upgrade or the application should be replaced with a compatible, functional equivalent.

Step 7: Application Packaging

In the mobilisation and readiness step we identified packaging standards that needed adhering to when packaging applications for the target environment.  We also identified the tool sets required, the packaging format, a Windows 10 gold build to test against, and an integration strategy.  Since we also have an application discovery recipe for the application, we can now commence application packaging activities.

As part of project planning it’s worth defining an average throughput of application packages produced per month, until each application is packaged.

Step 8: Quality Assurance

Before applications are released for user acceptance testing, they should go through a rigorous quality assurance process.  This process will ensure that best practises have been followed, and that the application package works in accordance with configurations outlined in the discovery documentation.

Step 9: User Acceptance Test

Earlier in the process we identified business users to test each package, and we also ensured that they have access to the Windows 10 environment for testing purposes.

When a package is completed and integrated into the environment, it should then be made made available to the business user responsible for testing.  You should really have a generic test script in place verifying that the application launches and that the shortcuts are in the correct locations.  In exceptional circumstances you may also wish to include application-specific test cases, such as ensuring connection to a back-end database can be established.

Once the business test user is happy, there should be a sign-off process which authorises the application package to be released into a production environment for all other users that require it.

Step 10: Release Management

Assuming user acceptance testing was successful, the application package can now be released to all the users that require it.  Metrics from the site audit should enable you to identify these users.

Summary of Windows 7 to Windows 10 Application Migration Plan

Alkane Solutions are application packaging professionals and provide a comprehensive end-to-end service to migrate your applications from Windows 7 to Windows 10.  Our team has a strong foundation of technical and management skills, so if you require an informal chat to discuss your requirements please call us or drop us an email.