如何在wix的自定义操作中隐藏控制台?
项目代码的以下部分:如何在wix的自定义操作中隐藏控制台?,wix,Wix,项目代码的以下部分: <Fragment> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLFOLDER" Name="SetupProjectConsole" /> </Directory> </Di
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupProjectConsole" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="product" Guid="69513FD8-F65A-420F-8FE8-D456890DB457">
<File Id="Run.bat" Name="Run.bat" Source="Resource\Run.bat"></File>
</Component>
</ComponentGroup>
<Property Id="QtExecDeferredExample" Value=""[INSTALLFOLDER]Run.bat""/>
<CustomAction Id="QtExecDeferredExample" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="QtExecDeferredExample" After="InstallFiles"></Custom>
</InstallExecuteSequence>
</Fragment>
CAQuietExec: Error 0x80070002: Command failed to execute.
CAQuietExec: Error 0x80070002: CAQuietExec Failed
CustomAction QtExecDeferredExample returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 11:57:17: InstallFinalize. Return value 3.
但是如果我将
[INSTALLFOLDER]
替换为C:\ProgramFiles(x86)\SetupProjectConsole\
,安装程序不会显示任何错误。我如何处理这个问题?谢谢 如果你这样做会怎么样:
<Property Id="QtExecDeferredExample" Value=""[#Run.bat]""/>
?批处理文件不是可执行文件。批处理文件是由cmd.exe解释的文本文件。QtExec自定义操作仅运行可执行文件,因此需要调用解释器 类似于以下内容的内容应该更有效:
<Property Id="QtExecDeferredExample" Value="[SytemFolder]cmd.exe /k "[INSTALLFOLDER]Run.bat""/>
然而,调用批处理文件并不是健壮安装的标志 无法测试,因此可能没有帮助,但我从未假设目录键上有一个尾随的反斜杠。我会使用
Value=“”[INSTALLFOLDER]\Run.bat”“
我使用Value=“”[INSTALLFOLDER]\Run.bat”“,但结果也是错误的。谢谢!