3

目前,我有一个链可以检查并安装以下先决条件(如果它们缺失):

  1. 视窗安装程序 4.5
  2. .net 框架 4
  3. Sql Server Express 2008 R2

不幸的是,安装程序需要在安装 #1 后重新启动机器,否则 Sql 服务器安装将失败。如果提示用户重新启动机器,这将被禁止,安装程序将继续执行 #2。如何重新启动机器(如果安装了 #1)然后自动继续安装?

谢谢

4

1 回答 1

7

好的,我想我已经找到了如何做到这一点。基本上我需要在 WixInstaller ExePackage 的子 ExitCode 上指定 forceReboot 选项。

<ExePackage Id="WinXp_x86"
              Cache="no"
              Compressed="no"
              PerMachine="yes"
              Permanent="yes"
              Vital="yes"
              InstallCommand="/norestart /passive"
              SourceFile="WindowsXP-KB942288-v3-x86.exe"
              DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe"
              DetectCondition="WINXP_X86_NEEDS_INSTALLER" >
    <ExitCode Behavior="forceReboot" />
</ExePackage>

这正确地告诉用户重新启动机器,并且当它重新启动时引导安装程序窗口重新打开,但用户必须再次单击“安装”按钮。这似乎是 RC0 (3.6.2803.0) 中的错误,但已在最新源 (3.6.2830.0) 中修复。我刚刚建立了最新的资源并试图验证......

于 2012-05-08T16:34:20.740 回答