.net – Rich Client A / B Testing in .NET


Has anyone done much A/B testing with a rich client (i.e. WinForms or WPF) application?

I am interested in deployment strategies that make sense for this scenario.

It seems like ClickOnce deployment would be a good fit, but there's so much baggage with getting ClickOnce to work properly for a non-trivial application.

If using ClickOnce, how do you push changes for 50% of the users? Is this possible, or do you just need to essentially deploy 2 separate application?

If using Windows Installer, does it make sense to push a new installer for each test scenario? This seems onerous to the end user who has to update the application each time? Is there a major downside to installing just a stub on the client PC and dynamically downloading updates when available?

Best Solution

Well, on our ASP.Net website, we have 'scenarios' that control navigation and what composite controls are used. Everything is in the deployable. Each new user session randomly picks a scenario and stores it on the session.

You could do similarly. Put your A/B scenarios in every build, and have a factory randomly pick which one is loaded and store it in a user config file or registry key.