Many folks have asked me in the past how to build an installer for their Surface application. I recommend using Windows Installer XML to do this because it is a free and powerful production quality installer toolset. To get folks started I have put together a sample solution with an installer project that solves some common problems like supporting upgrade, checking for Surface software, and configuring the application to appear in Surface Shell. The sample should meet the applicable Certified for Microsoft Surface requirements.
To build the sample you must have Visual Studio 2008 and Wix 3.0 installed. If you want to reuse the sample make sure you address all the “TODO” comments to customize the sample to your purposes.