2010-11-18 49 views
3

Mon application sera initialement déployée avec Windows Installer.Mise à jour de l'application en mode silencieux pendant l'exécution

Les principales caractéristiques de la solution que je cherche comprennent:

  • support mise à jour silencieuse alors que l'application est en cours d'exécution (ou redémarrer automatiquement client)

  • Facile à entretenir et gérer l'emballage processus

  • Évitez les personnalisations complexes ou les scripts d'installation

Avez-vous des idées sur comment puis-je y parvenir? Même si cela signifie modifier le code de l'application pour soutenir toute idée.

application est 2.0 .net

Répondre

5

Avez-vous envisagé d'utiliser ClickOnce pour le déploiement? Il a une possibilité de vérifier les mises à jour et programatically le cas échéant les forcer à installer - voir http://msdn.microsoft.com/en-us/library/ms404263.aspx

+0

Mon application est un client de bureau, et je ne pense pas que le clic peut être une option viable pour le déploiement en premier lieu. –

+1

+1 - ClickOnce peut absolument convenir au déploiement de bureau. Définissez simplement le chemin de mise à jour lors de votre déploiement ClickOnce vers une URL, par exemple, puis votre application essaiera de se connecter à cette URL au démarrage afin de pouvoir vérifier les mises à jour. –

+0

L'URL de déploiement n'a pas besoin d'être une URL. Ce peut être un chemin UNC. Vous pouvez définir le programme d'installation de clickonce pour toujours vérifier et les utilisateurs recevront la nouvelle version chaque fois qu'ils redémarrent l'application. –

1

Le Proxy Design Pattern vous aidera à atteindre cet objectif alors que c'est le modèle utilisé pour les plugins. Une autre courte explication est avec le Gang of Four - Proxy Design Pattern. Avoir un oeil sur le Shadow Copying des assemblys est certainement utile pour l'astuce, car vous copiez votre assembly mis à jour dans votre dossier assembly assemblies, puis vous pouvez informer votre application des changements, puis décharger l'ancien assembly et charger le nouveau pour que les changements prennent effet, c'est-à-dire sans même avoir à redémarrer votre application, et cela sera absolument transparent pour l'utilisateur final.

Une approche plus simple pourrait être le ClickOnce Deployment que vous pourriez être intéressé à lire à propos de suivre le lien sugested.

+0

Pouvez-vous expliquer mieux comment ce modèle peut m'aider? –

2
  • Vous pouvez mettre à jour votre application en mode silencieux en utilisant le Restart Manager (disponible dans Vista et Win7).
  • N'oubliez pas qu'un utilisateur n'est pas toujours l'administrateur. Depuis Vista si vous signez votre package Windows Installer, vous pouvez mettre à jour l'application sans avoir besoin des droits d'administrateur de l'utilisateur actuel.
  • Pour que tout cela fonctionne, vous devez installer votre application en utilisant la technologie Windows Installer. Vous pouvez utiliser Wix pour créer un fichier XML et le compiler vers un package .msi. Wix s'intègre bien avec VS.