Tilføj kommandoen Udpak kontekstmenu til MSI-filer
Når du har en MSI-pakke, kan du være interesseret i at udpakke dens indhold uden at installere appen. Dette kan hurtigt gøres uden brug af tredjepartsværktøjer. Windows leveres allerede med alt, hvad der kræves til driften. I denne artikel vil vi se, hvordan du tilføjer en nyttig kommando "Extract" til MSI-filens kontekstmenu.
Reklame
Windows håndterer MSI-pakker via msiexec-appen, som er en del af Windows Installer. Det er et indbygget værktøj, som understøtter en række kommandolinjeskift. Du kan lære om dem ved at køre følgende kommando.
- Trykke Vinde + R genvejstaster på tastaturet for at åbne dialogboksen Kør.
- Indtast følgende i feltet Kør:
msiexec /?
- Windows Installer viser hjælpeindholdet i et vindue:
Den understøtter følgende kontakter:
Installationsmuligheder
Installerer eller konfigurerer et produkt
/a Administrativ installation - Installerer et produkt på netværket
/j [/t ] [/g ]
Annoncerer et produkt - m til alle brugere, u til nuværende bruger
Afinstallerer produktet
Visningsindstillinger
/quiet
Stille tilstand, ingen brugerinteraktion
/passive
Uovervåget tilstand - kun statuslinje
/q[n|b|r|f]
Indstiller brugergrænsefladeniveau
n - Ingen brugergrænseflade
b - Grundlæggende brugergrænseflade
r - Reduceret brugergrænseflade
f - Fuld brugergrænseflade (standard)
/help
Hjælp oplysninger
Genstartsindstillinger
/norestart
Genstart ikke efter installationen er fuldført
/promptrestart
Beder brugeren om genstart, hvis det er nødvendigt
/forcerestart
Genstart altid computeren efter installationen
Logningsmuligheder
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]
i - Statusmeddelelser
w - Ikke-dødelige advarsler
e - Alle fejlmeddelelser
a - Opstart af handlinger
r - Handlingsspecifikke optegnelser
u - Brugerønsker
c - Indledende brugergrænsefladeparametre
m - Manglende hukommelse eller fatal exit-information
o - Beskeder uden diskplads
p - Terminalegenskaber
v - Udførligt output
x - Ekstra debugging information
+ - Tilføj til eksisterende logfil
! - Skyl hver linje til loggen
* - Log alle oplysninger undtagen v og x muligheder
/log
Ækvivalent af /l*
Opdateringsindstillinger
/opdatering [;Opdatering2.msp]
Anvender opdatering(er)
/afinstaller [;Update2.msp] /pakke Fjern opdatering(er) for et produkt
Reparationsmuligheder
/f[p|e|c|m|s|o|d|a|u|v] Reparerer et produkt
p - kun hvis fil mangler
o - hvis fil mangler, eller en ældre version er installeret (standard)
e - hvis fil mangler eller en tilsvarende eller ældre version er installeret
d - hvis filen mangler, eller en anden version er installeret
c - hvis filen mangler, eller kontrolsummen ikke matcher den beregnede værdi
a - tvinger alle filer til at blive geninstalleret
u - alle nødvendige brugerspecifikke poster i registreringsdatabasen (standard)
m - alle nødvendige computerspecifikke poster i registreringsdatabasen (standard)
s - alle eksisterende genveje (standard)
v - kører fra kilden og henter den lokale pakke
Indstilling af offentlige egenskaber
[PROPERTY=Ejendomsværdi]
Den mulighed, der vedrører denne situation, er /a. Selvom det er beskrevet som "Administrativ installation - Installerer et produkt på netværket", kan det bruges at udtrække indholdet af en enkelt MSI-pakke til mindre individuelle filer, som kan betjenes af en lappe. Følgende kommando kan bruges:
msiexec /a "sti\til\pakke.msi" /qb TARGETDIR="sti\til\destination\mappen"
TARGETDIR er en egenskab, der er fælles for hver pakke, som angiver destinationsmappen for MSI-pakkens indhold.
Switchen "/qb" fortæller Windows Installer at vise den grundlæggende grænseflade under processen. Det vil vise en dialog med knappen Annuller og statuslinjen.
For eksempel kan jeg bruge følgende kommando til at udpakke MSI-installationsprogrammet til FAR Manager:
msiexec /a "C:\Users\winaero\Downloads\Far30b4774.x64.20160902.msi" /qb TARGETDIR="C:\Users\winaero\Downloads\Far"
Hvis målmappen ikke eksisterer, oprettes den automatisk. I mit tilfælde oprettes undermappen Far i downloadmappen.
Kommandoen ovenfor kan indtastes direkte i dialogboksen Kør.
Du kan bruge oplysningerne ovenfor til at tilføje en kontekstmenukommando for at udtrække MSI-filens indhold med et enkelt klik. Her er hvordan det kan gøres.
Tilføj kommandoen Udpak kontekstmenu til MSI-filer
- Åben Registreringseditor.
- Gå til følgende registreringsdatabasenøgle:
HKEY_CLASSES_ROOT\Msi. Pakke\skal
Tip: Sådan springer du til den ønskede registreringsnøgle med et enkelt klik.
- Opret en ny undernøgle her og navngiv den Uddrag.
- Under Udtræk nøglen skal du oprette en ny undernøgle og navngive den Kommando:
- Indstil standardværdien for Kommando undernøgle til følgende streng:
msiexec.exe /a "%1" /qb TARGETDIR="%1 Indhold"
Se følgende skærmbillede:
Når du højreklikker på en MSI-pakke i File Explorer, vil du finde et nyt kontekstmenupunkt "Udpak". Hvis du udfører det, vil det oprette en ny mappe "pakkenavn.msi Indhold" i den aktuelle mappe og udtrække pakkens indhold der. Se følgende skærmbillede:
For at spare din tid lavede jeg registreringsdatabasefiler, der er klar til brug. Du kan downloade dem ved at bruge linket nedenfor.
Download registreringsdatabasen filer
Fortryd-filen er inkluderet.
Dette trick virker i Windows 10, Windows 8 og Windows 7.
Bemærk, at nogle pakker ikke understøtter administrativ installation. De kan ikke udvindes ved hjælp af denne metode. Når du udpakker en MSI-pakke på denne måde, bliver dens administrative installationspunkt (mappen, hvor den udpakkes) servicebar. En Windows Installer-patch (MSP) kan bruges til at opdatere den, så når pakken er installeret, anvendes patchen også.