2010-05-08 27 views
2

J'ai un VSPackage open source que je voudrais sortir avec la prise en charge de Visual Studio 2005, Visual Studio 2008 et Visual Studio 2010. J'essaie de comprendre comment créer le programme d'installation et comment effectuer l'enregistrement du package avec chaque édition de Visual Studio.Comment déployer et enregistrer un VSPackage supportant plusieurs versions de Visual Studio (2005, 2008, 2010)?

La recherche sur le déploiement que j'ai faite indique que mon meilleur pari pour un installateur est un VSIX dans un MSI.

La recherche sur l'enregistrement que j'ai faite est beaucoup moins claire. L'enregistrement de VSPackage semble différer pour chaque édition (VS2005 utilise regpkg, VS2008 utilise pkgdef, VS2010 utilise VSIX).

Quelqu'un peut-il partager ses expériences et/ou me diriger vers toute information sur la meilleure approche pour cibler plusieurs versions de Visual Studio? Je suis à la recherche de la mise en œuvre la plus simple et de préférence le garder dans un seul installateur si cela est raisonnablement possible.

Toute aide serait grandement appréciée!

Répondre

4

Réponse courte: Si vous voulez un seul programme d'installation qui cible/enregistre avec 2005, 2008, & 2010, le choix est assez simple en fait. Vous devez créer un programme d'installation basé sur MSI et vous inscrire à HKLM \ Software \ Microsoft \ VisualStudio \ (8.0 | 9.0 | 10.0). Pour la question MSI/VSIX ... rappelez-vous que VSIX est nouveau pour 2010. Une machine avec VS 2005/2008 ne saura pas quoi faire avec un fichier VSIX. Une note de côté sur VSIX .... vous ne devriez jamais mettre un fichier VSIX (c'est-à-dire le conteneur zip) à l'intérieur d'un MSI. Si vous voulez une extension basée MSI qui apparaît également dans la boîte de dialogue Extension Manager, vous devez inclure une balise <InstalledByMSI> dans votre fichier extension.vsixmanifest, et établir les fichiers déjà développés sous <VisualStudio2010InstallDir> \ Common7 \ IDE \ Extensions \ <YourExtensionDirectory>.

En ce qui concerne l'enregistrement ... vous avez quelques petites erreurs dans votre question. Pour les années 2005 et 2008, les programmes d'installation qui enregistrent des packages avec Visual Studio doivent toujours s'enregistrer sous HKEY_LOCAL_MACHINE. (PKgdef en 2008 était que pour les applications « Shell isolé ».) Fixant un fichier pkgdef est maintenant une option prise en charge en plus le Registre dans Visual Studio 2010.

RegPkg est un utilitaire inclus dans le Visual Studio SDK pour 2005/2008/2010 qui reflète sur votre assembly de package et affiche les informations d'inscription appropriées dans plusieurs formats différents. Il est destiné à être utilisé au moment du développement/de la construction pour générer vos informations d'enregistrement et ne doit pas être utilisé dans le cadre d'un programme d'installation.

CreatePkgDef.exe est un outil en 2010 qui est essentiellement le même que RegPkg.exe, mais seulement produit des fichiers pkgdef.

+0

Merveilleux, merci Aaron pour la réponse et le détail. :) –