Wix隐藏cmd线窗口

时间:2012-11-23 19:57:37

标签: c# installer wix installation wix3.5

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

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

然后我安排在<InstallExecuteSequence>

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

我不能使用WixQuietExecCA,因为我无法在Wix中引用Binary tool.exe。

2 个答案:

答案 0 :(得分:2)

<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,它充当命令行参数。

答案 1 :(得分:0)

您是否尝试在此page上执行此操作,以静默方式运行CA

请查看RemoveFiles

的此链接