views:

157

answers:

3

I have managed to develop an extension for visual studio "Update web reference" action in form of a simple dll that takes care for some sharing of classes between different projects etc. Everything works at my local machine and now I would like to create some user-friendly package so that all the guys in our company can use it as well. So far I have

  • 2 dlls and 1 config file that I need to copy into PrivateAssemblies folder of the Visual Studio IDE
  • A (relatively) simple change in the devenv.exe.config file

Is there some supported way of creating a plugin/addin/extension that would help me automate this and not having to care about the permissions for the necessary folders etc. or am I better off writing a simple deploy tool and tell the guys to run it with elevated permissions ?

EDIT : The reason why I need both of the steps is that I've developed a SchemaImporterExtension that needs to be registered in the config file of VS IDE (or alternatively in the machine.config but I think that wouldn't be easier) and the library containing it has to be reachable by the resolving mechanism (maybe there are some other places where it would also be found, GAC would work as well of course)

EDIT 2 : Finally I have simply created a setup project which does both steps and even restores the config file to the original state when uninstalled. I was clearly looking in a wrong direction because what I've implemented is far from being a plugin. Thanks for the tips anyway ;)

+1  A: 

xcopy and patch (or just write something simple to modify the config file).

Wrap this all up in a batch file/script.

leppie
Yes, that's what I was planning to do anyway, but the question was more if there is some fancier way of deploying it :)
Thomas Wanner
+2  A: 

Yes, VSIX files are used to package (and potential redistribute) VS extensions.

Details are covered in the VS SDK documentation, e.g. here.

Edit: Also see the "vsix" tag here on SO.

Richard
You can't use a VSIX to (a) put assemblies in PrivateAssemblies or (b) change devenv.exe.config, so this solution will not work.
Noah Richards
Unfortunately that's what I learned after a while of experimenting with it :(
Thomas Wanner
+1  A: 

Check out the FeatureBuilder addin for an easier way of creating plugins. (There's some vids up on Channel9 for demonstrations.

Mark H