Cicha instalacja pakietu MSI

84

Mam pakiet MSI, który muszę zainstalować, jeśli pakiet nie jest jeszcze zainstalowany. Muszę też zainstalować go cicho. Pakiet prosi użytkownika o:

  • Lokalizacja instalacji (C: \ Program Files \ Foobar)
  • Typ instalacji: minimalna i pełna (minimalna)

Muszę zastąpić te dwa parametry za pomocą parametrów wiersza polecenia lub innej metody. Jak więc mam rozwiązać te dwie kwestie. Użyję VBScript do tworzenia skryptów.

Salman A
źródło

Odpowiedzi:

129

Powinieneś móc użyć opcji /quietlub /qnz, msiexecaby przeprowadzić cichą instalację.

Pakiety MSI eksportują właściwości publiczne, które można ustawić za pomocą PROPERTY=valueskładni na końcu msiexecparametrów.

Na przykład to polecenie instaluje pakiet bez interfejsu użytkownika i bez ponownego uruchamiania, z dziennikiem i dwiema właściwościami:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

Możesz przeczytać opcje, po msiexecprostu uruchamiając go bez opcji z Start -> Uruchom.

Wielomian
źródło
6
Czy istnieje sposób, aby znaleźć listę dopuszczalnych parametrów ( PROPERTY1i PROPERTY2na swoim przykładzie)?
Salman A,
Oto lista wstępnie zdefiniowanych właściwości: msdn.microsoft.com/en-us/library/windows/desktop/… Właściwość folderu instalacyjnego jest inna dla każdego narzędzia do tworzenia konfiguracji. Czego użyłeś do stworzenia MSI?
cosmin
@Cosmin: MSI składa się z uruchomionych bibliotek DLL systemu płatności (nie stworzonych przeze mnie). Patrzę na narzędzie o nazwie Ocra do analizy MSI, dało mi to wskazówkę dotyczącą zmiennej o nazwie „INSTALACJA”. Sprawdzam.
Salman A,
7
Uwaga: msiexec wydawał się być dość wybredny, jeśli chodzi o określenie PEŁNEJ ścieżki do pliku pakietu MSI. Nie próbuj tego robić .\mypackage.msi. Trochę mi zajęło, żeby to rozgryźć.
Phil
4
Nazwa produktu MS to Orca, a nie ocra. Może być trudno wygooglować błąd ortograficzny. Możesz dostać wiele receptur kreolskich ... ale nie kreatorów MSI. msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
Scott Lundberg
12

Prawidłowy sposób cichej instalacji MSI to msiexec.exe command line:

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

Szybkie wyjaśnienie:

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

Tutaj jest znacznie bardziej wszechstronna odpowiedź: skrypt wsadowy do instalacji MSI . Ta odpowiedź zawiera szczegółowe informacje na temat opcji wiersza polecenia msiexec.exe oraz opis sposobu znajdowania „właściwości publicznych” , które można ustawić w wierszu poleceń podczas instalacji. Te właściwości są ogólnie różne dla każdego MSI.

Stein Åsmul
źródło