Instalarea silențioasă a unui pachet MSI (Programare, Wix, Instalare, Instalator Windows, Instalator Avansat)

Salman A a intrebat.

Am un pachet MSI pe care trebuie să îl instalez dacă pachetul nu este deja instalat. De asemenea, trebuie să îl instalez în mod silențios. Pachetul solicită utilizatorului pentru:

  • Locația de instalare (C:Program FilesFoobar)
  • Tipul de instalare: minimal și complet (minimal)

Trebuie să suprascriu acești doi parametri folosind parametri de linie de comandă sau o altă metodă. Deci, cum pot rezolva aceste două probleme. Voi folosi VBScript pentru scripting.

2 răspunsuri
Polinomul

Ar trebui să puteți utiliza /quiet sau /qn cu msiexec pentru a efectua o instalare silențioasă.

Pachetele MSI exportă proprietăți publice, pe care le puteți seta cu ajutorul opțiunii PROPERTY=value de la sfârșitul opțiunii msiexec parametrilor.

De exemplu, această comandă instalează un pachet fără UI și fără repornire, cu un jurnal și două proprietăți:

msiexec /i c:pathtopackage.msi /quiet /qn /norestart /log c:pathtoinstall.log PROPERTY1=value1 PROPERTY2=value2

Puteți citi opțiunile pentru msiexec prin simpla rulare a acesteia fără opțiuni din Start -> Run.

Comentarii

  • Există o modalitate de a găsi o listă de parametri acceptați (PROPERTY1 și PROPERTY2 în exemplul dumneavoastră)? –  > Por Salman A.
  • Aici este lista de proprietăți predefinite: msdn.microsoft.com/en-us/library/windows/desktop/… Proprietatea folderului de instalare este diferită pentru fiecare instrument de creare a configurației. Ce ați folosit pentru a crea MSI? –  > Por cosmin.
  • @Cosmin: MSI constă din DLL-uri de execuție ale unui sistem de plată (nu a fost creat de mine). Mă uit la un instrument numit Ocra pentru a diseca MSI, acesta mi-a dat un indiciu despre o variabilă numită „INSTALLLOCATION”. Verific. –  > Por Salman A.
  • Notă: msiexec părea să fie destul de pretențios în ceea ce privește specificarea căii COMPLETE a fișierului către pachetul MSI. Nu încercați nimic din toate acestea .mypackage.msi afaceri. Mi-a luat ceva timp să îmi dau seama de asta. –  > Por Phil.
  • Numele produsului MS este de fapt Orca, nu ocra. Ar putea fi greu de găsit pe Google cu această greșeală de ortografie. S-ar putea să găsiți o mulțime de rețete creole… dar nu și de constructori MSI. msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx –  > Por Scott Lundberg.
Stein Åsmul

Modul corect de a instala un MSI în mod silențios este prin intermediul programului msiexec.exe command line după cum urmează:

msiexec.exe /i c:setup.msi /QN /L*V "C:Tempmsilog.log"

Explicație rapidă:

 /L*V "C:Tempmsilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 

Există un răspuns mult mai cuprinzător aici: Script de instalare pe loturi pentru a instala MSI. Acest răspuns oferă detalii despre opțiunile liniei de comandă msiexec.exe și o descriere a cum se găsesc „proprietățile publice” pe care le puteți seta în linia de comandă în momentul instalării. Aceste proprietăți sunt, în general, diferite pentru fiecare MSI.