This project has moved and is read-only. For the latest updates, please go here.

A Few Noob Questions

Aug 25, 2010 at 4:37 AM

I've been reviewing the Guidance and I must say I'm really impressed with the level of quality and the technical depth. Nice Job!

However I do have a few questions that are causing me to scratch my head. [You guys are way way smarter than me so please excuse my noob questions.]

1)Which virtual machine should we be using with the guidance? [I see HOL machine referenced throughout the this something we build or is there a prefab VM somewhere? If there isn't a prefab VM could you guys possible just release a backed up TPC for us to attach to our TFS server to get started?]

2) Why was the adventure works database chosen and are there any known web site projects that work with the adventureworks database? I'd love to extend/include in the guidance the proper way to deploy a website at the same time the database is being deployed. [This potentially could work with the creation of a WIX MSI for the website.] We develop both our website and database together and it'd be nice to connect the dots between the application development effort and the data development efforts.

3) Are there any planned screen casts for walking through the solution/hands on lab. The doc is great (really great)'s just a little too easy to get lost in the woods and not see the forest through the trees. The doc give me the HOW on getting all of this working....I just wish the guidance had more depth on the WHY...WHY should we go about it the way the document states. I'd love to see a deeper user story setting up the problem domain and approach behind each technical solution.

4) In the Team Build integration section on page 133 I don't see the generated .MSI being created. Isn't the .MSI supposed to be created as part of the team build process?

5)More importantly I was expecting to see the Team Build section of the document explain how to automatically deploy the MSI (unistall the previous version of the database (possible just revert the previous schema)) and then update the database with the new version from source control.

6) I see the document discusses deployment using VSDBCMD...but the document also outlines on page 96 - "Although VsDbCmd will let you control the server that you are deploying to, DO NOT deploy to any server other than localhost". It feels like there's an internal disconnect within the I use VSDBCMD do to the deployment to remote servers (and if that's the case how do I automatically deploy as part of my team build?, and secondly if I'm going to be using VSDBCMD why in the world would I go through the pain of using authoring a WIX .msi? If on the other hand the recommendation is to use WIX then how to I deploy, is there some hybred WIX + VSDBCMD combination that I'm missing for deployment?

Aug 25, 2010 at 4:07 PM
Edited Aug 25, 2010 at 4:08 PM

I will answer question (1) and leave the others to the Database guidance team :)

You can use any virtual or physical machine that meets the prerquisites as outlined in the hands-on-lab (HOL) documents.  The downloads contain a HOL environment package (, which you unzip to c:\ and then run the setup PowerShell script as per the README file. It creates the necessary environment, such as a team project, workspacxe mapping and checkin in of the sample code.

If you are looking for a pre-made VM on the poublic domain, I recommend visiting Brian Keller's blog post ( and then applying the HOL package. Within Microsoft and the Visual Studio ALM Rangers you can also use the VMFactory generated Rangers base HOL images.

The backed up TPC idea is a good one and we will consider it for future releases.

Sep 4, 2010 at 4:32 PM

Willy, thank you for your answer on the first question.

I haven't heard any feedback from the rangers on my other questions and I hope my other questions haven't fallen on deaf ears...or if you guys are having internal discussions/email threads I'd love to have the discussion shared here on codeplex for my benefits and the benefit of others.

I'm really looking for guidance on the whole WiX MSI versus VSDBCMD deployment area.



Sep 6, 2010 at 7:50 AM

I can answer part of question 6 and how to use WiX. The guidance describes using WiX to invoke VSDBCMD. You create the MSI to include the VSDBCMD redistributables and the artifacts it requires. The MSI then installs the VSDBCMD redistributables and runs them against the artifacts to install/update the database. There is a Hands On Lab which gives an example of doing this. If your question is about why use Windows Installer instead of just plain VSDBCMD, the guidance does mention the advantages of using Windows Installer, look for the heading "Automating Database deployments using VSDBCMD and WiX".



Sep 6, 2010 at 10:01 AM

Hi Allen,

I actually responded you at 24th August via Codeplex mail (Private message). I responded with a couple of questions to clarify, before I wanted to send out the public / official post with the answers.

Anyway, this is what I sent you:

1) I forwarded question 1 to our internal list. These HOL are used in Labs were an appropiate image is available. Every scenario should be able to be done with an Image running VS2010, beside the one with the TFS integration like Branching.

2) Good idea, I will track that to include it in a next update to the guidance. What scenarios would you prefer to see, Windows applications / web applications ? How do you deploy your web application in the current process ?

3) Got your point here. Is there any priorization you would like to have in the scenarios ?

4) The target for the "normal" build of a database project are the artifacts you see here. If you want to have a MSI packages, you would need to target the .sln / project file containing the WiX package. In this secenario we are targetting the dbproj solution only. Good feedback though to also include that as well.

5) I think that comes along with 4)

6) We might have to rephrase that. This is only bound to the MSI deployment along with the VSDBCMD. If you install the MSI package on Server A while deploying to Database B (in this case without any Web Server deployment) you will have the reference / entry of the MSI on Server A, although this is totally unrelated to the database Server B. This might bring back orphaned MSI installtions if database are moved around. In addition if e.g. doing backups it is hard to figure out the available backup location on the remote server as backups are always done on the database server and also placed there (unless you use a UNC path).That is why we instructed you to not use the remote installation. Maybe we have to refine that along with the web server deployment.

I got really good feedback and wishes for an upcoming version of the document. As we most possible cannot put in every scenario that is on the list due to time constraints, I try to get a priority list with the topics in order to pick up the most common scenarios people are interested in.

Appreciate you feedback, let´s stay in contact...


Jan 9, 2011 at 10:15 PM

Is there any ideas about a schedule for the next refresh/update to the documentation. Is there a list of ongoing activities of what's being worked on? I'd love to help out if there is an effort underway.



Jan 11, 2011 at 12:02 AM

Hi Allen,

can you send me a EMail to and I will set you on the list for contributors. If you have additional suggestions for upcoming new chapters, feel free to send them along.