Tags: Windows 7, Kompatibilität, Migration
Auf seinem Blog „Semantic Consonance“ demonstriert Chris Jackson anhand des Microsoft-Tools „Time Zone“ exemplarisch, wie eine inkompatible Anwendung unter Windows 7 doch noch zum Laufen gebracht werden kann. Das .NET-1.1-Programm gibt unter Windows 7 lediglich die Fehlermeldung „Object reference not set to an instance of an object“ aus und bricht ab.
Fehlerursache geänderte Registry-Struktur
Mit Hilfe eines Debuggers ermittelt Jackson, dass das Programm versucht, ausgehend vom Registry-Schlüssel HKLM\Software\Microsoft\Windows NT\CurrentVersion\Time Zones
den Wert Index aus jedem Unterschlüssel zu lesen. Diesen Wert gibt es unter Vista, Server 2008 und Windows 7 nicht mehr, wie die Microsoft Knowledgebase verrät. Time Zone kann damit nicht umgehen und stürzt ab.
Lösung durch Registry-Virtualisierung
Zunächst exportiert man HKLM\Software\Microsoft\Windows NT\CurrentVersion\Time Zones
aus einer vorhandenen XP- oder Server-2003-Installation. Per Suchen und Ersetzen im Texteditor ändert man nun alle Schlüsselnamen so um, dass sie auf den VirtualStore zeigen, also alle HKEY_LOCAL_MACHINE
in HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE
. Nach dem Import des Registry-Auszugs unter Windows 7 befindet sich die Struktur dann also unter
HKCU\Software\Classes\VirtualStore\MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zones
.
Mittels des Compatibility Administrator aus den Microsoft Application Compatibility Toolkit 5.5 versieht man danach TimeZone.exe mit dem Compatibility Fix VirtualRegistry. Wichtig ist, den Fix mit dem Parameter
ADDREDIRECT(HKLM\SOFTWARE\Microsoft\Windows%20NT\CurrentVersion\Time%20Zones^HKCU\SOFTWARE\Classes\VirtualStore\MACHINE\Software\Microsoft\Windows%20NT\CurrentVersion\Time%20Zones)
zu verwenden. Anderenfalls würden die Registry-Zugriffe nicht umgeleitet, da der Zweig HKLM\Software\Microsoft\Windows NT
davon normalerweise ausgenommen ist.
Anmerkung: Da man den Speicherort des virtualisierten Registry-Zweiges hier manuell vorgibt, müsste sich dieser nicht zwangsläufig im VirtualStore befinden, sondern könnte überall sein. Es dient aber der Übersichtlichkeit, ihn ohne Grund nicht zu verändern.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Gartner empfiehlt Unternehmen den Abschied von Windows 7
- Windows-7-Migration: Kompatibilität auch bei App-V prüfen
- Internet Explorer 6 nach Migration auf Windows 7 weiternutzen
- Intel migriert auf Windows 7: Erfahrungen mit der Kompatibilität von Anwendungen
- PCs auf Eignung für Windows 11 prüfen mit Microsofts Update Compliance
Weitere Links