2016-11-08 3 views
0

J'ai une configuration WiX pour mon application C#.Impossible d'installer le paquet avec le bootstrappeur WiX

J'ai un Bootstrapper WiX utilisé pour installer l'application, le framework .NET et SQL Server.

J'ai 2 problèmes avec l'installation pour le serveur SQL.

  • Sur un PC avec l'application installée, mon programme d'amorçage ne le détecte pas et essaie de réinstaller. Le fichier journal que je vois

"clé de Registre introuvable. 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft noms SQL Server \ instance \ SQL' = clé"

Mais j'ai vérifié avec regedit, Je suis le registre:

enter image description here

Il est mon code:

<util:RegistrySearch 
    Id="SqlInstanceKeyFound" 
    Root="HKLM" 
    Key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" 
    Value="SQLEXPRESS" 
    Result="exists" 
    Variable="SQLServerInstalled" /> 
  • Sur un PC sans l'application, l'installation a échoué avec l'erreur 0x84b40000.

Il est mon code:

<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" /> 

cependant, je vous remercie de l'aide

+0

J'ai fait un test: exécuter le programme d'installation et dire "NON" à accorder des droits d'administrateur. Puis j'ai ouvert le fichier journal. Erreur "clé de Registre introuvable". est présent. Peut-être que je devrais vérifier le registre avec les droits d'administrateur? Comment puis-je faire ? –

+0

Win64 = "oui" dans votre recherche de registre. –

+0

Cela fonctionne merci! Maintenant, je dois juste installer SQL Server sur le PC sans cela –

Répondre

0

Je ne suis pas un expert, je travaillais à ce sujet.

Code Ma a été (fonctionnement):

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

Ma variable de valeur était:

<?define SqlInstanceName=MSSQLSERVER?> 
+0

J'ai toujours l'erreur '[0D5C: 3148] [2016-11-08T15: 21: 04] i000: Clé de registre introuvable. Key = 'LOGICIEL \ Microsoft \ Microsoft SQL Server \ Noms d'instances \ SQL''. Cependant le registre existe. Je ne comprends pas, cette erreur va me rendre fou –

+0

Mon exePackage est (attention, c'était pour 32 bits): ' ' J'ai ajouté un DetectCondition. Vous devrez peut-être ajouter une détectionCondition avec SQLServerInstalled? – Bob