Wix运行自定义操作时";已安装较新的版本";

Wix运行自定义操作时";已安装较新的版本";,wix,custom-action,Wix,Custom Action,当安装以“已安装较新版本”完成时,如何设置自定义操作以运行我的应用程序 我想要的是:如果安装了更新的版本,就运行它。始终运行应用程序,删除除外 我的配置: <CustomAction Id="LaunchApplication" Directory='INSTALLFOLDER' ExeCommand="[INSTALLFOLDER]\MyApp.exe" Return="asyncNoWait" /> <InstallExecuteSequenc

当安装以“已安装较新版本”完成时,如何设置自定义操作以运行我的应用程序

我想要的是:如果安装了更新的版本,就运行它。始终运行应用程序,删除除外

我的配置:

<CustomAction Id="LaunchApplication" Directory='INSTALLFOLDER' ExeCommand="[INSTALLFOLDER]\MyApp.exe"
              Return="asyncNoWait" />

<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize">NOT (REMOVE="ALL")</Custom>
</InstallExecuteSequence>
<CustomAction Id="LaunchApplication" Directory='INSTALLFOLDER' ExeCommand="[INSTALLFOLDER]\MyApp.exe"
              Return="asyncNoWait" />
<CustomAction Id="SetLaunchApplicationPath" Property="LaunchApplicationPath" Value="[ProgramFilesFolder][Manufacturer]\[ProductName]\MyApp.exe">
</CustomAction>
<CustomAction Id="LaunchApplicationOnDowngrade" ExeCommand="[SetLaunchApplicationPath]" Property="LaunchApplicationPath"
              Return="asyncNoWait" />

<InstallUISequence >
  <Custom Action="SetLaunchApplicationPath" After="FindRelatedProducts">WIX_DOWNGRADE_DETECTED</Custom>
  <Custom Action="LaunchApplicationOnDowngrade" After="SetLaunchApplicationPath">LaunchApplicationPath</Custom>
</InstallUISequence>
<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize" >NOT (REMOVE="ALL")</Custom>
</InstallExecuteSequence>

非(删除=“全部”)

感谢通过日志解决:
app.msi/l*v log.txt

工作配置:

<CustomAction Id="LaunchApplication" Directory='INSTALLFOLDER' ExeCommand="[INSTALLFOLDER]\MyApp.exe"
              Return="asyncNoWait" />

<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize">NOT (REMOVE="ALL")</Custom>
</InstallExecuteSequence>
<CustomAction Id="LaunchApplication" Directory='INSTALLFOLDER' ExeCommand="[INSTALLFOLDER]\MyApp.exe"
              Return="asyncNoWait" />
<CustomAction Id="SetLaunchApplicationPath" Property="LaunchApplicationPath" Value="[ProgramFilesFolder][Manufacturer]\[ProductName]\MyApp.exe">
</CustomAction>
<CustomAction Id="LaunchApplicationOnDowngrade" ExeCommand="[SetLaunchApplicationPath]" Property="LaunchApplicationPath"
              Return="asyncNoWait" />

<InstallUISequence >
  <Custom Action="SetLaunchApplicationPath" After="FindRelatedProducts">WIX_DOWNGRADE_DETECTED</Custom>
  <Custom Action="LaunchApplicationOnDowngrade" After="SetLaunchApplicationPath">LaunchApplicationPath</Custom>
</InstallUISequence>
<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize" >NOT (REMOVE="ALL")</Custom>
</InstallExecuteSequence>

检测到WIX_降级_
启动应用程序路径
非(删除=“全部”)
安装/更新完成时执行操作启动应用程序 当FindRelatedProducts操作找到更新版本的产品时,安装失败时执行操作LaunchApplicationEndowGrade


我使用
配置升级。

在检测评估时生成消息。您的自定义操作将永远不会运行。如果有人试图安装较低版本的安装程序,为什么您要尝试运行某些应用程序?我想运行已安装的版本(较新)您可以发布升级元素吗?当您尝试安装旧版本时,会显示消息“已安装较新版本”。我不清楚你想做什么。