Reputation: 21
I have a .net application in c#. I am using SQL Server 2005 as database. I want to create setup for it. I want that when I run setup it automatically installs SQL Server 2005 which I add in prerequisites.
Please help how to create setup...?
Upvotes: 1
Views: 448
Reputation: 3885
You could create a Setup project in Visual Studio. It can create an offline setup, which can include prerrequesites or be configured to download said prerrequesites from an online location when installing the offline setup.
http://msdn.microsoft.com/en-us/library/2kt85ked.aspx
Before going into this, though I would like to share my very bitter experience using SQL Server as a prerrequesite, and why you should really avoid it (whichever deployment system you use, actually).
See, the prerrequesites that are available to your Visual Studio instance depend on a folder present on the same machine where VS is installed: C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages (this is for VS 2010, replace v7.0A with v6.0A for VS 2008, and replace Program Files with Program Files 9x86) if you're on 64 bits).
You can go check it now, you will most likely see a list of folders, called bootstrapper packages, which have this basic structure:
product.xml : an xml file describing the prerrequesite to Visual Studio. This file is the most important one. It lists:
a bunch of executable files (msi, exe): the files needed to install the prerrequesite (there can be none if the product.xml refers to online locations where to get these files).
optionnaly, some folders with a locale name: the localization for your prerrequesite.
Now there are two major categories of issues with this system:
drawbacks of this setup system:
First, the product.xml file is very difficult to build. It will most likely imply you to calculate checksums, create certificates, explore Windows Installer install log files, use a very buggy tool called the Bootstrapper Manifest Generator. You will find yourself googling problems, and the only result will be your own unanswered Stack Overflow question. Trust me, I've been there.
Second, this whole boostrapper thing is litteraly out of (source) control, and an insult to the concepts of team work and continuous integration. Having your project install configuration in Program Files means:
drawbacks of SQL Server as a prerrequesite:
At first sight, the SQL Server install command line seems quite straightforward. You decide the name of the instance, if it's an install or an upgrade, access rights, etc. The thing is, I cannot count the number of issues you will encounter on your path when you actually try that in real life:
If you run the setup manually, it will tell you why. But if you try to do it as prerrequesite, it means that you have to foresee every single configuration issue that could possibly happen. Believe me, you will never see the end of it: there's a reason why the SQL Server Setup is so complex...
Now what could you do?
Upvotes: 0
Reputation: 7705
VisualStudio does have New project -> Other project types -> Setup and Deployment -> Setup Project. As Kendall noted this is a very limited/basic installer solution. However if really all you want to do is have SQL Express as a prerequiste and you app installed then it can manage that (but not much more).
To setup a prerequist:
Note that SQL server 2005 will limit you to an x86 install - if you want a x64 install use SQL Server 2008 Express/full.
Upvotes: 1
Reputation: 44326
The paid versions of Visual Studio come with the ability to create installer packages, however, that feature is miserably lacking and is being removed in VS11. I have used it, and I can say, its not worth using. There are other free deployment tools out there. I recommend Windows Installer XML.
Upvotes: 4