Legg til Pakk ut kontekstmenykommando til MSI-filer
Når du har en MSI-pakke, kan du være interessert i å trekke ut innholdet uten å installere appen. Dette kan raskt gjøres uten å bruke tredjepartsverktøy. Windows kommer allerede med alt som kreves for operasjonen. I denne artikkelen vil vi se hvordan du legger til en nyttig kommando "Extract" til MSI-filens kontekstmeny.
Annonse
Windows håndterer MSI-pakker via msiexec-appen, som er en del av Windows Installer. Det er et innebygd verktøy som støtter en rekke kommandolinjebrytere. Du kan lære om dem ved å kjøre følgende kommando.
- trykk Vinne + R hurtigtaster på tastaturet for å åpne dialogboksen Kjør.
- Skriv inn følgende i Kjør-boksen:
msiexec /?
- Windows Installer vil vise hjelpeinnholdet i et vindu:
Den støtter følgende brytere:
Installer alternativer
Installerer eller konfigurerer et produkt
/a Administrativ installasjon - Installerer et produkt på nettverket
/j [/t ] [/g ]
Annonserer et produkt - m til alle brukere, u til nåværende bruker
Avinstallerer produktet
Visningsalternativer
/quiet
Stille modus, ingen brukerinteraksjon
/passive
Uovervåket modus - kun fremdriftsindikator
/q[n|b|r|f]
Angir brukergrensesnittnivå
n - Ingen brukergrensesnitt
b - Grunnleggende brukergrensesnitt
r - Redusert brukergrensesnitt
f - Fullt brukergrensesnitt (standard)
/help
Hjelpeinformasjon
Alternativer for omstart
/norestart
Ikke start på nytt etter at installasjonen er fullført
/promptrestart
Ber brukeren om å starte om nødvendig
/forcerestart
Start alltid datamaskinen på nytt etter installasjon
Loggingsalternativer
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]
i - Statusmeldinger
w - Ikke-dødelige advarsler
e - Alle feilmeldinger
a - Oppstart av aksjoner
r - Handlingsspesifikke poster
u - Brukerforespørsler
c - Innledende brukergrensesnittparametere
m - Utenfor minne eller dødelig utgangsinformasjon
o - Ikke-på-diskplass-meldinger
p - Terminalegenskaper
v - Utførlig utgang
x - Ekstra feilsøkingsinformasjon
+ - Legg til eksisterende loggfil
! - Skyll hver linje til stokken
* - Logg all informasjon, bortsett fra v og x alternativer
/log
Ekvivalent av /l*
Oppdateringsalternativer
/oppdatering [;Oppdatering2.msp]
Gjelder oppdatering(er)
/avinstaller [;Update2.msp] /pakke Fjern oppdatering(er) for et produkt
Reparasjonsalternativer
/f[p|e|c|m|s|o|d|a|u|v] Reparerer et produkt
p - bare hvis filen mangler
o - hvis filen mangler eller en eldre versjon er installert (standard)
e - hvis filen mangler eller en tilsvarende eller eldre versjon er installert
d - hvis filen mangler eller en annen versjon er installert
c - hvis filen mangler eller kontrollsummen ikke samsvarer med den beregnede verdien
a - tvinger alle filer til å installeres på nytt
u - alle nødvendige brukerspesifikke registeroppføringer (standard)
m - alle nødvendige datamaskinspesifikke registeroppføringer (standard)
s - alle eksisterende snarveier (standard)
v - kjører fra kilden og henter lokal pakke
Angi offentlige egenskaper
[PROPERTY=PropertyValue]
Alternativet som angår denne situasjonen er /a. Selv om det er beskrevet som "Administrativ installasjon - Installerer et produkt på nettverket", kan det brukes å trekke ut innholdet i en enkelt MSI-pakke til mindre individuelle filer som kan betjenes av en lapp. Følgende kommando kan brukes:
msiexec /a "bane\til\pakke.msi" /qb TARGETDIR="bane\til\destinasjon\mappen"
TARGETDIR er en egenskap som er felles for hver pakke som spesifiserer destinasjonsmappen for MSI-pakkeinnholdet.
Bryteren "/qb" forteller Windows Installer å vise det grunnleggende grensesnittet under prosessen. Det vil vise en dialog med Avbryt-knappen og fremdriftslinjen.
For eksempel kan jeg bruke følgende kommando for å pakke ut MSI-installasjonsprogrammet til FAR Manager:
msiexec /a "C:\Users\winaero\Downloads\Far30b4774.x64.20160902.msi" /qb TARGETDIR="C:\Users\winaero\Nedlastinger\Far"
Hvis målmappen ikke eksisterer, opprettes den automatisk. I mitt tilfelle vil Far-undermappen i nedlastningsmappen bli opprettet.
Kommandoen ovenfor kan legges inn direkte i Kjør-dialogen.
Du kan bruke informasjonen ovenfor til å legge til en kontekstmenykommando for å trekke ut MSI-filens innhold med ett klikk. Her er hvordan det kan gjøres.
Legg til Pakk ut kontekstmenykommando til MSI-filer
- Åpen Registerredigering.
- Gå til følgende registernøkkel:
HKEY_CLASSES_ROOT\Msi. Pakke\skall
Tips: Hvordan hoppe til ønsket registernøkkel med ett klikk.
- Opprett en ny undernøkkel her og navngi den Ekstrakt.
- Under Pakk ut nøkkelen, opprett en ny undernøkkel og navngi den Kommando:
- Angi standardverdien for Kommando undernøkkel til følgende streng:
msiexec.exe /a "%1" /qb TARGETDIR="%1 innhold"
Se følgende skjermbilde:
Når du høyreklikker en MSI-pakke i Filutforsker, vil du finne et nytt kontekstmenyelement "Pakk ut". Hvis du kjører den, vil den opprette en ny katalog "pakkenavn.msi Innhold" i gjeldende mappe og trekke ut pakkens innhold der. Se følgende skjermbilde:
For å spare tid laget jeg registerfiler som er klare til bruk. Du kan laste dem ned ved å bruke lenken nedenfor.
Last ned registerfiler
Angrefilen er inkludert.
Dette trikset fungerer i Windows 10, Windows 8 og Windows 7.
Merk at noen pakker ikke støtter administrativ installasjon. De kan ikke trekkes ut ved hjelp av denne metoden. Dessuten, når du trekker ut en MSI-pakke på denne måten, blir dens administrative installasjonspunkt (mappen der den er pakket ut) vedlikeholdbar. En Windows Installer-oppdatering (MSP) kan brukes til å oppdatere den, så når pakken er installert, blir oppdateringen også brukt.