MSIパッケージのサイレントインストール


84

パッケージがまだインストールされていない場合にインストールする必要があるMSIパッケージがあります。また、サイレントインストールする必要があります。パッケージはユーザーに次のプロンプトを表示します。

  • インストール場所(C:\ Program Files \ Foobar)
  • インストールタイプ:最小および完全(最小)

コマンドラインパラメーターまたはその他の方法を使用して、これら2つのパラメーターをオーバーライドする必要があります。では、これら2つの問題をどのように処理すればよいのでしょうか。スクリプトにはVBScriptを使用します。

回答:


129

/quietまたは/qnオプションを使用msiexecして、サイレントインストールを実行できるはずです。

MSIパッケージPROPERTY=valueは、msiexecパラメーターの最後にある構文で設定できるパブリックプロパティをエクスポートします。

たとえば、このコマンドは、ログと2つのプロパティを使用して、UIと再起動のないパッケージをインストールします。

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

msiexec[スタート]-> [実行]からオプションなしで実行するだけで、のオプションを読み取ることができます。


6
受け入れ可能なパラメーターのリストを見つける方法はありますか(PROPERTY1そしてPROPERTY2あなたの例では)?
Salman A

定義済みのプロパティリストは次のとおりです。msdn.microsoft.com / en-us / library / windows / desktop / インストールフォルダーのプロパティは、セットアップオーサリングツールごとに異なります。MSIを作成するために何を使用しましたか?
cosmin 2011

@Cosmin:MSIは、支払いシステムのランタイムDLLで構成されています(私が作成したものではありません)。MSIを分析するためのOcraというツールを見ていますが、「INSTALLLOCATION」という変数についてのヒントが得られました。私はチェックしています。
Salman A

7
注:msiexecは、MSIパッケージへの完全なファイルパスを指定することについてかなり慎重に思われました。この.\mypackage.msiビジネスを試してはいけません。それを理解するために私を少し連れて行った。
Phil

4
MS製品の名前は実際にはシャチであり、シャチではありません。スペルミスでグーグルするのは難しいかもしれません。あなたはたくさんのクレオールレシピを手に入れるかもしれません...しかしMSIビルダーではありません。msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
Scott Lundberg

12

MSIをサイレントインストールする適切な方法はmsiexec.exe command line、次の方法です。

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

簡単な説明:

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

ここにはもっと包括的な答えがあります:MSIをインストールするためのバッチスクリプト。この回答は、msiexec.exeコマンドラインオプションの詳細と、インストール時にコマンドラインで設定できる「パブリックプロパティ」を見つける方法の説明を提供します。これらのプロパティは通常、MSIごとに異なります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.