为什么这个静默启动不能在WIX中运行?

时间:2013-03-12 12:44:42

标签: wix

我在应用程序的软件包安装结束时运行了以下命令。

<Property Id="WixShellExecTarget" Value="[INSTALLDIR]RCR.VDS.exe" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA"
      DllEntry="WixShellExec" Impersonate="no" />

我无法使用[#myApplication],因为我在构建服务器上的输出文件夹上运行了热量,所以我不知道我的应用程序的自动生成的id。有关如何在安装后以静默方式运行我的应用程序的任何想法吗?

日志文件显示了命令行部分

******* CommandLine: **********

MSI(c)(30:74)[09:47:14:156]:注意:1:2203 2:VDSInstall.msi 3:-2147287038 MSI(c)(30:74)[09:47:14:156]:MainEngineThread正在返回2

2 个答案:

答案 0 :(得分:2)

请参阅:How To: Run the Installed Application After Setup

如果要在静默安装期间调用自定义操作,请添加:

<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize">SOMECONDITION</Custom>
</InstallExecuteSequence>

注意SOMECONDITION应该是一个表达式,用于检查EXE是否已安装以及用户是否希望启动该程序。

答案 1 :(得分:1)

这是你可以考虑的副本:

  1. heat.exe的标识符将保持稳定。因此,您可以在[#UglyFileId1234abcef45612345asdf]自定义操作中使用丑陋的标识符。

    一个。您还可以应用XSLT将可执行文件的Id的heat输出转换为比丑陋标识符更好的内容。取决于您希望启动自定义操作的可读性。

  2. 如果您希望以静默方式启动可执行文件,那么您可能需要Quite Execution custom action而不是“LaunchApplication”使用的Shell execute custom action