Assess and Mitigate Compatibility Issues with ACT
One of the challenges around deployment of a new operating system has always been application compatibility. There are other concerns, but application compatibility can make any IT professional shudder with fear. So, the questions you might ask are: How do I deal with compatibility issues? Are there any tools that can help? Should I apply for a new job? If you continue reading this article, maybe it will help alleviate your concerns, since application compatibility is what we are going to talk about here.
What Do I Need to Do?
Actually, it's kind of simple. Here's a quick list of suggested steps:
Install the Microsoft Application Compatibility Toolkit
Set up or use an existing server running the Windows Server operating system and install the
ACT. The server needs to be online and available while the machines send back the inventory data. Sometimes I have used my own laptop, sometimes we use the server with Microsoft System Center Configuration Manager, and sometimes we use Windows Deployment Services in Windows Server or the Microsoft Deployment Toolkit (MDT).
Configure Application Compatibility Manager in the ACT
When you create a package, you can use "evaluators." These are really useful because they stay in the client and monitor application behavior, but right now we don't need that; we just want to know what's in the clients. You might ask yourself, why don't we just ask the customer? We always do ask, but I have yet to meet a customer with full insight into what's on the older clients. They might tell you something like, "Well, we are pretty basic. We only have Microsoft Office, some line-of-business applications, and that should be all..."
Deploy the Package
You can use more or less any method to deploy the package, such as script, Active Directory, System Center Configuration Manager, Microsoft System Center Essentials, or you can even run around to client machines.
Wait While Information Is Gathered
Information gathering can take a while, but if you suspect there's a problem, open the ACTlog folder. If the folder is empty, the machine hasn't created the inventory yet. If the folder contains files, but no folders I would guess the log processor has stalled, so you'll need to start that service.
Make a Report of What You Have
In Microsoft Application Compatibility Manager, switch to Analyze. Your screen should look something like this:
Now, we can create a filter and start working on the business-critical "stuff."
The most important thing when testing applications is to be smart. You cannot possibly know everything about every application, so you need to test basic things. In the first round of testing, the only thing you need to do is to determine if the application works out-of-the-box, if it is unviable, or if it can be fixed. You also need a test pattern. Below is one simple test pattern you can use:
If you can take all of these actions without a problem, it's time to inform the customer that the application has tested correctly and that it can be piloted.
You need applications to be silently installed in some way. But, if the application was problematic running on Windows XP (for example, no installer, challenging to maintain), you might consider NOT deploying that application the same way. Perhaps, there is another way to solve the same problem. I have struggled with all kinds of applications, and I have to say that some of them should never have been used even though customers love them. But I know that we will need to redeploy this machine later on—whether on the same version of the Windows operating system or a newer iteration.
Things to Consider
One thing you should consider if you haven't already: For each and every application you add, you need to maintain it over time, which means updates, patching, and, if you do create new images, you might need to retest all packages. Overall, I have learned that "less is more" when dealing with deployment. The fewer different types of hardware, fewer operating systems, fewer applications, fewer people involved—all of this makes deployment much easier.
About the Author
Mikael Nystrom is a Microsoft MVP, Microsoft Certified Trainer, and member of the Springboard Series Technical Expert Program (STEP) specializing in deployment, virtualization, and management. He has been involved in Technology Adoption Programs (TAPs) for several Microsoft products and technologies including Windows Server, Hyper-V, and Windows 7.