MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

【Windows】MSIインストーラーでサイレントインストール 一部のコンポーネントのみを指定する方法

 

はじめに

社内PCにソフトウェアを配布ツール(SCCM)などで展開したい場合に、MSIインストーラー(.msiファイル)にサイレントインストールオプション(/passive)をつけて実行しますが、標準ではすべてのコンポーネントがインストールされてしまいます。

そこで余計なコンポーネントをインストールせず、一部だけインストールしたい場合に使えるMSIのiインストールオプションを紹介します。

 

すべてのコンポーネントをインストールする

まずは、サイレントインストールのオプションです。こちらの説明は省略します。

  • サイレントインストール

msiexec /i "msiインストーラーファイルパス" /passive

  • サイレント&再起動なしインストール

msiexec /i "msiインストーラーファイルパス" /passive /norestart

 

 

一部のコンポーネントのみをインストールする

続いて、一部のコンポーネントのみを指定してインストールする場合は、以下のインストールオプションを指定します。

サイレント&再起動なし(ADDLOCALオプション)

msiexec /i "msiインストーラーファイルパス" ADDLOCAL="インストールしたいコンポーネント名" /passive /norestart

 

ADDLOCALオプションで指定したインストールしたいコンポーネント名のみがインストールされます。指定しなかったコンポーネントはインストールされません。

さて、このインストールしたいコンポーネント名がわからない場合どうしたらよいか調べ方をご紹介します。

 

インストールしたいコンポーネント名の調べ方(Orca)

Windowsインストーラーの作成、変更を行う開発ツール「Orca」を使用してコンポーネント名を調べます。 

Orcaのインストール

Orcaは、windowsアプリ開発ツール「Windows 10 SDK」内に含まれますので、以下のサイトからダウンロードします。

Windows 10 SDK – Windows アプリ開発

 

ダウンロードしたインストーラーファイル(winsdksetup.exe)を実行します。画面の指示にしてがってインストールを完了してください。なお、winsdksetup.exeは、SDK群をダウンロードして「Windows Kits」フォルダに保存するのみです。

 

次に、インストール先の下記のフォルダに移動します。

(インストール先)Windows Kits\10\WindowsSDK\Installers

このフォルダの中に、「orca.msi」ファイルがありますので、これをインストールします。

 

Orcaでコンポーネント名を調べる 

インストールが完了したらorcaを起動します。起動後に、msiインストーラーをドラッグアンドドロップしてインストーラーファイルを読み込んでください。

 

次にOrcaの左側に表示されているTablesからFeatureを選択してください。すると右画面にコンポーネントの一覧が表示されます。

「Title」が手動でインストールしたときに表示されるコンポート名になります。

サイレントインストールで指定するのは「Feature」列に表示されている方になります。

(例)7zipインストーラーの場合

f:id:takayuki-yoshida:20190721122231p:plain

(例)この「Program」を指定した場合、LanguageFiles(表示名Location files)はインストールされません。

msiexec /i "msiインストーラーファイルパス" ADDLOCAL="Program" /passive /norestart

 

MST(Transformation Files)を使用したインストール

もう一つの方法をご紹介します。

Orcaを使用するとmsiファイルの修正が行えます。インストールオプションの値を直接修正してもよいのですが、パッケージソフトなどいろいろな事で修正するのが難しい場合があります。その場合は、msiインストーラーファイルは修正せず、インストールオプションの差分ファイルを作成して、これを指定してインストールすることで、コンポーネントの指定が出来ます。

 

MSTファイルの作成 

Orcaを起動して、msiインストーラーをドラッグアンドドロップしてインストーラーファイルを読み込んでください。

次にメニュー「Transform」-「New Transform」を選択します。

(例)7zipインストーラーの場合

f:id:takayuki-yoshida:20190721124507p:plain

 

 次にインストールコンポーネントの指定を行います。Orcaの左側に表示されているTablesからFeatureを選択します。

インストールしないコンポーネントを選択して、「Level」の値を「1」→「2」にします。

(例)7zipインストーラーの場合

f:id:takayuki-yoshida:20190721124934p:plain

次にメニュー「Transform」-「Generate Transform」を選択して、mstファイルを保存します。

(例)7zipインストーラーの場合

f:id:takayuki-yoshida:20190721125037p:plain

 

MSTファイルを指定したインストール方法 

ここで作成したMSTファイルを指定してインストールする場合は、以下のオプションを使用します

  • サイレント&再起動なしインストール(TRANSFORMSオプション)

msiexec /i "msiインストーラーファイルパス" TRANSFORMS="作成したmstファイルのパス" /passive /norestart

 

以上になります。

 

参考

Orca.exe - Windows applications | Microsoft Docs

Feature Table - Windows applications | Microsoft Docs

Windows 10 SDK – Windows アプリ開発