Je tente de créer un projet d'installation de Visual Studio Installer qui déploie plusieurs projets C# et d'autres fichiers. Inclus dans ces autres fichiers, il existe des bases de données Access avec des formulaires qui nécessitent des mises à jour.Projet d'installation VS2015 ne pas mettre à jour la base de données Access incluse dans le package lors de la réinstallation
Pour illustrer le problème, je l'ai simplifié:
1- Créer un nouveau fichier de base de données d'accès, ajoutez une forme simple avec un bouton et une étiquette et l'enregistrer.
2- Ajouter le fichier au projet d'installation;
3- Set DetectNewerInstalledVersion
et RemovePreviousVersion
à true
4- Construire le projet.
5- Exécutez l'exécutable d'installation.
À ce moment-là, tout a bien fonctionné
6- Ouvrez à nouveau l'accès au fichier de base de données, ajoutez un bouton ou une étiquette à la forme, enregistrez-le.
7- Modifiez le numéro Version
du projet d'installation, et en même temps le ProductCode
comme suggéré par VS2015.
8- Reconstruire le projet d'installation.
9- Réinstallez le logiciel.
Attendu: les données d'accès doivent avoir été mises à jour avec le nouveau bouton/étiquette.
Ce qui se passe: Le fichier n'a pas été mis à jour.
Pourquoi est-ce? J'ai vu des gens parler du nombre de projets de la version Assembly inclus dans un projet d'installation, mais ce n'est pas mon cas puisque je ne déploie pas la sortie d'un projet. Je déploie simplement un fichier qui aurait dû être supprimé lors du processus de désinstallation.
Si je fais les mêmes étapes que décrites précédemment mais avec un fichier texte dans lequel j'ajoute du texte, cela fonctionne très bien, mais pour une raison quelconque, cela ne fonctionne pas avec une base de données Access.
Qu'est-ce qui ne va pas?
1) L'explication des données modifiées est dans ma réponse - ce n'est pas clair pour moi pourquoi vous n'avez pas vu cela ou je ne l'ai pas précisé. 2) REINSTALLMODE = amus est une mauvaise idée - il va remplacer tous les fichiers sur le système (versions ultérieures que les vôtres) avec vos plus anciens. 3) Permanent signifie permanent. Le fichier restera toujours même si vous définissez la valeur false permanente dans votre configuration. Vous allez pirater comme ça https://stackoverflow.com/questions/42284519/how-can-i-undo-permanent-flag-in-visual-studio-setup-project – PhilDW