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. :)