2010-10-07 23 views
0

Je cherche à implémenter un package d'installation pour ma solution multi-projets qui installe un service Windows ainsi qu'une application Winforms. Le service et l'application ont tous deux la possibilité de se mettre à jour via un utilitaire Web personnalisé que j'ai écrit. Donc, fondamentalement, le service Windows met régulièrement à jour ses propres DLL s'il voit une mise à niveau sur le serveur web. L'application Winforms se met à jour automatiquement si elle voit une mise à niveau sur le serveur Web au lancement. Il n'utilise pas un processus de mise à niveau du programme d'installation standard, mais remplace essentiellement .DLL en place avant qu'ils ne soient consommés.Projet de configuration Visual Studio à côté de la logique de mise à jour automatique?

Je comprends comment faire de Windows pour ne pas réparer mon installation (en utilisant l'indicateur NOT REINSTALL) si je mets à jour manuellement quelques DLL du projet. Cependant, si j'active certains fichiers pour qu'ils ne soient pas réparés, je rencontre un problème avec ceux-ci qui ne sont pas désinstallés ou mis à jour lorsque l'utilisateur met à jour ou répare manuellement son installation.

Alors, ce que je dois est le suivant:

1) Windows pour essayer de ne pas réparer mon manuellement mis à jour la demande w/o explicite de l'utilisateur automatiquement de .DLL 2) Windows pour désinstaller tout, y compris de l'auto-mise à niveau .DLL - lorsque l'utilisateur choisit de désinstaller 3) Windows pour réparer tout si l'utilisateur choisit manuellement de réparer l'installation

Est-ce possible? Mon seul choix est-il d'implémenter des actions personnalisées qui nettoient manuellement .DLL lors de la désinstallation?

Merci

Répondre

0

WiX vous donne beaucoup de contrôle sur le processus d'installation et this question (je l'espère) décrit comment obtenir WiX pour supprimer les fichiers ajoutés après l'installation initiale. Tant que vous ne créez pas de nouveaux répertoires avec des mises à jour, il semble que vous n'ayez besoin d'aucune action personnalisée.