Wix隐藏命令行窗口



我正在开发一个MSI安装程序,其中包括一个作为<Binary>元素的tool.exe文件。在安装过程中的某个时刻,我需要运行tool.exe。所以我有一个自定义操作来执行它:

<CustomAction Id="RunToolExe"
BinaryKey="ToolExe"
ExeCommand=" -r 240 -name appservice"
Execute="immediate"
Return="check"
/>

然后我在<InstallExecuteSequence>中进行调度

问题:当自定义操作运行时,cmd行窗口在安装过程中会快速闪烁。这对用户来说有点不舒服。有办法隐藏这个屏幕吗?

我不能使用WixQuietExecCA,因为我无法在Wix中引用二进制工具.exe。

<CustomAction Id="SettoolEXEPATH" Property="EXEPATH" Value="&quot;[INSTALLDIR]tool.exe&quot; <additional commands> Execute="immediate"/>
<CustomAction Id="EXEPATH" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>       

您可以像上面显示的示例一样使用WixQuietExecCA,相应地安排自定义操作。第一个操作SettoolEXEPATH将属性EXEPATH设置为tool.exe的路径,此属性名称用作WixQuietExecCA的自定义操作id,该操作用作命令行参数。

你有没有试着在这个页面上这样做,以静默模式运行CA

查看此链接以获取RemoveFiles

最新更新