WixUI_Minimalを使用したWixカスタムアクション
-
08-07-2019 - |
質問
したがって、アプリケーションのインストールが完了した後(実際には、インストール中にインストールされたファイルと相互作用しないため、セカンダリアプリケーションを実行するときは実際には問題ではありません)、別のアプリケーションにバンドルされているプログラム。適切なコード(<!> quot; ... <!> quot;で置き換えられたさまざまなもの:
<directory ...>
<component ...>
<File Id="IDINST" ... />
</component>
</directory>
...
<CustomAction Id="IDACTION" FileKey="IDINST" ExeCommand="..." Return="ignore" />
...
<InstallExecuteSequence>
<Custom Action="IDACTION" After="CostFinalize" />
</InstallExecuteSequence>
ディレクトリを確認したところ、ファイルは予想した場所にありましたが、インストールプロセス後に実行されませんでした。実際、そのファイルをインストールしたくはないので、実行してから削除するだけです。しかし、私は今のところそれを無視します。とにかく、ダイアログの後にアクションをトリガーする例を見てきましたが、現在<UIRef Id="WixUI_Minimal" />
を使用しているので、それは理想的ではないと思います。
解決
CostFinalizeは、InstallFiles遅延アクション(実際にファイルを配置する)が実行されるずっと前に発生します。したがって、CustomActionは(ファイルが使用できないため)サイレントに失敗します(Returnが無視されるため)
少なくともInstallFilesの後にCustomActionをスケジュールして遅延するか、CustomActionを遅延実行できない場合は、InstallFinalizeの後にする必要があります(もちろん、InstallFinalizeの後にロールバックすることはできません)。
所属していません StackOverflow