0

サイレント インストールしたい .msi ファイルがあります。ただし、ユーザー入力を求め続ける依存モジュールがあるようです。したがって、パッケージの最初の部分がインストールされますが、依存関係モジュールに到達するまでに、ユーザー入力が求められます。私が使用したコマンドは msiexec /i setup.msi /quiet です。

また、インストール時にインストール先フォルダをデフォルトから変更したいと考えています。msiexec ではこれを行うことができません。変換を使用できる場所を読みましたが、編集するプロパティの名前がわかりません。

.exe の応答ファイルを作成できることがわかっているので、.msi ファイルを .exe に変換することにしました。ただし、結果の .exe ファイルは、サイレント スイッチを認識せず、/r スイッチが指定されている場合、ファイルを作成して応答しません。変換には Ultimate MSI to EXE Con​​verter Trial を使用しました。だから私の質問は:

  1. サイレント スイッチを認識するために .msi から変換した .exe を取得するにはどうすればよいですか?
  2. .msi ファイルの依存関係モジュールを削除するにはどうすればよいですか?
  3. .msi ファイルの応答ファイルを作成するにはどうすればよいですか?

回避できるのであれば、この件についてソフトウェア ベンダーに戻るつもりはありません。

4

1 に答える 1

0

変換を作成することは正しいことです。変更する正確なテーブル データは、対象の MSI によって異なります。一部の MSI では Directory テーブルを変更する必要があり、セットでは CustomAction テーブルを変更する必要があります。(ディレクトリ テーブルのデフォルト値を上書きするタイプ 51 またはタイプ 35 CA )。

依存関係のチェックに関しては、LaunchConditions テーブル、または InstallUISequence および/または InstallExecuteSequence テーブルでスケジュールされたタイプ 19 CA である可能性があります。

MSIを見ることができれば、より良い答えを出すことができます。適切な変換を行うと、コマンドラインは次のようになります。

msiexec /I foo.msi /qn TRANSFORMS=foo.mst
于 2013-11-12T20:33:31.837 に答える