1

我正在尝试对 SQL Server 2008 R2 Express 版本进行无人值守的静默安装。

我正在使用下面的代码来实现它

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
  xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>

<PackageGroup Id="SqlServer2008R2">

<ExePackage InstallCommand="/q /action=INSTALL /IACCEPTSQLSERVERLICENSETERMS=1 /FEATURES=SQLEngine /INSTANCENAME=SQLSERVERINSTANCE /SQLSVCACCOUNT='NT AUTHORITY\SYSTEM' /SECURITYMODE=SQL /SAPWD=abc#Wd1234 /SQLSYSADMINACCOUNTS='NT AUTHORITY\SYSTEM' /ADDCURRENTUSERASSQLADMIN=TRUE /TCPENABLED=1 /NPENABLED=1"
              InstallCondition="VersionNT64"
              DetectCondition="Instance"
              Name="SQLEXPR_x64_ENU.exe"
              Compressed="no"
              Vital="yes"
              PerMachine="yes"
              Permanent="yes"
              Cache="no"
              DownloadUrl="http://download.microsoft.com/download/5/1/A/51A153F6-6B08-4F94-A7B2-BA1AD482BC75/SQLEXPR_x64_ENU.exe"
              >
    <RemotePayload
      Size="77677408"
      ProductName="Microsoft SQL Server 2008 R2 Express"
      Description="Microsoft SQL Server 2008 R2 Express"
      Version="10.50.1600.1"
      CertificatePublicKey="fjhuirh8454850495jffjk5"
      CertificateThumbprint="hfgjhrt758947jjgi58g"
      Hash="584809tgjgjfgjk58ifjufkjjkjfi"
      />
     </ExePackage>
    </PackageGroup>
  </Fragment>
</Wix>

在安装期间,我收到此错误
参数:'"C:\ProgramData\Package Cache\2FF1A50B2277987C9CD65B99812CEAF2A67EA362\SQLEXPR_x64_ENU.exe" /q /action=INSTALL /IACCEPTSQLSERVERLICENSETERMS=1 /FEATURES=SQLEngine /INSTANCENAME=SQLSERVERINSTANCE /SQLSVCACCOUNT='NTAUTH ' /SECURITYMODE=SQL /SAPWD=abc#Wd1234 /SQLSYSADMINACCOUNTS='NT AUTHORITY\SYSTEM' /ADDCURRENTUSERASSQLADMIN=TRUE /TCPENABLED=1 /NPENABLED=1' 错误 0x84b40000:进程返回错误:
0x84b40000:无法执行 EXE 包。0x84b40000: 无法配置每台机器的 EXE 包。应用执行包:SQLEXPR_x64_ENU.exe,结果:0x84b40000,重启:无[05DC:
我检查了我在上述代码中使用的命令提示符上的参数,只是为了检查我是否缺少安装 sql server 2008 R2 快速版所需的任何重要参数,但它在命令提示符上工作并安装了 SQL 服务器2008 R2 express版没有问题。但我无法使用所有这些参数进行无人值守安装。请帮帮我,我坚持下去。

4

1 回答 1

0

将此替换/IACCEPTSQLSERVERLICENSETERMS=1/IACCEPTSQLSERVERLICENSETERMS

在 sql server express 2008 中不使用 /IACCEPTSQLSERVERLICENSETERMS 但在 sql server express 2008 sp1 中,...您必须使用 /IACCEPTSQLSERVERLICENSETERMS

我不能用命令行安装 sql express 2008 r2 我认为这个版本有静默安装的问题,而手动安装没有任何问题,所以我使用 sql server express 2008 并且它可以工作。

于 2013-04-22T04:37:15.547 回答