C# 在wix中安装后运行应用程序

C# 在wix中安装后运行应用程序,c#,.net,wix,custom-action,C#,.net,Wix,Custom Action,这是我与WIX和安装程序的第一个项目。我想在安装完成后运行一些vbscript和一个应用程序。exe文件在安装过程中被复制,但它不是安装的主程序。所有脚本和应用程序都要求在复制所有文件后运行它们。目前没有自定义GUI。我的问题是,如果我在InstallFinalize int InstallExecuteSequence之后加上,它总是给我错误 错误14 ICE77:LaunchNotePad是脚本中的自定义操作。它必须在InstallExecuteSequence表中的InstallIniti

这是我与WIX和安装程序的第一个项目。我想在安装完成后运行一些vbscript和一个应用程序。exe文件在安装过程中被复制,但它不是安装的主程序。所有脚本和应用程序都要求在复制所有文件后运行它们。目前没有自定义GUI。我的问题是,如果我在InstallFinalize int InstallExecuteSequence之后加上,它总是给我错误

错误14 ICE77:LaunchNotePad是脚本中的自定义操作。它必须在InstallExecuteSequence表中的InstallInitialize操作和InstallFinalize操作之间排序

在给出的示例中,我正在尝试启动记事本。即使我尝试运行任何其他exe文件或特定文件密钥,我也会遇到此错误。仅当我在“InstallFinalize”之前输入时,它才起作用。如果我从EXECOMAND运行exe,它会更有效,就像LaunchDeploymentManager自定义操作一样。我错过了什么

<Property Id='NOTEPAD'>Notepad.exe</Property>
<CustomAction Id='LaunchNotePad' Property='NOTEPAD' Execute='commit' ExeCommand='' Impersonate='no' Return='asyncNoWait'/>

<!--<CustomAction Id="LaunchDeployementManager" Directory="SERVICEFOLDER" ExeCommand="[SystemFolder]cmd.exe /C start DeploymentManager.exe" />-->

<InstallExecuteSequence>
  <Custom Action="LaunchNotePad" After="InstallFinalize">NOT Installed</Custom>
  <!--<Custom Action="LaunchDeployementManager" After="InstallFinalize" />-->
</InstallExecuteSequence>
Notepad.exe
未安装

我认为Rob的答案可能正是您想要的。我发现Execute='commmit'和After=“InstallFinalize”不能一起工作。如果我从自定义操作中删除Execute='commit',它就会工作。但这是为什么呢?不是用另一个链接发表评论,而是用另一个链接发表评论。在这种情况下,我不相信提交是你想要的执行类型。这个EXE,它会改变机器的配置,还是仅仅显示一个read me,launch my app type EXE?这个EXE实际上创建了一些Dbs,改变了一些配置等等。