我正在使用wix并希望在安装后调用命令行。
我该怎么做?
我的命令行在这里“bcdedit.exe / set {current} nx AlwaysOff”//这使得dep off
是的,我已经阅读过有关自定义操作的内容,但我没有看到任何命令行示例。
P.S。 bcdedit是Win 7及更高版本中的常用exe。
P.S。目前我有下一个脚本,它不起作用:
Directory ="INSTALLLOCATION"
ExeCommand ='echo hello> echo_test.txt'
Execute ="immediate"
Return ="asyncNoWait"
/>
答案 0 :(得分:9)
echo
不是可执行文件,它是命令处理器cmd.exe
的命令。将您的ExeCommand
值更改为cmd.exe /c "echo hello >echo_test.txt"
。
您的echo_test.txt
将位于任意目录中,您必须使用绝对路径才能获得可预测的结果。
答案 1 :(得分:7)
好的,这个例子有效......
<CustomAction Id ="echo_test"
Directory ="INSTALLLOCATION"
ExeCommand ='NOTEPAD.EXE echo_test.txt'
Execute ="immediate"
Return ="asyncNoWait"
/>
我使用echo的测试示例因某些原因无效。 并且在我正在测试的WinXP上不存在bcdedit ......
答案 2 :(得分:2)
你好网上有很多例子......
尝试这些链接
http://wix.sourceforge.net/manual-wix2/qtexec.htm
Execute Command Line In WiX Script?
WiX - CustomAction ExeCommand - Hide Console
或者试试这个例子:
<CustomAction Id="SetQtExecCmd" Property="SetQtExec"
Value=""[PutPathOfThisFileHere]bcdedit.exe" /set {current} nx AlwaysOff" />
<CustomAction Id="SetQtExec" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check" />