Dela via


Gacutil.exe (verktyg för global sammansättningscache)

Med verktyget Global sammansättningscache kan du visa och ändra innehållet i den globala sammansättningscachen och ladda ned cacheminnet.

Det här verktyget installeras automatiskt med Visual Studio. Om du vill köra verktyget använder du Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell.

Skriv följande vid kommandotolken:

Syntax

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parametrar

Argument Description
assemblyName Namnet på en sammansättning. Du kan ange antingen ett delvis angivet sammansättningsnamn, till exempel myAssembly eller ett fullständigt angivet sammansättningsnamn, till exempel myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPath Namnet på en fil som innehåller ett sammansättningsmanifest.
assemblyListFile Sökvägen till en ANSI-textfil som visar sammansättningar som ska installeras eller avinstalleras. Om du vill använda en textfil för att installera sammansättningar anger du sökvägen till varje sammansättning på en separat rad i filen. Verktyget tolkar relativa sökvägar i förhållande till platsen för assemblyListFile. Om du vill använda en textfil för att avinstallera sammansättningar anger du det fullständigt kvalificerade sammansättningsnamnet för varje sammansättning på en separat rad i filen. Se exemplen på assemblyListFile-innehåll senare i det här avsnittet.
Alternativ Beskrivning
/Cdl Tar bort innehållet i nedladdningscacheminnet.
/F Ange det här alternativet med alternativen /i eller /il för att tvinga en sammansättning att installera om. Om det redan finns en sammansättning med samma namn i den globala sammansättningscachen skriver verktyget över den.
/h[elp] Visar kommandosyntax och alternativ för verktyget.
/iassemblyPath Installerar en sammansättning i den globala sammansättningscacheminnet.
/ifassemblyPath Installerar en sammansättning i den globala sammansättningscacheminnet. Om det redan finns en sammansättning med samma namn i den globala sammansättningscachen skriver verktyget över den.

Att ange det här alternativet motsvarar att ange alternativen /i och /f tillsammans.
/ilassemblyListFile Installerar en eller flera sammansättningar som anges i assemblyListFile i den globala sammansättningscachen.
/irassemblyPath

System

id

beskrivning
Installerar en sammansättning i den globala sammansättningscachen och lägger till en referens för att räkna sammansättningen. Du måste ange parametrarna assemblyPath, scheme, id och description med det här alternativet. En beskrivning av giltiga värden som du kan ange för dessa parametrar finns i alternativet /r .

Att ange det här alternativet motsvarar att ange alternativen /i och /r tillsammans.
/l [assemblyName] Visar en lista över innehållet i den globala sammansättningscacheminnet. Om du anger parametern assemblyName listar verktyget endast de sammansättningar som matchar det namnet.
/Ldl Visar innehållet i cacheminnet för nedladdade filer.
/lr [assemblyName] Visar en lista över alla sammansättningar och deras motsvarande referensantal. Om du anger parametern assemblyName visar verktyget endast de sammansättningar som matchar namnet och deras motsvarande referensantal.
/nologo Undertrycker Visning av Microsoft-startbanderoll.
/r [assemblyName | assemblyPath]

System

id

beskrivning
Anger en spårad referens till en sammansättning eller sammansättningar som ska installeras eller avinstalleras. Ange det här alternativet med alternativen /i, /il, /u eller /ul .

Om du vill installera en sammansättning anger du parametrarna assemblyPath, scheme, id och description med det här alternativet. Om du vill avinstallera en sammansättning anger du parametrarna assemblyName, scheme, id och description .

Om du vill ta bort en referens till en sammansättning måste du ange samma schema-, ID- och beskrivningsparametrar som angavs med alternativen /i och /r (eller /ir) när sammansättningen installerades. Om du avinstallerar en sammansättning tar verktyget även bort sammansättningen från den globala sammansättningscachen om det är den sista referensen att ta bort och om Windows Installer inte har några utestående referenser till sammansättningen.

Schemaparametern anger typ av installationsschema. Du kan ange något av följande värden:

– UNINSTALL_KEY: Ange det här värdet om installationsprogrammet lägger till programmet i Lägg till/ta bort program i Microsoft Windows. Program lägger till sig själva i Lägg till/ta bort program genom att lägga till en registernyckel i HKLM\Software\Microsoft\Windows\CurrentVersion.
– FILEPATH: Ange det här värdet om installationsprogrammet inte lägger till programmet i Lägg till/ta bort program.
– OPAQUE: Ange det här värdet om en registernyckel eller filsökväg inte gäller för installationsscenariot. Med det här värdet kan du ange anpassad information för ID-parametern .

Värdet som ska anges för ID-parametern beror på det värde som anges för schemaparametern :

– Om du anger UNINSTALL_KEY för schemaparametern anger du namnet på programmet som angetts i registernyckeln HKLM\Software\Microsoft\Windows\CurrentVersion. Om registernyckeln till exempel är HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp anger du MyApp som id-parameter .
– Om du anger FILEPATH för schemaparametern anger du den fullständiga sökvägen till den körbara fil som installerar sammansättningen som ID-parameter .
– Om du anger OPAQUE för schemaparametern kan du ange valfri datadel som ID-parameter . De data du anger måste omges av citattecken ("").

Med beskrivningsparametern kan du ange beskrivande text om programmet som ska installeras. Den här informationen visas när referenser räknas upp.
/Tyst Undertrycker visningen av alla utdata.
/uassemblyName Avinstallerar en sammansättning från den globala sammansättningscacheminnet.
/ufassemblyName Tvingar en angiven sammansättning att avinstalleras genom att alla referenser till sammansättningen tas bort.

Att ange det här alternativet motsvarar att ange alternativen /u och /f tillsammans. Observera: Du kan inte använda det här alternativet för att ta bort en sammansättning som har installerats med Microsoft Windows Installer. Om du försöker utföra den här åtgärden visar verktyget ett felmeddelande.
/ulassemblyListFile Avinstallerar en eller flera sammansättningar som anges i assemblyListFile från den globala sammansättningscachen.
/u[ngen] assemblyName Avinstallerar en angiven sammansättning från den globala sammansättningscacheminnet. Om den angivna sammansättningen har befintliga referensantal visar verktyget referensantalet och tar inte bort sammansättningen från den globala sammansättningscachen. Observera: I .NET Framework version 2.0 /ungen stöds inte. Använd uninstall i stället kommandot förNgen.exe (Native Image Generator).

Om du anger /ungen i .NET Framework versionerna 1.0 och 1.1 Gacutil.exe att ta bort sammansättningen från den interna avbildningscachen. Den här cachen lagrar de inbyggda avbildningarna för sammansättningar som har skapats med hjälp avNgen.exe (intern avbildningsgenerator).
/urassemblyName

System

id

beskrivning
Avinstallerar en referens till en angiven sammansättning från den globala sammansättningscacheminnet. Om du vill ta bort en referens till en sammansättning måste du ange samma schema-, ID- och beskrivningsparametrar som angavs med alternativen /i och /r (eller /ir) när sammansättningen installerades. En beskrivning av giltiga värden som du kan ange för dessa parametrar finns i alternativet /r .

Att ange det här alternativet motsvarar att ange alternativen /u och /r tillsammans.
/? Visar kommandosyntax och alternativ för verktyget.

Kommentarer

Anteckning

Du måste ha administratörsbehörighet för att kunna använda Gacutil.exe.

Mer specifikt kan du Gacutil.exe installera sammansättningar i cacheminnet, ta bort dem från cachen och lista innehållet i cachen.

Gacutil.exe innehåller alternativ som stöder referensräkning som liknar det referensräkningsschema som stöds av Windows Installer. Du kan använda Gacutil.exe för att installera två program som installerar samma sammansättning. verktyget håller reda på antalet referenser till sammansättningen. Därför finns sammansättningen kvar på datorn tills båda programmen har avinstallerats. Om du använder Gacutil.exe för faktiska produktinstallationer använder du de alternativ som stöder referensräkning. Använd alternativen /i och /r tillsammans för att installera en sammansättning och lägga till en referens för att räkna den. Använd alternativen /u och /r tillsammans för att ta bort ett referensantal för en sammansättning. Tänk på att enbart alternativen /i och /u inte stöder referensräkning. Dessa alternativ är lämpliga för användning under produktutveckling men inte för faktiska produktinstallationer.

Använd alternativen /il eller /ul för att installera eller avinstallera en lista över sammansättningar som lagras i en ANSI-textfil. Innehållet i textfilen måste formateras korrekt. Om du vill använda en textfil för att installera sammansättningar anger du sökvägen till varje sammansättning på en separat rad i filen. I följande exempel visas innehållet i en fil som innehåller sammansättningar som ska installeras.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Om du vill använda en textfil för att avinstallera sammansättningar anger du det fullständigt kvalificerade sammansättningsnamnet för varje sammansättning på en separat rad i filen. I följande exempel visas innehållet i en fil som innehåller sammansättningar som ska avinstalleras.

myAssembly1,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly2,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly3,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab

Anteckning

Om du försöker installera en sammansättning med ett filnamn som är längre än mellan 79 och 91 tecken (exklusive filnamnstillägget) kan följande fel uppstå:

Failure adding assembly to the cache:   The file name is too long.

Det beror på att internt Gacutil.exe skapar en sökväg på upp till MAX_PATH tecken som består av följande element:

  • GAC Root - 34 tecken (dvs. C:\Windows\Microsoft.NET\assembly\)
  • Arkitektur – 7 eller 9 tecken (dvs. GAC_32\, GAC_64\, GAC_MSIL)
  • AssemblyName – upp till 91 tecken, beroende på storleken på de andra elementen (t.ex. System.Xml.Linq\)
  • AssemblyInfo – 31 till 48 tecken eller mer bestående av:
    • Framework – 5 tecken (t.ex. v4.0_)
    • AssemblyVersion – 8 till 24 tecken (t.ex. 9.0.1000.0_)
    • AssemblyLanguage – 1 till 8 tecken (t.ex. de_, sr-Cyrl_)
    • PublicKey – 17 tecken (t.ex. 31bf3856ad364e35\)
  • DllFileName – Upp till 91 + 4 tecken (dvs. <AssemblyName>.dll)

Exempel

Följande kommando installerar sammansättningen mydll.dll i den globala sammansättningscacheminnet.

gacutil /i mydll.dll

Följande kommando tar bort sammansättningen hello från den globala sammansättningscachen så länge det inte finns några referensantal för sammansättningen.

gacutil /u hello

Observera att det tidigare kommandot kan ta bort mer än en sammansättning från sammansättningscache eftersom sammansättningsnamnet inte har angetts helt. Om till exempel både version 1.0.0.0 och 3.2.2.1 av hello är installerade i cachen, tar kommandot gacutil /u hello bort båda sammansättningarna.

Använd följande exempel för att undvika att ta bort fler än en sammansättning. Det här kommandot tar bara hello bort sammansättningen som matchar det fullständigt angivna versionsnumret, kulturen och den offentliga nyckeln.

gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca

Följande kommando installerar de sammansättningar som anges i filen assemblyList.txt i den globala sammansättningscacheminnet.

gacutil /il assemblyList.txt

Följande kommando tar bort de sammansättningar som anges i filen assemblyList.txt från den globala sammansättningscachen.

gacutil /ul assemblyList.txt

Följande kommando installeras myDll.dll i den globala sammansättningscache och lägger till en referens för att räkna det. Sammansättningen myDll.dll används av programmet MyApp. Parametern UNINSTALL_KEY MyApp anger registernyckeln som lägger MyApp till i Lägg till/ta bort program i Windows. Beskrivningsparametern anges som My Application Description.

gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"

Följande kommando installeras myDll.dll i den globala sammansättningscache och lägger till en referens för att räkna det. Schemaparametern , FILEPATHoch id-parametern , c:\applications\myApp\myApp.exeanger sökvägen till programmet som installerar myDll.dll. beskrivningsparametern anges som MyApp.

gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

Följande kommando installeras myDll.dll i den globala sammansättningscache och lägger till en referens för att räkna det. Med schemaparametern OPAQUE, kan du anpassa ID- och beskrivningsparametrarna.

gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"

Följande kommando tar bort referensen till myDll.dll av programmet myApp. Om det här är den sista referensen till sammansättningen tas även sammansättningen bort från den globala sammansättningscacheminnet.

gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

Följande kommando visar innehållet i den globala sammansättningscacheminnet.

gacutil /l

Se även