0

Visual Studio 2010(またはMSBuild.exe)を介して.VDProjファイルからビルドされた.MSIファイルを使用して展開される大規模なC#アプリケーションがあります。通常の実行時に、.MSIインストーラーは、特定のソフトウェアがインストールされていることを確認し、いくつかの最小バージョンを満たしていることを確認し、有用なエラーメッセージを生成して、バージョン条件が満たされていない場合は終了します。

これはすべて正常に機能します。ただし、msiexec.exeを使用して既存のインストーラーをサイレントに実行する実験を行っています。MSIに必要な追加のソフトウェアがすでにインストールされている場合は、msiexecから0エラーコードが返されます。同様に、他のソフトウェアがシステムに存在しないか、最小バージョン要件に失敗したためにMSIが失敗した場合は、ゼロ以外のエラーコードが戻ってきました。

プログラムで.MSIファイルに問い合わせて、その起動条件を確認する方法はありますか?msiexecを試して.MSIからファイルを抽出しようとしましたが、インストールの最小バージョン要件をリストしている種類の構成ファイルがまだ表示されません。

どんな助けでも大歓迎です。

4

1 に答える 1

1

MSIに問い合わせて内部の状態を確認すると、実際に上記の状態のリストが表示されますが、どの状態が失敗したかはわかりません。/ Lを指定してmsiexecを実行し、ログをより適切に切り替えることができます(正確な構文については、ドキュメントを参照してください)。

条件のリストで十分な場合は、.msiファイル内をのぞく簡単な方法であるOrca( MSDN )を参照することをお勧めします。

于 2011-02-22T13:25:34.723 に答える