Program som kringgår globalt behandlade sida vid sida-sammansättningar är sårbara för problem som korrigeras i en Microsoft-programuppdatering

Artikelöversättning Artikelöversättning
Artikel-id: 835322 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

INLEDNING

På datorer med Microsoft Windows Server 2003 kan administratörer kringgå globalt uppdaterade sida vid sida-sammansättningar för vissa program. På datorer med Microsoft Windows XP kan programutvecklare och administratörer kringgå globalt uppdaterade sida vid sida-sammansättningar för vissa program. Den här funktionen kan emellertid göra programmet sårbart för problem som annars skulle korrigeras med globala programuppdateringar från Microsoft. Därför avråder vi bestämt från användning av funktionen.

Vi rekommenderar inte användning av sida vid sida-sammansättningar som blandas med DLL/COM-omdirigering i Windows. Se "Mer information".

Mer Information

En sida vid sida-sammansättning innehåller en samling av DLL-filer, fönsterklasser, COM-servrar, typbibliotek eller gränssnitt. Program får alltid tillgång till alla de här resurserna tillsammans. En sida vid sida-sammansättning väljs av ett XML-programmanifest som kan finnas på någon av följande platser:
  • En resurs i programmets körbara fil.
  • En fil med tillägget ".exe.manifest" som är installerad i samma mapp som programmets körbara fil.
  • En inställning i Microsoft-programmet Kompatibilitetsdatabasen. Om ett programmanifest tillhandahålls av Microsofts programkompatibilitetsdatabas har manifestet företräde framför data från programmet.
Efter distributionen kan programutvecklare eller administratörer uppdatera sammansättningskonfigurationen per program med hjälp av en programkonfigurationsfil. En programkonfigurationsfil är en fil med tillägget ".exe.config" i samma mapp som programmets körbara fil. En programkonfigurationsfil kan användas för att dirigera om ett visst program från en version av en sida vid sida-sammansättning till en annan version av samma sammansättning, utan att programmet kompileras om. En administratör eller utvecklare kan uppdatera ett enskilt program så att en nyare sida vid sida-sammansättning används som inte har tvingats på alla program med en utgivarprincip. Den nyare sammansättningen tar sedan över för tidigare versioner av sammansättningen för det angivna programmet.

Dessutom kan en administratör för Windows Server 2003, eller en administratör eller programutvecklare för Windows XP, kringgå alla globalt uppdaterade sida vid sida-sammansättningar för ett visst program i stället för att ta bort den globalt uppdaterade sammansättningen för alla program. För att åstadkomma detta kan en administratör uppdatera programkonfigurationsfilen med ett <publisherPolicy apply="no"/>-element.

Om du vill ta reda på om en programkonfigurationsfil används för att kringgå globalt uppdaterade sida vid sida-sammansättningar för ett visst program på en dator med Windows XP. letar du reda på <publisherPolicy apply="no"/>-elementet i en CONFIG-fil med samma namn som programmets körbara fil. Leta till exempel efter <publisherPolicy apply="no"/>-elementet i filen Program.exe.config för att fastställa om globalt uppdaterade sida vid sida-sammansättningar kringgås för ett program där Program.exe används som körbar fil. Det här Program.exe.config-fil installeras på samma plats som programmets programmanifest.

Genom den här funktionen kan programutvecklare och administratörer inaktivera en Microsoft-programuppdatering för ett visst program som inte fungerar korrekt när programuppdateringen installeras. (Därför behöver programutvecklare och administratörer inte ta bort programuppdateringen för alla program.) Om en uppdatering kringgås i ett program kan detta emellertid bli sårbart för problem som korrigeras med uppdateringen.

Obs! Om en uppdatering kringgås för ett visst program kräver det en post i Microsofts programkompatibilitetsdatabas på datorer med Windows Server 2003. Inställningen kan bara läggas till av administratörer eller av Microsoft i en programuppdatering.

Det finns ytterligare metoder som programförfattaren, eller någon med kontroll över programkatalogen, kan använda för att kringgå den globala uppdateringen.

Varning för användning av DLL/COM-omdirigering i Windows

Denna teknik kräver normalt att en LOCAL-fil distribueras tillsammans med programmet. Detta krav bidrar till att minska problem med programkompatibilitet.

Obs! LOCAL-filen gör att DLL-kopian i programmappen föredras framför den globala kopian, som kan vara en värdefull tjänstuppdatering. Vi rekommenderar att programutvecklare och administratörer använder den här funktionen med försiktighet, eller inte alls, när en sida vid sida-sammansättning används i programmet.

Mer information om DLL/COM-omdirigering i Windows finns på följande Microsoft-webbplats:
http://msdn2.microsoft.com/en-us/library/aa375142.aspx


Rekommendationer för programutvecklare som använder sida vid sida-sammansättningar
  • Leverera programmet med ett programmanifest som anger vilken sida vid sida-sammansättning som programmet har byggts eller testats med.
  • Distribuera alltid sida vid sida-sammansättningens manifestfil tillsammans med sida vid sida-DLL-filerna, även om du väljer att distribuera till programmappen.
  • Om du installerar programmet på en dator med Microsoft Windows 2000 eller tidigare Windows-versioner ska sida vid sida-sammansättningen inte levereras i programmappen till dessa operativsystem. I stället ska sida vid sida-sammansättningar från systemmappen användas.
  • Använd inte LOCAL-funktionen, även kallad DLL/COM-omdirigering i Windows.
  • Kör inte LoadLibrary-funktionen på sida vid sida-sammansättningens DLL-filer med en uttrycklig fullständig sökväg. Använd i stället statisk länkning eller LoadLibrary-funktionen tillsammans med det obehandlade DLL-filnamnet. Använd till exempel "Gdiplus.dll" som filnamn.
Ytterligare information finns på följande Microsoft-webbplats:
http://msdn2.microsoft.com/en-us/library/ms997620.aspx

Referenser

Mer information om isolerade program och sida vid sida-sammansättningar finns på följande Microsoft-webbplats:
http://msdn2.microsoft.com/en-us/library/aa375193.aspx
Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 Standardterminologi för beskrivning av Microsoft-programuppdateringar

Egenskaper

Artikel-id: 835322 - Senaste granskning: den 1 december 2007 - Revision: 4.3
Informationen i denna artikel gäller:
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional x64 Edition
Nyckelord: 
kbinfo kbtshoot kbsecurity kbprb KB835322

Ge feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com