web-dev-qa-db-ja.com

コマンドラインからインストールするMSIの機能の名前を決定する

MSIパッケージからアプリケーション(SalesLogix 7.2管理ツールおよびサーバー)をインストールしようとしていますが、特定の機能のみをインストールしたいのですが。 ADDLOCALパラメータを使用できるように機能名を決定するにはどうすればよいですか?

SLX MSI selections

12
Cylindric

インストーラーを詳細ログモードで実行できます。

msiexec /i product.msi /l*v log.txt

次に、ログでADDLOCALプロパティへの変更を探します。したがって、GUIで上記の選択を行うと、インストールされている機能を判別できます。

それ以外の場合は、 jscott で提案されている Orca を使用して、パッケージを自分で分析できます。詳細ログを使用する方が簡単な解決策だと思いますが、ADDLOCALに追加して機能するインストールを取得する機能を見逃すことはありません。

10
Alexey Ivanov

Microsoftのorca.exe のコピーを取得します-これは単純なMSIエディターです。これと同じように機能する他の編集者がいます。 OrcaでMSIを開き、Featureテーブルを確認します。ベンダーがインストーラーのパッケージ化で使用した場合、この表には使用可能なすべての機能セットがリストされます。

5
jscott

最も簡単な方法は、アプリケーションベンダーに連絡して、コマンドラインスイッチとは何かを調べることです。そうは言っても、ベンダーはその情報を利用可能にしないことを選択することがあります。その場合、インストールプロセスを監視するために Process Monitor を使用します。

ほとんどのインストーラーは同じように動作します。 1つのファイルをダウンロードすると、実際のインストールファイルがすべて一時ディレクトリに抽出されます。インストーラーの展開先を確認する必要があるため、プロセスモニターを使用して、インストーラーが起動したらすぐに監視します。インストーラを続行したり、終了したりしないでください。いずれかのアクションを実行すると、一時ファイルが削除されます。抽出されたすべてのファイルを一時ディレクトリからコピーします。カスタムインストーラーにはこれらのファイルを使用します。 (プロセスモニターで)特定のプロセスを見つけたら、他のすべてのプロセスを除外します。その後、インストールシーケンスを続行しながら、プロセスを観察できます。探しているのは、要求した機能のインストールを呼び出すmsiexecコマンドです。

これは試行錯誤の時間のかかるプロセスになる可能性がありますが、ベンダがその情報を提供しないアプリケーションのインストールのカスタマイズで大成功を収めました...

2
newmanth

MSIインストーラが msiexec管理者用インストール オプションmsiexec /a <yourpackage.msi>をサポートしている場合があります。これによりインストーラーが実行されますが、実際にパッケージをインストールする代わりに、指定したオプションでカスタマイズされたソフトウェアのインストールポイントが生成されます。その後、指定したインストールポイントで作成された.msiを、通常ソフトウェアを展開する方法で展開できます。

それは主にベンダーが何をサポートしているかに依存しているため、@ newmanthの回答に従って、ベンダーに連絡して、サポートされている展開オプションを確認する必要がある場合があります。

1
Bryan