J'ai un programme d'installation wix qui va installer un fichier XML, puis le modifier. L'installation fonctionne très bien. Aujourd'hui, j'avais besoin d'ajouter quelques nœuds à ce fichier XML. J'ai donc modifié le fichier original, puis ajouté des instructions supplémentaires à wix pour attribuer ces valeurs aux éléments.Comment forcer wix à mettre à jour un fichier avant de le manipuler lors d'une mise à niveau
Eh bien, j'obtiens une erreur à chaque fois en disant qu'il ne peut pas trouver le nœud. Je regarde et vois quel fichier il a dans le répertoire et il a toujours l'ancien fichier qui n'a pas eu le noeud. Comment puis-je lui dire de remplacer le fichier XML d'abord, puis le modifier? Je ne veux pas utiliser "CreateElement" parce que je ne sais pas comment ne pas créer un élément s'il existe déjà (ne l'ai pas essayé, alors peut-être que ça marcherait). De plus, je veux que mon fichier XML soit la définition de la configuration.
Voici un échantillon de mon XML:
<Component Id="MyProgExeConfigComponent" Guid="*">
<File
Id="MyProgExeConfig"
Name="MyProg.exe.config"
DiskId="1"
Source="../Published/MyProg/MyProg.exe.config"
PatchWholeFile="yes"
KeyPath="yes"/>
<util:XmlFile
Id="MyProgExeConfigUser"
Action="setValue"
Permanent="yes"
File="[INSTALLLOCATION]\MyProg.exe.config"
ElementPath="/configuration/appSettings/add[\[]@key='UserName'[\]]"
Name="value"
Value="[USER]"/>
<util:XmlFile
Id="MyProgExeConfigPassword"
Action="setValue"
Permanent="yes"
File="[INSTALLLOCATION]\MyProg.exe.config"
ElementPath="/configuration/appSettings/add[\[]@key='Password'[\]]"
Name="value"
Value="[PASSWORD]" />
Toutes les idées?
doux qui a fonctionné Merci encore, Chris maintenant, dois-je augmenter cette version à chaque fois que je fais une modification au fichier XML? –
Non. Je ne fais que définir la version à la limite supérieure (65535.65535.65535.65535) ou similaire et tout va bien Le vrai fichier déployé n'aura jamais de numéro de version. –