R# plugin installer

Topics: ReSharper test runner
Mar 17, 2009 at 10:36 PM
Hi folks. I'm after opinions on how we should distribute the xunit contrib dlls (which currently are just the resharper plugin).

Brad has extended the offer of making the xunit installer extensible, but I'm not sure how that would work:

1. Does the xunit installer download the latest bits? How does it know which bits are compatible?
2. Does the user drop a zip next to the xunit installer? If so, is this really different to a separate installer?
3. Would a link from the xunit installer to the main xunitcontrib page here at codeplex be enough?

Let me know what you think
Mar 18, 2009 at 6:42 AM
There are several ways we can approach this.

The simplest approach:

Allow the installer to inspect DLLs for an installation "hook". This would be an extremely simplified kind of an API: (1) are you installed? (2) are you capable of being installed? (3) install yourself (4) uninstall yourself. Then users who download your R# support DLL can just drop it into the same directory with the rest of their xUnit.net distribution, and run xunit.installer.exe as always.

The slightly more complicated approach:

On top of the above, we could keep a list of "known" plugins which are compatible for a given version of xUnit.net, and offer to download and/or update them as appropriate when the user runs the installer. Allow the user to see the list of available plugins so they can choose which ones they'd like to have on their system.

I'm inclined to do the simpler bit first, as you're the only single 3rd party installable plugin, so the latter feels like a lot more work, and let the users give us feedback on how it works for them.

In truth, the "installation" story has been really lax for xUnit.net up until now. Jim and I have talked about writing a more traditional installer. We don't want to lose the XCOPYability of the system, because we strongly believe in tools that are checked into the source tree, so even if we offer a more traditional installer, we'll probably still offer the more "advanced" form of "unzip it yourself" installation. :)