Nous avons un programme d'installation de produit créé avec Wix, contenant un package de programme ("V1") et quelques fichiers de configuration. Maintenant, nous allons faire une mise à jour majeure avec un nouveau code de produit, où l'ancienne version du produit est désinstallée et « V2 » est installé. Ce que nous voulons, c'est sauver l'un des fichiers de configuration de la désinstallation, puisqu'il est également nécessaire pour la V2. Malheureusement, nous avons oublié de définir l'option Permanent="yes"
lorsque nous avons livré V1 (read this question pour plus d'informations).WiX, comment empêcher la désinstallation des fichiers mais nous avons oublié de définir Permanent = "yes"
Voici la question: est-il un moyen facile d'empêcher la désinstallation du fichier de toute façon? Bien sûr, nous pourrions ajouter une action personnalisée au script pour sauvegarder le fichier avant la désinstallation, et une autre action personnalisée pour restaurer plus tard, mais à mon humble avis qui semble être surpuissant pour cette tâche, et elle pourrait interférer avec d'autres parties du processus d'enregistrement MSI .
EDIT: Et oui, l'attribut NeverOverwrite="yes"
est déjà défini dans V2 et le comportement est tel que je l'ai décrit.
Je ne pense pas que cela va aider à changer quelque chose directement dans les paramètres du composant de V2. Peut-être il y a une chance de modifier le registre en quelque sorte dans une action personnalisée avant de désinstaller V1, donc le service d'installation pense que le fichier de configuration dans V1 a été installé avec Permanent="yes"
?
Vous pouvez simplement réinstaller ces fichiers, ou est-ce que vous voulez conserver le fichier local parce qu'il a peut-être été modifié? –
C'est exactement le cas - le fichier de configuration a peut-être été modifié et devrait être conservé tel quel. –