Meilleur moyen de déployer l’application Visual Studio pouvant s’exécuter sans installation

J’ai écrit une application assez simple avec C # /. NET et je n’arrive pas à trouver un moyen de le publier. C’est une sorte d’outil que les utilisateurs ne peuvent exécuter qu’une seule fois ou exécuter tous les quelques mois. Pour cette raison, j’espère qu’il y a un moyen de le déployer là où il n’y aurait pas besoin de l’installer (il suffit de double cliquer sur un fichier EXE après le téléchargement).

Cependant, il doit toujours inclure la version correcte de .NET, des bibliothèques, etc. Je sais que cela est inclus lors de l’utilisation de ClickOnce, mais que l’installation installe toujours l’application sur l’ordinateur de l’utilisateur.

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

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 

C’est possible et c’est trompeusement facile:

  1. “Publier” l’application (pour, par exemple, un dossier sur le lecteur C), à partir du menu Construire ou des propriétés du projet → Publier . Cela créera un installateur pour une application ClickOnce .
  2. Mais au lieu d’utiliser le programme d’installation produit , 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 bin\Debug Dossier de bin\Debug sous le fichier de projet ( .csproj ).
  3. Zippez ce dossier (sans les fichiers * .vhost. * Et le dossier app.publish (ils ne sont pas nécessaires)) et les fichiers .pdb, sauf si vous prévoyez de déboguer directement sur le système de votre utilisateur (par exemple, par contrôle à distance)), et le fournir aux utilisateurs.

Un avantage supplémentaire est qu’en tant qu’application ClickOnce, il n’exige pas de privilèges d’administrateur pour s’exécuter (si votre application suit les instructions normales concernant les dossiers à utiliser pour les données d’application, etc.).

En ce qui concerne .NET, vous pouvez vérifier que la version minimale requirejse de .NET est installée (ou pas du tout) dans l’application (la plupart des utilisateurs l’ont déjà installée) et présenter un dialog 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 pourraient redirect vers la page Microsoft – cela le rend plus robuste si l’URL de Microsoft change). Comme il s’agit d’un petit utilitaire, vous pouvez cibler .NET 2.0 pour réduire la probabilité qu’un utilisateur doive installer .NET.

Ça marche. Nous utilisons cette méthode au cours du développement et du test pour éviter de devoir constamment désinstaller et installer l’application, tout en étant assez proche de l’exécution de l’application finale.

Vous devez d’abord publier le fichier en:

  1. CONSTRUIRE -> PUBLIER ou en cliquant avec le bouton droit de la souris sur Projet Explorateur de solutions -> propriétés -> publier ou sélectionner un projet dans l’Explorateur de solutions et appuyer sur Alt + Entrée REMARQUE: si vous utilisez Visual Studio 2013 Vous devez désactiver définir la constante DEBUG et définir la constante TRACE et vous êtes prêt à partir. Représentation

  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 dossier bin\Debug sous le fichier de projet. (.csproj). Dans Visual Studio, ils se trouvent dans le dossier Application Files et à l’intérieur, vous n’avez besoin que des fichiers .exe et dll. (Vous devez supprimer ClickOnce et autres fichiers, puis en faire un fichier zip et le dissortingbuer.)

REMARQUE: L’application ClickOnce installe le projet sur le système, mais il présente un avantage. Vous n’avez pas besoin de privilèges administratifs ici pour exécuter (si votre application suit les instructions normales pour les dossiers à utiliser pour les données d’application, etc.).