De informatie in dit artikel is van toepassing op:
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Professional Edition
Dit artikel is eerder gepubliceerd onder NL286705
Samenvatting
Windows XP beschikt over een technologie die een dynamische compatibiliteitscorrectie voor niet-Windows XP-programma's mogelijk maakt. Door de compatibiliteitscorrectie kunnen de uit Windows XP-vernieuwingen resulterende problemen met eerdere versies van een programma worden voorkomen. U kunt deze compatibiliteitscorrecties toepassen in afzonderlijke vorm of in kant-en-klare groepen, die compatibiliteitslagen worden genoemd. Deze lagen zijn gedefinieerd voor verschillende algemene configuraties.
Een voorbeeld hiervan is een laag met de vereiste compatibiliteitscorrecties voor een programma dat speciaal voor Microsoft Windows 95 was geschreven.
Microsoft stelt een aantal hulpmiddelen beschikbaar waarmee u de compatibiliteitstechnologie zowel via de grafische interface als via de opdrachtprompt kunt gebruiken. Het gebruik van de grafische interface heeft hierbij normaal de voorkeur, maar in sommige gevallen is het beter de compatibiliteitslagen via een script of een batchbestand toe te passen. In dit artikel wordt uitgelegd hoe u een compatibiliteitscorrectie toepast via scripts of batchbestanden.Meer informatie
Voer de volgende opdrachtsyntaxis in om compatibiliteitslagen in batchbestanden of scripts toe te passen:
set __COMPAT_LAYER=[!]laagnaam1 [laagnaam2 ...]
OPMERKING: in deze opdrachtsyntaxis moet u een spatie en twee onderstrepingstekens (_) plaatsen tussen "set" en "COMPAT". De opdracht werkt niet zonder deze onderstrepingstekens.
Laagnaam: De verkorte naam van de toegepaste compatibiliteitslaag.
[!] De lagen mogen niet aan bestaande compatibiliteitscorrecties in de databasebestanden worden toegevoegd.
OPMERKING: gebruik een spatie als scheidingsteken voor de namen van compatibiliteitslagen.
Bijvoorbeeld:
set __COMPAT_LAYER=Win95 DisableThemes
set __COMPAT_LAYER=!Win95 DisableThemes
U schakelt een toegepaste compatibiliteitslaag uit door dezelfde opdracht te gebruiken zonder de laag te vermelden.
Bijvoorbeeld:
Voor elke gangbare compatibiliteitslaag bestaat een verkorte naam die u achter de opdracht set __COMPAT_LAYER in een script kunt invoeren. Hier volgt een overzicht van de beschikbare compatibiliteitslagen:
Verkorte naam | Volledige naam |
---|
DisableThemes | Disable Visual Themes |
ProfilesSetup | Profile Setup Support |
256Color | 256 Color |
640x480 | 640 x 480 Screen Resolution |
Win95 | Windows 95 |
Win98 | Windows 98 / Windows Me |
Win2000 | Windows 2000 |
NT4SP5 | Windows NT 4.0 SP 5 |
Deze wijze van compatibiliteitslagen toepassen biedt tevens de zekerheid dat de laag recursief wordt doorgegeven aan elk ander proces dat voortvloeit uit de opdrachten in het batchbestand. Bent u in het script of het batchbestand op een punt aangekomen waarop de compatibiliteitslaag niet meer nodig is, dan gebruikt u de opdracht set __COMPAT_LAYER zonder laagsvermelding om de compatibiliteitslaag te annuleren. De processen die zijn gestart terwijl de compatibiliteitslaag was ingesteld, worden verder voltooid onder de laag.
Het volgende scenario geeft een voorbeeld van de implementatie van deze opdracht: Stel dat u een batchbestand hebt waarmee verschillende belangrijke configuratietaken worden uitgevoerd voordat een programma wordt gestart. Dit programma heeft een aantal compatibiliteitscorrecties nodig die zijn opgenomen in de compatibiliteitslaag Windows 95. Als de compatibiliteitslaag alleen nodig is voor Setup.exe en niet voor eventuele processen die voortvloeien uit dit programma, kunt u de toewijzing beter uitvoeren vanuit de grafische interface. U klikt dan met de rechtermuisknop op het .bat of .cmd-bestand en wijst de compatibiliteitslaag toe aan het batchbestand.
In het volgende voorbeeld ziet u welk fragment het batchbestand in dit scenario zou kunnen bevatten:
Md C:\Program Files\MijnBedrijf\MijnToep
Copy D:\i386\*.* C:\Program Files\MijnBedrijf\MijnToep
C:\Program Files\MijnBedrijf\MijnToep\Setup.exe
De grafische interface is niet geschikt als de correcties uit de compatibiliteitslaag Windows 95 nodig zijn voor Setup.exe en tevens recursief moeten worden doorgegeven aan eventuele vervolgprocessen van Setup.exe. In dat geval moet u in het batchbestand de volgende opdracht invoegen voorafgaand aan de aanroep van het programma waarvoor de compatibiliteitslaag nodig is:
Md C:\Program Files\MijnBedrijf\MijnToep
Copy D:\i386\*.* C:\Program Files\MijnBedrijf\MijnToep
set __COMPAT_LAYER=Win95
C:\Program Files\MijnBedrijf\MijnToep\Setup.exe
Hiermee wordt de compatibiliteitslaag Windows 95 toegewezen aan het programma Setup.exe en vervolgens recursief toegepast op de processen die voortvloeien uit Setup.exe.
U kunt deze methode op de bovenstaande manier gebruiken in batchbestanden, maar ook op soortgelijke wijze toepassen op aanmeldingsscripts. Netwerkbeheerders hebben hiermee een oplossing in handen voor problemen met programma's waarvoor compatibiliteitslagen zijn vereist en waarvan het uitvoerbare bestand en de daaruit resulterende processen via een batchbestand worden aangeroepen.