Dela via


Isolerade komponenter

Författare till installationspaket kan ange att installationsprogrammet kopierar de delade filerna (vanligtvis delade DLL:er) för ett program till programmets mapp i stället för till en delad plats. Den här privata uppsättningen filer (DLL:er) används sedan endast av programmet. Att isolera programmet tillsammans med dess delade komponenter på det här sättet har följande fördelar:

  • Programmet använder alltid versionerna av de delade filer som det distribuerades med.
  • Om du installerar programmet skrivs inte andra versioner av de delade filerna över av andra program.
  • Efterföljande installationer av andra program som använder olika versioner av de delade filerna kan inte skriva över de filer som används av det här programmet.

Eftersom den aktuella implementeringen av COM behåller en enda fullständig sökväg i registret för varje CLSID/Context-par, tvingar den alla program att använda samma version av en delad DLL. Om du vill att ett program ska behålla en privat kopia av en COM-server kontrollerar systeminläsaren i Windows 2000 att det finns en . LOKAL fil i programmets mapp. Om systeminläsaren identifierar en . LOCAL-filen ändrar söklogik för att föredra DLL:er som finns i samma mapp som programmet.

När Windows Installer kör åtgärden IsolateComponents kopierar de filerna för komponenten (vanligtvis en delad DLL) som anges i kolumnen Component_Shared i tabellen IsolatedComponent till samma mapp som komponenten (vanligtvis en .exe fil) som anges i kolumnen Component_Application. Installationsprogrammet skapar en fil i den här katalogen, noll byte i längd, med det korta filnamnet för nyckelfilen för Component_Application (vanligtvis är namnet samma som programmets .exe) som läggs till med . LOKAL. Installationsprogrammet använder registreringen för komponenten på den delade platsen och skriver ingen registreringsinformation för kopian av komponenten på den privata platsen.

Mer information finns i: