Dec 19, 2015
©2006 Microsoft Corporation. All rights reserved.
Application Compatibility in Windows Vista and the Application Compatibility Toolkit
Application Compatibility in Windows Vista and the Application Compatibility ToolkitMicheal SciacquaMicheal SciacquaProgram ManagerProgram ManagerApplication ExperienceApplication ExperienceMicrosoft CorporationMicrosoft Corporation
©2006 Microsoft Corporation. All rights reserved.
Changes in Vista and common Changes in Vista and common compatibility issuescompatibility issues
Vista compatibility technologiesVista compatibility technologiesInbox compatibility toolsInbox compatibility tools
Application Compatibility ToolkitApplication Compatibility Toolkit
Windows Vista Upgrade AdvisorWindows Vista Upgrade Advisor
DemosDemos
Discussion/Q&ADiscussion/Q&A
AgendaAgenda
©2006 Microsoft Corporation. All rights reserved.
Innovation and Innovation and CompatibilityCompatibility
Windows Vista enhances user Windows Vista enhances user experienceexperience
SecuritySecurity
ReliabilityReliability
UsabilityUsability
Most applications just workMost applications just work
Improvements in Windows Vista Improvements in Windows Vista occasionally break compatibilityoccasionally break compatibility
©2006 Microsoft Corporation. All rights reserved.
Common Compatibility Common Compatibility IssuesIssues
Assumption of running as admin Assumption of running as admin (accessing secure, sensitive (accessing secure, sensitive resources)resources)
Architectural changes and Architectural changes and deprecated componentsdeprecated components
Operating System versioningOperating System versioning
Using internal system calls and Using internal system calls and data structuresdata structures
Latent bugsLatent bugs
Overall, high compatibility in Overall, high compatibility in Windows VistaWindows Vista
©2006 Microsoft Corporation. All rights reserved.
User Account ControlUser Account Control
Goal: applications run without Goal: applications run without Admin privilegesAdmin privileges
Why: security feature to reduce Why: security feature to reduce introduction of vulnerabilitiesintroduction of vulnerabilities
Mal-ware, Trojans, VirusesMal-ware, Trojans, Viruses
Issues:Issues:Some applications are admin ‘by Some applications are admin ‘by design’design’
Redirection can cause apps to failRedirection can cause apps to fail
Application updates need Admin Application updates need Admin privilegesprivileges
©2006 Microsoft Corporation. All rights reserved.
Windows Resource Windows Resource ProtectionProtection
Goal: only the OS can update Goal: only the OS can update protected resourcesprotected resources
Why: reliability feature to protect Why: reliability feature to protect the system files, folders, and the system files, folders, and registry keysregistry keys
Issues:Issues:Some apps replace system binariesSome apps replace system binaries
Some apps write to system registry Some apps write to system registry keyskeys
Some apps repackage MSFT Some apps repackage MSFT redistributablesredistributables
©2006 Microsoft Corporation. All rights reserved.
Services IsolationServices Isolation
Goal: services run in their own Goal: services run in their own private sessionprivate session
Why: security feature to prevent Why: security feature to prevent shatter attacksshatter attacks
Issues:Issues:Services cannot directly interact with Services cannot directly interact with user desktop or applicationsuser desktop or applications
Services with user interaction may Services with user interaction may hang as UI will not be visiblehang as UI will not be visible
Creating session, global namespace Creating session, global namespace objectsobjects
©2006 Microsoft Corporation. All rights reserved.
Internet Explorer Internet Explorer – Protected – Protected ModeMode
Goal: Internet Explorer runs with Goal: Internet Explorer runs with very low permissionsvery low permissions
Why: security feature to prevent Why: security feature to prevent tampering with the systemtampering with the system
IE cannot modify user files, registry IE cannot modify user files, registry keys!keys!
File/registry writes are redirected, File/registry writes are redirected, visible from IE onlyvisible from IE only
Issues:Issues:Controls that share data with external Controls that share data with external processes failprocesses fail
New prompts requesting user New prompts requesting user permissionpermission
©2006 Microsoft Corporation. All rights reserved.
MS GINAMS GINA
Goal: Microsoft Graphical Goal: Microsoft Graphical Identification and Authentication is Identification and Authentication is re-architectedre-architected
New Credential Provider APINew Credential Provider API
Why: reliability and usability Why: reliability and usability feature easier to program to and feature easier to program to and supportsupport
Issues:Issues:Biometric devicesBiometric devices
Custom VPN solution for XPCustom VPN solution for XP
Smart Card readersSmart Card readers
©2006 Microsoft Corporation. All rights reserved.
64-bit Windows Vista64-bit Windows Vista
No support for 32-bit driversNo support for 32-bit driversSigned kernel mode drivers Signed kernel mode drivers requiredrequiredNo upgrade to 64-bit Windows VistaNo upgrade to 64-bit Windows VistaNo support for 16-bitNo support for 16-bit
InstallersInstallersComponentsComponentsApplicationsApplications
©2006 Microsoft Corporation. All rights reserved.
Vista Compatibility TechnologiesVista Compatibility Technologies- - Inbox ToolsInbox Tools
Program Compatibility AssistantProgram Compatibility AssistantSolves common problems for apps and their Solves common problems for apps and their installersinstallers
Version checkVersion check
Elevation for installersElevation for installers
Mitigation scenarios continuously addedMitigation scenarios continuously added
Program Compatibility TabProgram Compatibility TabRight-click functionality for “Compatibility Right-click functionality for “Compatibility Layers”Layers”
Program Compatibility WizardProgram Compatibility Wizard
AppPatch Infrastructure (aka shim)AppPatch Infrastructure (aka shim)AppHelp (Soft and Hard blocking)AppHelp (Soft and Hard blocking)
Fix applications using shim databases (.sdb)Fix applications using shim databases (.sdb)
©2006 Microsoft Corporation. All rights reserved.
Vista Compatibility Technologies Vista Compatibility Technologies
©2006 Microsoft Corporation. All rights reserved.
Application Compatibility Application Compatibility Toolkit (ACT) version 5.0Toolkit (ACT) version 5.0
©2006 Microsoft Corporation. All rights reserved.
High Level ArchitectureHigh Level Architecture
Log Log Processing Processing
ServiceService
Local Local ACT DBACT DB
Agent Framework/Compatibility EvaluatorsAgent Framework/Compatibility Evaluators
InventoryInventory IEIE UACUAC UCEUCE Etc…Etc…
Compatibility ExchangeCompatibility Exchange
`
`
EuropeEurope North AmericaNorth America
Desktop TopologyDesktop Topology
InterneInternett
HRHR FinanceFinance
Application Application CompatibilityCompatibility
ManagerManager
WilmaBetty
11
22
33
44
©2006 Microsoft Corporation. All rights reserved.
Features:Features: IT Pros helping each other IT Pros helping each other
out by sharing of application out by sharing of application compatibility rating with compatibility rating with communitycommunity
Secure and privacy Secure and privacy compliant transactionscompliant transactions
Simple and easy to share Simple and easy to share Submission can be Submission can be
anonymous or by user nameanonymous or by user name Partner with MCS and Partner with MCS and
deployment specialist in deployment specialist in building and seeding building and seeding community datacommunity data
Scalable solutionScalable solution
Works for Works for me! orme! orFound Found some some issuesissues
1. Community1. Community
See risk See risk rating rating and/or and/or issues issues
summary summary
IT Pro IT Pro (Enterprise (Enterprise
A)A)IT Pro IT Pro
(Enterprise (Enterprise B)B)
CompatibilitCompatibility Exchangey Exchange
InternetInternet
Features:Features: Feedback mechanism to Feedback mechanism to
vendors on most requested vendors on most requested applicationsapplications
Authoritative data Authoritative data compliments community compliments community ratingrating
Leverage existing Microsoft Leverage existing Microsoft data repositories (test, data repositories (test, certification, logo, vendor certification, logo, vendor portal)portal)
Limited data due to Limited data due to dependencies on Vendor dependencies on Vendor Portal and test teamPortal and test team
Analysis Analysis and and ReportingReporting
App Compat App Compat TestingTesting
Certify app Certify app works works
ororPublish issuesPublish issues
ISVISV
Microsoft Logo Microsoft Logo and and
CertificationCertification
2. Authoritative Sources2. Authoritative Sources
Compatibility ExchangeCompatibility Exchange
©2006 Microsoft Corporation. All rights reserved.
Inventory CollectorInventory Collector
Inventories Applications and DevicesInventories Applications and DevicesInventoried locations include:Inventoried locations include:
.Msi (Windows Installer database).Msi (Windows Installer database)Add/Remove Programs Add/Remove Programs Windows Shell (Start menu)Windows Shell (Start menu)App Path KeysApp Path KeysLocations pointed to by path environment variablesLocations pointed to by path environment variablesRegistered file extension handlersRegistered file extension handlersRegistry Run/RunOnce KeysRegistry Run/RunOnce KeysService Control ManagerService Control Manager
Filters out Windows Filters out Windows Components/FeaturesComponents/Features
©2006 Microsoft Corporation. All rights reserved.
Vista Compatibility Vista Compatibility EvaluatorsEvaluators
User Account ControlUser Account ControlDetects Detects which applications may have issues with running as Standard User on Vista
DeprecationsDeprecationsIdentifies applications that are loading binaries or using Identifies applications that are loading binaries or using APIs that will be removed in VistaAPIs that will be removed in Vista
GINAGINAIdentifies applications that installed a GINA DLLIdentifies applications that installed a GINA DLL
Session 0Session 0Identifies applications with interactive servicesIdentifies applications with interactive services
Internet ExplorerInternet ExplorerDetects Compatibility issues with web applications due to Detects Compatibility issues with web applications due to IE security features IE security features
©2006 Microsoft Corporation. All rights reserved.
Developer and Tester ToolsDeveloper and Tester Tools
Standard User AnalyzerStandard User AnalyzerProvides a way for testers to further test the Provides a way for testers to further test the LOB applications to determine what will fail LOB applications to determine what will fail as Standard User on Vistaas Standard User on Vista
Internet Explorer Test ToolInternet Explorer Test ToolProvides a way for testers to further test Provides a way for testers to further test intranet web applications to understand intranet web applications to understand issues and determine which of their web issues and determine which of their web applications will not work with IE 7applications will not work with IE 7
Setup Analysis ToolSetup Analysis ToolDetects issues such as WRP, installing of 32 Detects issues such as WRP, installing of 32 bit kernel mode drivers, 16 bit components to bit kernel mode drivers, 16 bit components to flag any of your packages which could run flag any of your packages which could run into this issueinto this issue
Compatibility AdministratorCompatibility AdministratorHelps IT Admins, Developers, Testers create Helps IT Admins, Developers, Testers create and test compatibility shim/fixes (no code and test compatibility shim/fixes (no code changes required)changes required)
©2006 Microsoft Corporation. All rights reserved.
ACT MethodologyACT Methodology
Collect DataCollect Data AnalyzeAnalyze TestTest
Inventory Inventory Applications and Applications and DevicesDevices
GatherGatherhigh-level high-level compatibility compatibility datadata
In-depth testing In-depth testing with test toolswith test tools
Log test dataLog test data
Build and Test Build and Test mitigationsmitigations
Prioritize and Prioritize and CategorizeCategorize
Synchronize data Synchronize data with Compatibility with Compatibility ExchangeExchange
Identify high-level Identify high-level issuesissues
©2006 Microsoft Corporation. All rights reserved.
Update Compatibility EvaluatorUpdate Compatibility Evaluator
Detects applications impacted by Windows Detects applications impacted by Windows UpdatesUpdates
Windows Updates Enterprise Desktop Topology
Update Manifest
Update (file/registr
y) Data
Application Compatibility
Manager
UpdateCompatibility
Evaluator
©2006 Microsoft Corporation. All rights reserved.
Application Compatibility Toolkit (ACT)Application Compatibility Toolkit (ACT)
©2006 Microsoft Corporation. All rights reserved.
Vista Upgrade AdvisorVista Upgrade Advisor
Scans a single computer to create Scans a single computer to create compatibility report for upgrading to compatibility report for upgrading to Windows VistaWindows Vista
Reports known system, device, and Reports known system, device, and application compatibility issuesapplication compatibility issues
Recommendations on how to mitigate Recommendations on how to mitigate the issuesthe issues
Helps you choose the edition of Vista Helps you choose the edition of Vista best fits the way you use your best fits the way you use your computer.computer.
©2006 Microsoft Corporation. All rights reserved.
Application Compatibility Application Compatibility ResourcesResourcesTechNet – ITPro Information
http://www.microsoft.com/technet/windowsvista/appcompat/default.mspx
MSDN – Developer Informationhttp://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dnlong/html/AppComp.asp
Application Compatibility Toolkit informationhttp://www.microsoft.com/technet/windowsvista/appcompat/tools.mspx
Sign up for the ACT RC (available Oct. 2006)https://connect.microsoft.com/availableprograms.aspx
Business Desktop Deployment Solution Acceleratorhttp://www.microsoft.com/technet/desktopdeployment/bddoverview.mspx
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.