I originally posted this here:
One of the moderators suggested I post this issue here as well.
Why is it that in 2010, developing and deploying applications with Microsoft's latest tools is an exercise in complete frustration? I developed database applications for years using Microsoft's Visual FoxPro, and application deployment was NEVER the MESS it is now! In fact, deployment was always the least of my worries. I could concentrate on programming great applications! Now I cannot for the life of me find a seamless solution for my customers using Microsoft products. Where, I ask, is the progress?
Case in point - SQL Server 2008 R2 Express as the database for a Visual Basic 2010 application. Many new and exciting features that would entice anyone to use 2008 R2 rather than 2008 SP1 or SQL Server Compact. For example, 2008 R2 supports larger Express database sizes (up to 10GB from 4), has streamlined the gui installation with "fewer clicks", and, unlike SQL Server Compact Edition, it supports "Views" (as did earlier versions of SQL Server Express).
Want to deploy SQL Server 2008 R2 Express as part of your VB 2010 application with a seamless installation experience for your customers? Want to sell your application on a DVD to your customers, confident they will have a great "out of the box" experience with your product. Want to avoid having to personally visit each customer to diagnose installation errors? Forget about it!
According to Microsoft, the release date for SQL Server 2008 R2 was rather "unfortunate". (This is a direct quote from Microsoft's Program Manager for SQL Server Express) You see, Microsoft only creates bootstrapper packages in Visual Studio for versions of SQL Server shipping at the time of release. Its just the "policy". Visual Studio 2010 was released on April 12, 2010. SQL Server 2008 R2 in May. A matter of days. Too bad, so sad. Forget about including SQL Server 2008 R2 in a "Click Once" Visual Studio 2010 application setup routine. Ignore all the marketing hype about new features in 2008 R2. Please just use the OLD SQL Server 2008 SP1. Or, better yet, don't use the full product at all. Maybe try the Compact edition. Who needs something as advanced as "Views" anyhow? Sure, you've had views in Visual Foxpro since the mid 90's, but you won't miss them!
So, my question is this. What database engine does Microsoft encourage developers to include and distribute with their applications? Clearly its not SQL Server 2008 R2. Why bother with this release in the first place if support is going to be half-hearted? And yes, I know there are command line options as long as an encyclopedia that I could muddle through. Why, why, WHY?? Its 2010. These are the LATEST development and database tools available. And yet there is NO way to SIMPLY include SQL Server 2008 R2 with my application?? What am I missing here? Somebody at Microsoft. Please. FIX THIS! Seriously. This is progress?