web-dev-qa-db-fra.com

Meilleure façon de déployer une application Visual Studio pouvant s'exécuter sans installation

J'ai écrit une application assez simple avec C #/.NET et je ne peux pas trouver un bon moyen de la publier. C'est une sorte d '"outil" que les utilisateurs ne lancent qu'une fois ou tous les quelques mois. Pour cette raison, j'espère qu'il sera possible de le déployer de manière à ne pas nécessiter d'installation (il pourrait simplement être exécuté en double-cliquant sur un fichier EXE juste après le téléchargement).

Cependant, il doit toujours (d'une manière ou d'une autre) inclure la version correcte de .NET, des bibliothèques, etc. pour qu'il fonctionne correctement. Je sais que cela est inclus lors de l'utilisation de ClickOnce, mais cela installe toujours l'application sur l'ordinateur de l'utilisateur.

Y a-t-il un moyen de faire cela?

EDIT -\bin\Debug

myAppName.application
myAppName.exe
myAppName.exe.config
myAppName.exe.manifest
myAppName.pdb
myAppName.vshost.application
myAppName.vshost.exe
myAppName.vshost.exe.config
myAppName.vshost.exe.manifest
extraLibrary.dll

ainsi que deux dossiers

app.publish
Resources
70
Wilson

C'est possible et d'une simplicité trompeuse:

  1. "Publier" l'application (vers, par exemple, un dossier sur le lecteur C), à partir du menu Construire ou à partir des propriétés du projet → Publier . Cela créera un programme d'installation pour une application ClickOnce .
  2. Mais au lieu d'utiliser le programme d'installation produit , recherchez les fichiers produits (le fichier EXE et le fichier . Config , . manifeste et . application fichiers , ainsi que tous les fichiers DLL, etc.) - ils se trouvent tous dans le même dossier et généralement dans le dossier bin\Debug situé sous le fichier de projet (. csproj ).
  3. Zipez ce dossier (laissez de côté tous les fichiers *. Vhost. * et le dossier app.publish (ils ne sont pas nécessaires), ainsi que le fichier .pdb. fichiers à moins que vous ne prévoyiez le débogage directement sur le système de votre utilisateur (par exemple, par contrôle à distance)), et le fournir aux utilisateurs.

Un avantage supplémentaire est que, en tant qu’application ClickOnce, elle n’exige pas de privilèges d’administration (si votre application respecte les instructions usuelles pour les dossiers à utiliser pour les données de l’application, etc.).

En ce qui concerne .NET, vous pouvez vérifier si la version minimale requise de .NET est installée (ou pas du tout) dans l'application (la plupart des utilisateurs l'auront déjà installée) et présenter une boîte de dialogue avec un lien vers la page de téléchargement sur le site Web de Microsoft. (ou pointez sur l'une de vos pages qui pourrait rediriger vers la page Microsoft - cela le rendra plus robuste si l'URL de Microsoft change). S'agissant d'un petit utilitaire, vous pouvez cibler .NET 2.0 pour réduire la probabilité qu'un utilisateur ait à installer .NET.

Ça marche. Nous utilisons cette méthode pendant le développement et les tests pour éviter de devoir constamment désinstaller et installer l'application, tout en restant assez proches du fonctionnement de l'application finale.

95
Peter Mortensen

Vous devez d'abord publier le fichier en:

  1. CONSTRUIRE -> PUBLIER ou en faisant un clic droit sur le projet dans l'Explorateur de solutions -> propriétés -> publier ou sélectionner un projet dans l'Explorateur de solutions et appuyer sur Alt + Enter REMARQUE: si vous utilisez Visual Studio 201 , dans les propriétés, vous devez accéder à BUILD, puis désactiver la définition de la constante DEBUG et définir la constante TRACE. Vous êtes prêt à commencer. Representation

  2. Enregistrez votre fichier dans un dossier particulier. Recherchez les fichiers produits (le fichier EXE et les fichiers .config, .manifest et .application, ainsi que tous les fichiers DLL, etc.). Ils se trouvent tous dans le même dossier et généralement dans le fichier bin\Debug dossier situé sous le fichier de projet (.csproj). Dans Visual Studio, ils se trouvent dans le dossier Application Files (Fichiers d'application) et à l'intérieur, vous avez simplement besoin des fichiers .exe et dll. (Vous devez supprimer ClickOnce et d'autres fichiers, puis transformer ce dossier en fichier Zip et le distribuer.)

REMARQUE: l'application ClickOnce installe le projet sur le système, mais présente un avantage. Vous n'avez PAS besoin de privilèges d'administrateur pour pouvoir être exécuté (si votre application respecte les directives habituelles concernant les dossiers à utiliser pour les données d'application, etc.).

1
abe312