1

捆绑项目有两个 EXE 安装程序,它们都必须重新启动计算机。代码如下:

<Chain>
    <ExePackage
        Id="RDRole"
        Cache="no"
        Compressed="yes"
        PerMachine="yes"
        Vital="no"
        SourceFile="Resource\ServerManagerCmd.exe"
        Permanent="yes"
        InstallCommand="-install RDS-RD-Server">

        <ExitCode
            Behavior="forceReboot"/>
    </ExePackage>

    <ExePackage
        Id="DoNetFull"
        Name =".NET Framework 4.0 full runtime"
        Cache="yes"
        Compressed="yes"
        PerMachine="yes"
        Vital="yes"
        SourceFile="Resource\dotNetFx40_Full_x86_x64.exe"
        InstallCommand="/q /norestart"
        Permanent="yes">

        <ExitCode
            Behavior="forceReboot"/>
    </ExePackage>

RDRole如果两者都安装了,我怎样才能让计算机只重启一次DoNetFull

4

1 回答 1

0

现在的 Burn 引擎目前不支持该功能。有一个功能请求打开以创建类似的内容RollbackBoundary,如果您此时需要重新启动,请接受。我们可以称它为RestartBoundary. 然而,这在今天是不存在的。

但是,与 Burn 中的大多数内容一样,您可以通过开发自定义 Bootstrapper 应用程序来创建相同的概念,该应用程序在注意到以前的包需要重新启动时从 OnExecutePackageComplete 返回强制重新启动。一旦您拥有自定义 BA,实施起来并不难。

于 2013-06-22T20:53:38.147 回答