2

アプリケーションのパッケージインストールの最後に次のコマンドを実行しています。

<Property Id="WixShellExecTarget" Value="[INSTALLDIR]RCR.VDS.exe" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA"
      DllEntry="WixShellExec" Impersonate="no" />

ビルドサーバーの出力フォルダーでheatを実行しているため、[#myApplication]を使用できません。そのため、アプリケーションの自動生成IDがわかりません。インストール後にアプリケーションをサイレントに実行する方法についてのアイデアはありますか?

ログファイルには、コマンドラインセクションでこれが示されています

******* CommandLine: **********

MSI(c)(30:74)[09:47:14:156]:注:1:2203 2:VDSInstall.msi 3:-2147287038 MSI(c)(30:74)[09:47:14:156 ]:MainEngineThreadは2を返しています

4

2 に答える 2

2

参照してください:方法: セットアップ後にインストール済みアプリケーションを実行する

サイレント インストール中に呼び出されるカスタム アクションが必要な場合は、次を追加します。

<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize">SOMECONDITION</Custom>
</InstallExecuteSequence>

注 SOMECONDITION は、EXE がインストールされていること、およびユーザーがプログラムの起動を希望していることを確認する式である必要があります。

于 2013-03-12T13:27:04.013 に答える
1

検討できるコピーは次のとおりです。

  1. からの識別子はheat.exe安定します。[#UglyFileId1234abcef45612345asdf]したがって、カスタムアクションで醜い識別子を使用できます。

    a。XSLTを適用しheatて、実行可能ファイルのIDの出力を醜い識別子よりも優れたものに変換することもできます。起動カスタムアクションをどの程度読みやすくするかによって異なります。

  2. 実行可能ファイルをサイレント起動する場合は、「LaunchApplication」が使用するシェル実行カスタムアクションはなく、 QuiteExecutionカスタムアクションが必要になる可能性があります。

于 2013-03-12T14:24:20.443 に答える