Microsoft has released an update for Windows 7 and Windows Server 2008 R2 to improve the backward compatibility feature of these OSs.
What is backward compatibility feature? It allows you to install older applications (for example, older version of Autocad) that don’t works well on Windows 7 or Windows Server 2008.
Although there is no fool-proof solutions for installing applications designed for previous versions of Windows (Windows XP or Vista) in the newer version, this new update may help you in some extend.
“This update enables a dynamic-link library (DLL) that is designed for earlier versions of Windows to run in a Windows Vista context if the following conditions are true:
- The DLL does not specify an RT_MANIFEST resource.
- The DLL calls an API that uses the dynamic compatibility context. For example, the DLL calls the GetOverlappedResults API.
The backward compatibility feature in Windows 7 and in Windows Server 2008 R2 detects the manifest in a DLL and sets the dynamic context of a DLL to Windows 7 or to Windows Vista. This enables Windows 7 and Windows Server 2008 R2 to provide a Windows Vista context for applications that are designed for earlier versions of Windows.
However, if a DLL is not manifested correctly, the DLL may run in a Windows 7 context unexpectedly. This issue occurs because the Windows 7 compatibility mechanism incorrectly assumes that a DLL is compatible with Windows 7 if the DLL does not specify an RT_MANIFEST resource. This issue occurs especially if all the other DLLs in an application are not manifested or if the other DLLs are manifested with Windows 7 compatible GUIDs. This causes the “faulty” DLL to run in Windows 7 compatible mode. This behavior causes the application that loads the DLL to stop responding. Therefore, customers cannot run an application in Windows 7 context if the application loads at least one DLL in those two conditions”.
You can download the update for Windows 7 and Server 2008 (32bit/64bit) at here