När du har ett MSI-paket kanske du är intresserad av att extrahera innehållet utan att installera appen. Detta kan göras snabbt utan att använda tredjepartsverktyg. Windows levereras redan med allt som krävs för operationen. I den här artikeln kommer vi att se hur man lägger till ett användbart kommando 'Extract' till MSI-filens snabbmeny.
Annons
Windows hanterar MSI-paket via msiexec-appen, som ingår i Windows Installer. Det är ett inbyggt verktyg som stöder ett antal kommandoradsväxlar. Du kan lära dig mer om dem genom att köra följande kommando.
- Tryck på Win + R-kortkommandon på tangentbordet för att öppna dialogrutan Kör.
- Skriv följande i rutan Kör:
msiexec /?
- Windows Installer visar hjälpinnehållet i ett fönster:
Den stöder följande växlar:
hur man konverterar .wav till .mp3
Installera alternativ
Installerar eller konfigurerar en produkt
/ a Administrativ installation - Installerar en produkt i nätverket
/ j [/ t] [/ g]
Annonserar en produkt - m för alla användare, u för nuvarande användare
Avinstallerar produkten
Skärmalternativ
/tyst
Tyst läge, ingen användarinteraktion
/passiv
Oövervakat läge - endast förloppsindikator
/ q [n | b | r | f]
Ställer in användargränssnittsnivå
n - Inga gränssnitt
b - Grundläggande användargränssnitt
r - Reducerat användargränssnitt
f - Fullständigt gränssnitt (standard)
/hjälp
Hjälpinformation
Starta om alternativ
/ norestart
Starta inte om när installationen är klar
/ starta om
Uppmanar användaren att starta om vid behov
/ forcerestart
Starta alltid om datorn efter installationen
Loggningsalternativ
/ l [i | w | e | a | r | u | c | m | o | p | v | x | + |! | *]
i - Statusmeddelanden
w - Icke dödliga varningar
e - Alla felmeddelanden
a - Starta upp åtgärder
r - Handlingsspecifika poster
u - Användarförfrågningar
c - Initiala UI-parametrar
m - Information om minnet eller dödlig utgång
o - Meddelanden som inte är diskutrymme
p - Terminalegenskaper
v - Omfattande utdata
x - Extra felsökningsinformation
+ - Lägg till befintlig loggfil
! - Spola varje rad till stocken
* - Logga all information förutom v och x alternativ
/logga
Motsvarande / l *
Uppdateringsalternativ
/ uppdatera [; Update2.msp]
Gäller uppdatering
/ avinstallera [; Update2.msp] / paket Ta bort uppdatering (ar) för en produkt
Reparationsalternativ
/ f [p | e | c | m | s | o | d | a | u | v] Reparerar en produkt
p - endast om filen saknas
o - om filen saknas eller en äldre version är installerad (standard)
e - om filen saknas eller en lika eller äldre version är installerad
d - om filen saknas eller en annan version är installerad
c - om filen saknas eller kontrollsumman inte matchar det beräknade värdet
a - tvingar alla filer att installeras om
u - alla nödvändiga användarspecifika registerposter (standard)
m - alla datorspecifika registerposter som krävs (standard)
s - alla befintliga genvägar (standard)
v - körs från källan och ompaketerar det lokala paketet
Ställa in allmänna fastigheter
[PROPERTY = PropertyValue]
Alternativet som berör denna situation är / a. Även om det beskrivs som 'Administrativ installation - Installerar en produkt i nätverket' kan den användas för att extrahera innehållet i ett enda MSI-paket till mindre enskilda filer som kan servas med en patch. Följande kommando kan användas:
msiexec / a 'path to package.msi' / qb TARGETDIR = 'path to the destination folder'
TARGETDIR är en gemensam egenskap för varje paket som specificerar målmappen för MSI-paketinnehållet.
Växeln '/ qb' ber Windows Installer att visa det grundläggande gränssnittet under processen. Den visar en dialogruta med knappen Avbryt och förloppsindikatorn.
Windows 8.1 administrativa verktyg
Till exempel kan jag använda följande kommando för att packa upp MSI-installationsprogrammet för FAR Manager:
msiexec / a 'C: Users winaero Downloads Far30b4774.x64.20160902.msi' / qb TARGETDIR = 'C: Users winaero Downloads Far'
Om målmappen inte finns skapas den automatiskt. I mitt fall skapas undermappen Far i nedladdningsmappen.
Kommandot ovan kan anges direkt i dialogrutan Kör.
Du kan använda informationen ovan för att lägga till ett snabbmenykommando för att extrahera MSI-filens innehåll med ett klick. Så här kan det göras.
Lägg till Extract Context Menu Command till MSI-filer
- Öppet Registerredigerare .
- Gå till följande registernyckel:
HKEY_CLASSES_ROOT Msi.Package shell
Dricks: Hur man hoppar till önskad registernyckel med ett klick .
- Skapa en ny undernyckel här och namnge denExtrahera.
- Skapa en ny undernyckel under namnet Extrahera och ge den namnetKommando:
- Ställ in standardvärdet förKommandoundernyckel till följande sträng:
msiexec.exe / a '% 1' / qb TARGETDIR = '% 1 Innehåll'
Se följande skärmdump:
När du högerklickar på ett MSI-paket i File Explorer, hittar du ett nytt snabbmenyalternativ 'Extract'. Om du kör det kommer det att skapa en ny katalog 'package_name.msi Innehåll' i den aktuella mappen och extrahera paketets innehåll där. Se följande skärmdump:
För att spara tid skapade jag färdiga registerfiler. Du kan ladda ner dem med länken nedan.
Ladda ner registerfiler
nytt innehåll är tillgängligt. klicka här för att uppdatera sidan. uppdatera
Ångra-filen ingår.
Detta trick fungerar i Windows 10, Windows 8 och Windows 7.
Observera att vissa paket inte stöder administrativ installation. De kan inte extraheras med den här metoden. När du extraherar ett MSI-paket på detta sätt blir dess administrativa installationspunkt (mappen där den extraheras) användbar. En Windows Installer-patch (MSP) kan användas för att uppdatera den så att paketet installeras när paketet installeras.