7

WiX 3.6 で作成された MSI があり、明らかにさまざまなものをインストールし、実際には MSI によってインストールされていない exe へのショートカットを作成します (exe は特定のフォルダーにあることが確実にわかっています。 MSI、これは私の MSI の必須前提条件です)。作成したショートカットは、インストールしたばかりのものを使用するようにexeに実際に指示するいくつかの引数を渡します。これはすべて正常に機能しますが、ショートカットで使用するのと同じ引数で MSI が自動的に exe を実行するようにします。

この記事に従ってみました - http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.htmlしかし、インストールしたばかりのexeを実行することを前提としており、exe引数を使用していないようです。

また、次のようなカスタムアクションを使用してみました-

<CustomAction Id="RunMainApp"
          Directory="FREDFOLDER"
          ExeCommand="[FREDFOLDER]Fred.exe -SBDSingleApp -SBDSplash=&quot;MySplash.bmp&quot;"
          Execute="commit"
          Return="ignore"/>

<InstallExecuteSequence>
  <Custom Action="RunMainApp" Before="InstallFinalize" />
</InstallExecuteSequence>

これはより有望でした-exeを実行しましたが、実際のインストールが完了する前に実行しました-明らかに正しくありません。

正直なところ、最初の例のように UI を使用することについては、それほど気になりません。ウィザードが表示されずに MSI がサイレント モードで実行される時間の 90% があるからです。

4

1 に答える 1

3

Execute="commit" を Execute="deferred" に変更しようとしたことがありますか。これにより、インストール スクリプトの実行後にカスタム アクションが実行されますが、インストール プロセスの完了後ではなく、後者の場合、実行コンテキストの外になります。インストールの。

于 2013-08-30T09:39:09.590 に答える