0

UI を介してトリガーされるカスタム アクションを作成しました。新規インストールでは問題なく動作しますが、アップグレード中に失敗します。ただし、コントロール パネルから修復を実行すると、正常に動作します。msi ログをキャプチャしようとしましたが、何の手がかりも得られません。ここにスニペットがあります...

UI:

<Control Id="CloseButton" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes" Cancel="yes" Text="&amp;Continue">    
  <Publish Event="DoAction" Value="ConfigureServer1">1</Publish>   
  <Publish Event="EndDialog" Value="Return">1</Publish>    
</Control>

カスタム アクション:

<CustomAction Id="ConfigureServer1" Impersonate="no" Directory="TARGETDIR" Return="asyncNoWait" ExeCommand="[#fileSetupDb] &quot;[ProductVersion]&quot; &quot;[OCISUPGRADE]&quot;"></CustomAction>

UI ファイルのシーケンス:

<InstallUISequence>
......
 <Show Dialog="FinishedForm" OnExit="success" />
......
</InstallUISequence>

手がかり....または私がデバッグしようとすることができるものなど? 数日間試しましたが、結果はありませんでした。私は msi や wix の初心者ではなく、専門家でもありません。

4

1 に答える 1

0

私は質問に完全には従いませんが、推測します。「製品の以前のバージョン」(MSI が削除されている) をアップグレードする場合、その InstallExecuteSequence のみが実行されます。そのため、InstallUISequence の古いバージョンの製品のカスタム アクションは実行されません。

製品の新しいバージョンでカスタム アクションが実行されない理由が疑問である場合、ここには十分な情報がありません。詳細ログ ファイルを調べて、一致する ID を持つカスタム アクションの結果を確認できます。

于 2011-02-10T20:59:38.290 に答える