Wix SQL 服务器 2014 SP1 Express

Wix SQL Server 2014 SP1 Express

我正在尝试在我的 Wix 包中安装 SQL Express 2014 SP1,这是我正在使用的安装命令

InstallCommand='/IACCEPTSQLSERVERLICENSETERMS /HIDECONSOLE /INSTANCEID="SQLEXPRESS" /ACTION="Install" /FEATURES=SQLENGINE /HELP="False" /INDICATEPROGRESS="False" /QUIET="True" /QUIETSIMPLE="False" /X86="True" /ERRORREPORTING="False" /SQMREPORTING="False" /INSTANCENAME="SQLEXPRESS" /AGTSVCSTARTUPTYPE="Manual" /ISSVCSTARTUPTYPE="Automatic" /ISSVCACCOUNT="NT AUTHORITY\NetworkService" /ASSVCSTARTUPTYPE="Automatic" /ASCOLLATION="Latin1_General_CI_AS" /ASDATADIR="Data" /ASLOGDIR="Log" /ASBACKUPDIR="Backup" /ASTEMPDIR="Temp" /ASCONFIGDIR="Config" /ASPROVIDERMSOLAP="1" /SQLSVCSTARTUPTYPE="Automatic" /FILESTREAMLEVEL="0" /ENABLERANU="True" /SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS" /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /ADDCURRENTUSERASSQLADMIN="True" /TCPENABLED="0" /NPENABLED="0" /BROWSERSVCSTARTUPTYPE="Disabled" /RSSVCSTARTUPTYPE="Automatic" /RSINSTALLMODE="FilesOnlyMode" /SECURITYMODE=SQL /SAPWD="R3nbeck0011!"' 

虽然弹出提取 window 并完成提取,但从未调用 setup.exe。对此有什么想法吗?

如果我导航到该文件夹​​并使用 InstallCommand 运行 setup.exe 它工作正常,但在提取完成后我需要它 运行。

在您的命令开头添加“/qs”,这应该会修复您的 2014 SQL 安装程序在 运行 静默时显示对话框的问题。我认为 /qs 进入安装的提取部分,然后其余部分转发到安装的第二部分。 SQL2014 年我的安装字符串看起来像这样,我们做的功能没有你做的那么多。

/qs /QUIETSIMPLE /ACTION=Install /UpdateEnabled=0 /INSTANCENAME=$(var.OEMDefaultDatabaseInstance) /TCPENABLED=1 /NPENABLED=1 /BROWSERSVCSTARTUPTYPE="Automatic" /FEATURES=SQLENGINE,Tools /SECURITYMODE=SQL /ADDCURRENTUSERASSQLADMIN /SAPWD="[SAPWD]" /IACCEPTSQLSERVERLICENSETERMS /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="Builtin\Administrators" /SKIPRULES="RebootRequiredCheck""

我建议的一件事是不要将您的 SAPWD 硬编码到安装命令中。我会改为使用隐藏的 属性,这样它就不会以明文形式显示在安装日志中。你可以很容易地做到这一点,就像我在我的命令中所做的那样。我还将此 属性 定义为与我的 SQL Install ExePackage

相同的片段
<Variable Name="SAPWD" Persisted="yes" Type="string" Hidden="yes" Value="" bal:Overridable="yes"/>

这样,当它在日志中打印出安装命令时,您会看到 /SAPWD="****" 而不是实际打印密码。它在包的代码中是空白的,因为我使用的引导程序从用户那里获取密码。

我不确定这是否重要,但我使用的是 &quot; 而不是 "。我 认为 你会没事的,因为你打开了你的 InstallCommand我使用的是单引号 ' 而不是双引号 "。我只是仔细检查引导程序日志,看看它是否正在 运行 使用预期的完整安装命令安装程序。