2

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

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

我不能使用 [#myApplication] 因为我在构建服务器上的输出文件夹上运行 heat 所以我不知道我的应用程序的自动生成的 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

4

2 回答 2

2

请参阅:如何:安装后运行已安装的应用程序

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

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

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

于 2013-03-12T13:27:04.013 回答
1

这些是您可以考虑的副本:

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

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

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

于 2013-03-12T14:24:20.443 回答