Porting applications to Windows Vista
<google>ENGELSK</google>
Program Compatibility Assistant
- Managing the Windows 7 Program Compatibility Assistant (PCA)
- Program Compatibility Assistant: frequently asked questions
- Program Compatibility Features and Resulting Internet Communication in Windows Vista
- How to prevent the Program Compatibility Assistant from appearing on Windows Vista
- Why does .NET Framework 3.5 beta 1 setup tell me to install Windows XP SP2 on Vista?
This Program Compatibility Assistant information is stored in the registry, look for the name of the EXE file in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
If the application has a manifest with a Compatibility section stating it supports Windows 7 (<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>), the Program Compatibility Assistant PCA, won't be active.
The Windows Vista and Windows Server 2008 Developer Story: Application Compatibility Cookbook
Application Compatibility Additional Resources
Microsoft Application Compatibility Toolkit
Application Verifier
- Microsoft Application Verifier v3.4 for x86, x64 and IA64
- Configuring Application Verifier as a Testing Tool for Windows Vista Compatibility
- Frequently Asked Questions About Windows Application Verifier
Application Verifier uses the key:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution
to take control over the application when it starts.
Programming against UAC
When your permission or password is needed to complete a task, UAC will alert you with one of the following messages:
- Windows needs your permission to continue
- A program needs your permission to continue
- An unidentified program wants access to your computer
- This program has been blocked
WARNING .exe with manifests for Vista might give Blue screen on XP !!!
- Bug in XP causes blue screen if embedded manifest has duplicate xmlns tag
- MSDN thread about Manifest files for Vista
- The computer may restart when you add a manifest that has the Windows Vista extension to an .exe file or to a .dll file in Windows XP Service Pack 2 (SP2)
- FEEDBACK MT.EXE from VS2005 SP1 and Vista SDK have same version number
Watch this video to learn to embed manifests in applications to avoid Vista auto detecting what kind of application it is.
- How To: Tell Vista's UAC What Privelege Level Your App Requires
- Right click and select Save Target As... to download video in highres
Watch this video to learn how to run an application without Admin Rights and only require Elevation when necessary.
- How To: Use Vista's UAC Feature To Avoid Always Requiring Admin Rights
- Right click and select Save Target As... to download video in highres
Use this tool to check what manifests is inside your .exe file.
- The Windows Vista and Windows Server 2008 Developer Story: Windows Vista Application Development Requirements for User Account Control (UAC)
- Vista tools - TweakUAC
- How to Determine if a User is a Member of the Administrators Group with UAC Enabled on Windows Vista
- Inside Windows Vista User Account Control - Mark Russinovich
- CodeProject Making Your Application UAC Aware
- How to embed a manifest in an assembly: let me count the ways...
Services is isolated in Session 0
MT.EXE Versions!
Folder and registry changes in Vista and Vista x64
Locating Debug Symbols
Add the environment variable:
_NT_SYMBOL_PATH=SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols
Full syntax off _NT_SYMBOL_PATH:
Registry Virtualization
Installer issues (MSI)
Control Panel Items
<google>ENGELSK</google>