J'ai de l'expérience avec Wix. Initialement, j'avais un fichier de configuration avec une chaîne de connexion (le premier ci-dessous) et l'installateur fonctionnait parfaitement. Maintenant que j'ai ajouté une autre chaîne de connexion, je rencontre des problèmes. XML:Installateur Wix - Mise à jour de plusieurs chaînes de connexion
<util:XmlFile Id="leID2" File="[INSTALLFOLDER]Queue.exe.config" Sequence="3" Action="setValue" ElementPath="/configuration/connectionStrings/add[@name='String1']/@connectionString" Value="metadata=res://*/EntityModels.String1.csdl|res://*/EntityModels.String1.ssdl|res://*/EntityModels.String1.msl;provider=System.Data.SqlClient;provider connection string="data source=[DBSERVER];initial catalog=[DBNAME];User=User;Password=password;MultipleActiveResultSets=True;App=EntityFramework"" Permanent="yes" />
<util:XmlFile Id="leID3" File="[INSTALLFOLDER]Queue.exe.config" Sequence="4" Action="setValue" ElementPath="/configuration/connectionStrings/add[@name='String2']/@connectionString" Value="metadata=res://*/EntityModels.String2.csdl|res://*/EntityModels.String2.ssdl|res://*/EntityModels.String2.msl;provider=System.Data.SqlClient;provider connection string="data source=[DBSERVER];initial catalog=[SECONDDBNAME];User=User;Password=password;MultipleActiveResultSets=True;App=EntityFramework"" Permanent="yes" />
DBSERVER, DBNAME, SECONDDBNAME sont toutes les propriétés étant définies à partir d'une fenêtre d'entrée utilisateur personnalisée. Lors de l'installation, cela est le résultat dans le fichier de configuration:
<add name="String1" connectionString="metadata=res://*/EntityModels.String1.csdl|res://*/EntityModels.String1.ssdl|res://*/EntityModels.String1.msl;provider=System.Data.SqlClient;provider connection string="data source=**mydbserver**;initial catalog=**seconddbname**;User=User;Password=password;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
<add name="String2" connectionString="metadata=res://*/EntityModels.String2.csdl|res://*/EntityModels.String2.ssdl|res://*/EntityModels.String2.msl;provider=System.Data.SqlClient;provider connection string="data source=[default from project];initial catalog=[default from project];User=User;Password=password;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
La première chaîne de connexion prend le nom DBSERVER correctement, mais il prend le nom deuxième DB entré. La deuxième chaîne de connexion reste complètement inchangée par rapport à ce que j'avais dans mon projet de studio visuel. Ce n'était pas modifié.
Des idées?
Merci pour la réponse rapide, fait la modification, mais toujours le même résultat –
Il y avait un problème dans le * ElementPath *. Essayez de mettre à jour ceci (j'ai mis à jour la réponse) - cela devrait, espérons-le, résoudre votre problème. Vous avez toujours besoin du * SelectionLanguage * défini sur * XPath * –
Excellent, essayé et cela fonctionne parfaitement. Je n'ai jamais soupçonné que quelque chose n'allait pas avec ça parce que ça fonctionnait tant qu'il y avait une seule corde de conn. Merci! –