在Wix中调用cmd

时间:2013-11-21 08:46:25

标签: cmd wix

我搜索了几天以及我发现的所有不起作用的东西。我想在我的WiX安装程序中调用cmd来安装服务和密钥。

cmd调用非常好,但没有任何事情发生。这意味着不安装服务和密钥。

<CustomAction Id='CMDInstallService' Directory='INSTALLLOCATION' Execute='deferred' ExeCommand='[SystemFolder]cmd.exe /c &quot;C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe /DisplayName=[DISPLAYNAME] /ServiceName=[SERVICENAME] [INSTALLLOCATION][ProductName]\bin\PontefixSvc.exe&quot;' Return='ignore'/>
<CustomAction Id='CMDInstallKey' Directory='INSTALLLOCATION' Execute='deferred' ExeCommand='[SystemFolder]cmd.exe /c &quot; [INSTALLLOCATION][ProductName]\scripts\PontefixEncryptionTool.exe -install [ProductName] [INSTALLLOCATION][ProductName]\KeyContainer\keycontainer.pkxml del .\keycontainer.pkxml &quot;' Return='ignore' />

<InstallExecuteSequence>

  <Custom Action='CMDInstallService' Before='InstallFinalize'></Custom>
  <Custom Action='CMDInstallKey' Before='InstallFinalize'></Custom>
</InstallExecuteSequence>

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

要运行命令,我建议您使用Quite Execution CA.您可以在Wix文档中找到示例:http://wixtoolset.org/documentation/manual/v3/customactions/qtexec.html,您想要的是延迟执行,即一次执行的两个自定义操作。

另外我注意到您正在通过cmd在第一个CA中安装服务,为什么不使用Wix ServiceInstall instad? (http://wixtoolset.org/documentation/manual/v3/xsd/wix/serviceinstall.html