Créer une configuration d'application dans Visual Studio 2013

90

J'ai déjà un projet prêt à être construit. Actuellement, j'utilise Visual Studio 2013.

Mais je ne sais pas comment créer une configuration MSI dans Visual Studio 2013, mais pour Visual Studio 2010, il existe de nombreux didacticiels expliquant comment créer une configuration dans Visual Studio 2010.

  • Cela signifie-t-il que je dois installer Visual Studio 2010 afin de créer une configuration d'application pour mon projet?

  • Quelle est la manière la plus simple de créer une configuration d'application dans Visual Studio 2013?

Kaoru
la source
2
Essayez Windows Installer XML (WIX), il est extrêmement personnalisable et extensible, vous pouvez également l'intégrer à vos builds CI. Les projets de configuration d'application ont été supprimés en 2012, vous pouvez utiliser Installshield SE qui a été inclus à un moment donné si vous avez toujours besoin d'un programme d'installation rapide et sale. Utilisation de WIX en 2013
Mgetz
VS 2012 et après il n'y a pas de projet de déploiement comme en 2010
kostas ch.
1
que diriez-vous de cliquer une fois monsieur @Mgetz? et comment utiliser le clic une fois?
Kaoru
@Kaoru Je n'ai jamais réussi à faire fonctionner Clickonce de manière fiable dans aucune version de VS, donc je ne serai pas d'une grande aide. Mais en théorie, cela fonctionnerait.
Mgetz
2
Clickonce a des particularités plutôt étranges: vous devez exécuter de nouvelles versions de la même installation à partir du répertoire d'installation d'origine pour qu'elle effectue une mise à jour automatique. De plus, il semble que vous deviez transporter le dossier joint avec le .exe clickonce. Ce que j'ai fait a été d'encapsuler le matériel d'installation de Clickonce dans une archive SFX avec winrar, en l'exécutant toujours à partir du répertoire temporaire et en créant essentiellement un "clic encore moins d'une fois le programme d'installation".
Traubenfuchs

Réponses:

131

Microsoft a écouté l'appel à la prise en charge des programmes d'installation (MSI) dans Visual Studio et a publié l' extension de projets d'installation de Visual Studio . Vous pouvez maintenant créer des installateurs dans VS2013, téléchargez l'extension ici depuis la galerie visualstudiogallery.

visual-studio-installateur-projets-extension

Peter
la source
1
Nouvelles et excellentes informations. Microsoft devrait améliorer son article connexe KB2900817
satoc
@peer Pas de solution dans VS 2012? Des alternatives? Exemples de code source complet dans VS2012?
Kiquenet
@kiquenet non, vs2012 n'est pas pris en charge. La plupart des projets sont mis à niveau avec n'importe quel travail vers vs2013 et rétrocompatible avec vs2012.
Peter
4
Ne vous embêtez pas à lire l'article ... il vous dit simplement de faire ce qui suit: Allez dans Outils -> Extensions et mise à jour. Choisissez l'onglet EN LIGNE. Rechercher "Visual Studio Installer Projects Extension"
Prisoner ZERO
J'ai une solution VS 2010 a un projet d'installation à l'intérieur, lorsque la solution est construite avec VS 2010, un fichier msi est créé. Maintenant, nous n'avons que VS 2013 et je ne peux pas modifier / migrer le projet d'installation. Que dois-je faire pour créer le fichier msi?
Jirong Hu
10

À partir de Visual Studio 2012, Microsoft ne fournit plus le package de déploiement intégré. Si vous souhaitez utiliser ce package, vous devrez utiliser VS2010.

En 2013, vous avez plusieurs options:

  • InstallShield
  • WiX
  • Roulez le vôtre

Dans mes projets, je crée mes propres installateurs à partir de rien, qui, comme je n'utilise pas Windows Installer, ont l'avantage d'être super rapides, même sur les vieilles machines.

Ming Slogar
la source
Avez-vous @ ming-slogar un exemple d'application avec un tel programme d'installation que vous aimeriez partager avec nous?
Highmastdon
@Highmastdon: Je viens de créer un programme de démarrage d'installation avec C ++ natif (configuré de manière à pouvoir fonctionner sans pré-installer les bibliothèques d'exécution C ++) qui a vérifié l'installation de .NET et lancé un programme d'installation de l'interface graphique WPF. Le programme d'installation WPF permettait à l'utilisateur de choisir un tas d'options, puis de copier des fichiers et d'écrire des clés de registre. Je n'ai pas d'application "exemple" - j'utilise le programme d'installation dans le projet sur lequel je travaille, mais je peux essayer d'extraire un échantillon si vous en avez besoin.
Ming Slogar
Je voudrais vraiment voir un exemple complet de cela. Envie de partager? Pas le code lui-même, mais le concept et quelque chose de votre expérience? Comme comment l' intégrer dans le projet qui va être installé, comment automatiser les choses courantes (copie de la liste des fichiers, règles: écraser / ne pas écraser, etc.). De plus, j'utilise NSIS atm, mais j'en ai assez de son langage de script, de son interface utilisateur moderne et moche et de sa conception très très lente (toujours à l'âge de pierre xp).
Sinatr
@Sinatr Pour incorporer des assemblys, j'ai fait un usage intensif des fichiers de ressources - à la fois en C ++ et C #. Pour copier des fichiers, j'étais en fait paresseux et j'écrivais à la main chaque opération de fichier (par exemple en utilisant File.WriteAllBytesou File.WriteAllText, selon le type de fichier). Je n'ai pas géré l'écrasement des fichiers existants - tous mes assemblys étaient préfixés avec le nom de mon application (par exemple AppName.Controls.dll, AppName.Images.dll), de sorte que le risque d'un fichier en double serait vraiment faible. Si vous souhaitez gérer chaque scénario possible, vous devez faire ce que fait Windows Installer - ce qui va à l'encontre de l'objectif de la personnalisation.
Ming Slogar
7
@Kiquenet J'ai téléchargé le code de mon programme d'installation personnalisé ici: drive.google.com/… . Il ne se construira pas en raison de dépendances manquantes (je l'ai extrait d'un projet en direct), mais vous pouvez au moins voir comment j'ai créé le programme d'installation.
Ming Slogar
3

Visual Studio 2013 prend désormais en charge les projets d'installation. Microsoft a livré une extension Visual Studio pour produire des projets d'installation.

Extension de projets du programme d'installation de Visual Studio

Hamid Shahid
la source
Salut @Hamid, Après avoir terminé l'installation de la configuration MSI du formulaire de fenêtre, mes fichiers bruts (conception et codage) s'affichent également à l'emplacement d'installation. J'ai développé cette application en utilisant Visual Studio 2010. Le programme d'installation a été créé avec succès, mais après l'installation de ce MSI, ce problème se produit. Aidez-moi, s'il vous plaît. Merci d'avance.
dilipkumar1007
Essayer de comprendre votre question. vous avez créé un projet d'installation avec Visual Studio 2010 et cela ne fonctionne pas avec Visual Studio 2013?
Hamid Shahid
2

Microsoft recommande d'utiliser «InstallShield Limited Edition pour Visual Studio» en remplacement du «Projet de déploiement et d'installation» interrompu - mais ce n'est pas si agréable et personne d'autre ne recommande de l'utiliser. Mais pour les configurations simples, et si le relais sur des produits tiers commerciaux ne pose pas de problème, vous pouvez l'utiliser.

L'alternative est d'utiliser Windows Installer XML (WiX) , mais vous devez faire beaucoup de choses manuellement qui ont fait le projet d'installation par lui-même.

habakuk
la source
Je suis complètement d'accord avec @Kiquenet - Vous pouvez essayer le tutoriel de wix.tramontana.co.hu
habakuk
J'installe le 2015LE dans le VS 2010, et je peux créer un projet de configuration SI dans le VS 2010. Maintenant, comment puis-je appeler ce projet dans Jenkins? Le plugin InstallShield pour Jenkins demande le chemin vers ISCmdBld.exe, que je ne trouve pas dans 2015LE.
Jirong Hu
1

Outre Install Shield et WiX, il existe Inno Setup . Bien que je ne l'ai pas essayé moi-même, j'ai entendu de bonnes choses à ce sujet.

MBWise
la source
1

Je vais dire, comment j'ai résolu un problème presque similaire. J'ai développé une application à l'aide de VS 2013 et j'ai essayé de créer un assistant car cela n'a pas réussi. Plus tard, j'ai installé premium VS et j'ai essayé et échoué.

enfin j'ai utilisé "ClickOnce" et cela a bien fonctionné.

Donc je crois qu'ici aussi, "CLICKONCE" vous aiderait.

Aswajith
la source