2010-08-06 7 views
4

Je développe des logiciels de bureau C# pour les entreprises de taille moyenne, et je cherche une bonne stratégie pour déployer des mises à jour logicielles pour mes clients.Comment gérez-vous les mises à niveau des logiciels que vous développez?

  • Comment gérez-vous cela?
  • Utilisez-vous Windows Installer?
  • Est-ce un meilleur choix pour développer mon programme de mise à niveau personnalisé ? Avez-vous déjà développé des choses similaires? Avez-vous une bonne pratique à partager? Utilisez-vous une autre bibliothèque ou un logiciel existant ?

Merci

+0

Méfiez-vous de l'utilisation d'un programme de mise à niveau personnalisé. C'est presque toujours moins cher d'acheter la solution de quelqu'un d'autre que de créer la vôtre. Cela ne s'applique pas lorsqu'il n'y a pas d'autre solution, ou lorsque la supériorité de votre solution est ce sur quoi vous faites de l'argent. –

+0

Où est-ce que votre logiciel tombe sur la ligne de shrink-wrap à custom?Avez-vous une relation d'affaires continue avec vos clients? Cette question a des réponses très différentes si vous vendez quelque chose que je peux acheter dans une boîte chez Office Max ou si vous vendez des installations personnalisées avec des contrats de maintenance. –

+0

Non, je vends des logiciels hautement personnalisés. Rarement j'ai plus d'un client ou deux en utilisant le même logiciel, mais de nombreux modules sont partagés entre mes applications, donc je dois prendre soin des versions correctes d'entre eux. J'ai besoin d'automatiser d'une certaine façon le processus, car il commence à être cher en terme de temps –

Répondre

2

Ou vous pouvez utiliser un composant tiers Updater Component

Voici le documentation.

+0

L'avez-vous déjà utilisé? –

+0

Je l'ai utilisé dans un testprogram mais je ne l'ai pas testé. Je pense que vous devriez essayer car c'est gratuit. – Searock

+0

Je lis la documentation. Il semble être prometteur ... très flexible et personnalisable. –

3

Je développe un certain nombre d'applications open source, certains d'entre eux sont mis à jour et certains sont juste une preuve de concept. Pour décider de la meilleure méthode de mise à niveau du logiciel, j'ai choisi d'utiliser la route ClickOnce présente dans Visual Studio. Non seulement elle installe automatiquement les fichiers .Net Framework nécessaires, mais elle peut également télécharger les mises à jour depuis un serveur Web spécifié au démarrage de l'application ainsi qu'à un moment de mon choix. Je pense que c'est le moyen le plus simple de mettre à jour mes applications, il y a probablement des méthodes plus élaborées mais en gardant à l'esprit que mes applications sont open source et qu'il n'y a pas d'exigences ou de délais pour ClickOnce. objectif.

Note: Je vous écris mes applications en C# et .Net soit 3.5 ou .Net 4.

Lien: Choosing a ClickOnce update method

+0

J'ai évalué ClickOnce, mais j'ai besoin de quelque chose qui peut être plus sous mon contrôle, parce que Je dois m'occuper de la politique de l'entreprise, de la permission des dossiers, etc. De plus, ce sera un bonus de déployer automatiquement les mises à jour de la base de données, sous la forme de scripts SQL. ClickOnce peut gérer ces problèmes? –

+0

@Andrea - non, ça ne peut pas; mais ClickOnce est superbe pour travailler dans des environnements verrouillés, selon mon expérience. C'est à dire. - les utilisateurs ont besoin d'un navigateur Web, Windows OS, et c'est –

+0

Vous pouvez spécifier quelles autorisations sont nécessaires lorsque vous déployez l'application via ClickOnce, si l'ordinateur client a des stratégies qui interdisent spécifiquement la création de nouveaux dossiers, par exemple, je suis va supposer ClickOnce ne peut pas remplacer cela. ClickOnce est plus basé sur un environnement définitif "verrouillé". Essayez ce lien pour un examen approfondi de la mise en place des politiques de sécurité: http://www.informit.com/articles/article.aspx?p=691085&seqNum=3 –

2

Windows Installer Wix est devenu extrêmement simple et des mises à niveau compétentes en ce qui concerne, si vous » Si vous faites quelque chose de complexe dans votre installateur, vous voudrez peut-être réfléchir à la mise à jour automatique de vos applications. Tant que vous pouvez compter sur vos clients pour exécuter .net il est assez facile de faire des applications qui font ce genre de choses pour vous.

+0

J'utilise WIX pour la configuration initiale des applications, plus http://dotnetinstaller.codeplex.com/ pour amorcer l'installation et télécharger toute exigence tierce. Mais pour les mises à niveau, je pense à développer une procédure autoupdate personnalisée qui télécharge la nouvelle version stockée sur mon site web. Avez-vous déjà développé une chose similaire? Avez-vous une bonne pratique à partager? –

+0

@Andrea Parodi: Je n'ai pas développé de choses similaires, mais mélanger les composants installés MSI et les pièces qui sont mises à jour en dehors du processus MSI est une perspective effrayante, je dirais aller tous MSI ou faire tout cela avec des applications personnalisées, sinon le l'application ne sera plus synchronisée avec la compréhension des bases de données MSI. –

1

Si vous cherchez à automatiser le processus de mise à niveau, je suppose que vous voulez le faire sur Internet ou tout autre réseau d'entreprise. Dans ce cas, le mieux serait de développer un installateur basé sur un serveur client, où les nouveaux fichiers (ou tout paquet contenant de tels fichiers) et le script d'installation (qui peut être quelque chose allant d'un fichier batch à un installateur écrit personnalisé avec vos propres règles d'installation) serait hébergé sur le serveur et vous aurez un client léger fonctionnant sur les machines clientes qui téléchargeraient simplement les paquets et les scripts et commenceraient à les exécuter sur le client. Maintenant, la «personnalisation» que vous voulez faire dans le moteur d'installation dépend de la flexibilité dont vous avez besoin.

+0

Basé sur mon expérience passée, j'ai juste besoin de copier de nouveaux fichiers sur la machine du client (en prenant soin de l'autorisation restreinte de dossier), mises à niveau des bases de données d'entreprise (juste la première fois). Un certain temps enregistrer quelques ojets COM. Trouvez-vous que de telles procédures peuvent être développées en interne, ou que c'est le meilleur choix pour acheter un logiciel/une bibliothèque commerciale? –

+0

Je ne suis pas au courant de tout COTS pour ce faire. Peut-être que vous voulez commencer à écrire ces procédures vous-même. Je sens que copier de nouveaux fichiers et mettre à jour des bases de données n'est peut-être pas trop complexe à faire. – Santhosh