2016-11-08 27 views
0

私のC#アプリケーション用のWiXセットアップがあります。WiXブートストラップでパッケージをインストールできない

私は、アプリケーション、.NETフレームワーク、およびSQL ServerのインストールにWiXブートストラップを使用しています。

SQLサーバーのインストールに2つの問題があります。

  • アプリケーションがインストールされているPCでは、私のブートストラップがそれを検出せずに再インストールを試みます。ログファイルには、私が見

"レジストリキーが見つかりません。キー= 'のHKEY_LOCAL_MACHINE \ SOFTWARE \マイクロソフト\ Microsoft SQL Serverの\インスタンス名\ SQL'"

しかし、私はregeditによる確認、

enter image description here

私のコードがある:

私はレジスタを得ました
  • アプリケーションがインストールされていない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" /> 

は、私は専門家ではないよ助け

+0

私がテストをした:セットアップを実行し、 "NO" と言う管理者権限をアコードします。それからログファイルを開いた。エラー "レジストリキーが見つかりません"存在する。おそらく私は管理者権限で登録をチェックする必要がありますか?どのようにできるのか ? –

+0

レジストリ検索でWin64 = "yes" –

+0

ありがとうございました!今ではSQL ServerをPCにインストールする必要はありません。 –

答えて

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?> 
+0

私はまだエラーがあります。[0D5C:3148] [2016-11-08T15:21:04] i000:レジストリキーが見つかりません。キー= 'SOFTWARE \ Microsoft \ Microsoft SQL Server \インスタンス名\ SQL'。しかし、レジスタが存在します。私は理解していない、このエラーは私に夢中になるだろう –

+0

私のexePackageは(32ビットのためにそれだった):< "InstallCommand =" $(var.SqlInstallCommand) "UninstallCommand =" $(var.SqlUninstallCommand) "RepairCommand =" $(var.SqlRepairCommand) "/> ' DetectConditionを追加しました。 SQLServerInstalledでdetectConditionを追加する必要があるかもしれませんか? – Bob