The most appealing way to distinguish between development, test and production versions of your desktop and web applications is to use different skin for each one.
Normally, people tend to miss connection strings, application titles or version numbers. Or, it could be an extra burden for non-dev people to memorize things like: “If there is TEST within the title bar and the connection string in the status bar points to http://test…, then this is snapshot and you can do whatever you want to.”
If the entire application has nice Caramel skin for the test version and professional Office outfit for the production, then it would be quite hard to get confused with that.
All you need is:
- Integration server managing “Test” and “Release” releases (and any other type of build)
- Different config sets under version control (normally these should be stored in a secure SVN repository separately from the “Trunk”)
- Component suite that supports simple skinning (like DevExpress)
- Some flexible configuration system (Autofac’s own config is perfectly fine for this purpose)
If you have all these (and you normally should) then it would take just 10 minutes to enable “different UI look for different build type” feature.


Now that has style… (literally! :))
Thank you, Nick))