WiX:如何在安装后执行命令行命令

时间:2014-10-15 08:55:39

标签: wix installer custom-action

我需要在安装后注册一个HTTP端口,但我想这可以抽象为通常执行任何命令行命令。这是我到目前为止所得到的:

<CustomAction Id="ExecPortOpen" Directory="INSTALLFOLDER" Execute="immediate" ExeCommand="cmd.exe &quot;netsh http add urlacl url=http://+:1234/ user=Everyone&quot;" Return="ignore" />
<InstallExecuteSequence>
<Custom Action="ExecPortOpen" After="InstallFinalize" />
</InstallExecuteSequence>

这只是在安装中打开一个命令提示符,并且不执行任何操作。我尝试在cmd.exe和命令之间添加/ c(我不知道它做了什么)但只是打开并关闭命令提示符而不执行命令。我该如何工作?我使用的是WiX 3.8。

1 个答案:

答案 0 :(得分:14)

解决了我自己,实际上是一个UAC /权限问题。对于任何感兴趣的团体,这里是工作代码:

<CustomAction Id="ExecPortOpen" Directory="INSTALLFOLDER" Execute="commit" Impersonate="no" ExeCommand="cmd.exe /c &quot;netsh http add urlacl url=http://+:1234/ user=Everyone&quot;" Return="check" />

<InstallExecuteSequence>
  <Custom Action="ExecPortOpen" After="InstallInitialize" />
</InstallExecuteSequence>
相关问题