无法使用WiX引导程序

时间:2016-11-08 09:31:08

标签: c# sql-server wix bootstrapping

我的C#应用​​程序的WiX设置。

我有一个用于安装应用程序,.NET框架和SQL Server的WiX Bootstrapper。

我有两个SQL服务器安装问题。

  • 在安装了应用程序的PC上,我的引导程序无法检测到它并尝试重新安装。在日志文件中,我看到
  

"找不到注册表项。 Key =' HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ Instance Names \ SQL'"

但是我用注册表检查了,我收到了注册表:

enter image description here

有我的代码:

<util:RegistrySearch
    Id="SqlInstanceKeyFound"
    Root="HKLM"
    Key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"
    Value="SQLEXPRESS"
    Result="exists"
    Variable="SQLServerInstalled" />
  • 在没有应用程序的PC上,安装失败,错误为0x84b40000。

有我的代码:

  <ExePackage Id="SQLExpressx64"
              SourceFile=".\Resources\SQLEXPR_x64_ENU.exe"
              PerMachine="yes"
              Cache="no"
              Compressed="no"
              DownloadUrl="https://download.microsoft.com/download/0/4/B/04BE03CD-EAF3-4797-9D8D-2E08E316C998/SQLEXPR_x64_ENU.exe"
              Permanent="yes"
              Vital="yes"
              InstallCommand="/q /hideconsole /action=Install /features=SQL /instancename=SQLEXPRESS /enableranu=1 /sqlsvcaccount=&quot;NT Authority\Network Service&quot; /AddCurrentUserAsSqlAdmin /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
              InstallCondition="VersionNT64 AND NOT SQLServerInstalled" />

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我不是专家,不过,我是在做这个。

我的代码是(工作):

<util:RegistrySearch 
   Id="regsearchSqlInstanceFound" 
   Root="HKLM" 
   Key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" 
   Value="$(var.SqlInstanceName)" 
   Result="exists" 
   Variable="SqlInstanceFound"
/>

我的价值变量是:

<?define SqlInstanceName=MSSQLSERVER?>