- Windows Integrated Application Compatibility Layer
Application Compatibility puts some hardcore power in the hands of IT Pros - it is rich in mitigation functionality and it is integrated deep into the operating system. With broad ranging interception capabilities it is not only used to make applications work on Windows, the same infrastructure is used to provide the isolation features of Internet Explorer and core OS UAC Virtualization. Many of your existing software applications are already using the same techniques when running on a vanilla Windows 7 installation.
- Application Virtualization
Here are some considerations for how the skills taught at CSI Windows apply even when you are planning on doing Application Virtualization:
- How a given application wishes to deal with the OS remains the same, regardless of your target mitigation technologies. Solid skills in analyzing how applications interface with the OS are very helpful when virtualizing applications - regardless of the chosen virtualization technology.
- Understanding an appliation's interfacing to the OS helps you select appropriate application virtualization technology for the application.
- Since there are still hard and soft costs to virtualizing applications - it can save time and money to reserve application virtualization for exceptional cases.
- Application virtualization is not a panacea - it serves mainly to isolate application conflicts and reduce the need for admins rights - it does not eliminate core API compatibility concerns. Technologies such as Windows 7's Windows Integrity Mechanism (WIM), User Interface Privilege Isolation (UIPI), hard coded system paths and others can still affect applications that are vitualized. Since App-Compat does not remove the application from the native environment, it's mitigation shims can create compatibility for many of these applications.
- App-Compat can work WITH Application Virtualization when Application VIrtualization by itself cannot make the application work.
- Application Packaging Lives!
It would be nice if everything could be consolidated into one silver bullet approach - but that's hardly ever the case. Application packaging skills will still be needed for customizing Windows Installer packages and for packaging software that cannot play nice with application virtualization.
- Vendor and Technology Neutral
There are many product choices for helping with application compatibility. No matter what technologies or tool sets you use, a good base of skills in diagnosing application compatibility issues will always be helpful. If your chosen solution has a rich set of analysis tools - developing skills in application compatibility engineering will prepare you to leverage them.