Turn your Mobile Apps into m-commerce apps – Learn More!

You're Browsing As A Guest! Register Now...
Become a C# Expert!

Join 416,736 C# Programmers for FREE! Get instant access to thousands of C# experts, tutorials, code snippets, and more! There are 2,927 people online right now.Registration is fast and FREE... Join Now!



  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • Reply Reply

Deploying a C# application (Visual Studio Setup Project) How to deploy a C# application using Visual Studio Setup Project.

#1 PixelCard  Icon User is offline

  • D.I.C Head
  • Icon

Reputation: 18
  • View blog
  • Posts: 139
  • Joined: 20-June 08


Dream Kudos: 650

Share |

Deploying a C# application (Visual Studio Setup Project)

Posted 19 July 2008 - 07:40 AM

*
POPULAR

In this tutorial I will show how to deploy a C# application using a standard Visual Studio Setup Project.

Any application must be somehow provided to the end-user. If the application is very small and is composed of a single executable, it can be deployed by just providing the executable to the end user. In our situation, the application has many dependencies, that can or cannot be present on the client machine, so we need to create a setup project, that will install the needed dependencies and the application itself.

Special Tutorial Requirements:
  • Microsoft Visual Studio 2008 ('Setup and Deployment' projects are not available in Express editions)

Let's start.

1. First of all we need to open a C# project/solution (or any other project/solution you have made using one of the programming languages included in Visual Studio). Use 'File -> Open -> Project/Solution' (or Ctrl+Shift+O):

Posted Image

Posted Image

2. After opening a C# project/solution you will get something like this:

Posted Image

3. Now you have to add a setup project to the current solution. Use 'File -> Add -> New Project...':

Posted Image

4. In the 'Project types' list, go to 'Other Projects -> Setup and Deployment' and select the 'Setup Wizard' template:

Posted Image

As you see there are many 'Setup and Deployment' project types and you can create just a blank setup project and customize it by yourself, but in this tutorial I will show how to use the wizard, which is a little bit easier for beginners.

5. Now let's take a deeper look at the wizard.

The wizard is composed of 5 general steps:

Step #1: Initialization

Posted Image

This step is a 'welcome message'.

Step #2: Project Type

Posted Image

In this window you have to select the setup project type. You have four options:

To create a setup program to install an application:
  • Create a setup for a Windows application
  • Create a setup for a web application


To create a redistributable package:
  • Create a merge module for Windows Installer
  • Create a downloadable CAB file

I will use the 'Create a setup for a Windows application', as my C# project is a Windows application.

Step #3: Project Outputs

Posted Image

Here you must select the project outputs you wish to include in your installation package. For my project I select only 'Primary output', which includes the application DLL or EXE.

Posted Image

Step #4: Files to include

Posted Image

Here you have the opportunity to add additional files, like guides, HTML pages or just a ReadMe file. I will add just a ReadMe file:

Posted Image

Step #5: Confirmation

Posted Image

Here you can see the settings for the project that will be created. If you find a mistake or something, you can easily go back and change a specific setting.

6. If the project was successfully created, you will see this:

Posted Image

7. Now you can customize the setup project properties. To access the project properties grid, click on Setup1 project in the 'Solution Explorer' window:

Here are the properties and a short explanation of what they do:

AddRemoveProgramsIcon - Specifies an icon to be diplayed in the Add/Remove Programs dialog.
Author - Specifies the name of the author of an application or component.
Description - Specifies a free-form description for an installer.
DetectNewerInstalledVersion - Specifies whether to check for newer versions of an application on the user's computer.
InstallAllUsers - Specifies whether the package is installed for all users or only the current user.
Keywords - Specifies keywords used to search for an installer.
Localization - Specifies the locale for string resources and the run-time user interface.
Manufacturer - Specifies the name of the manufacturer of an application or component.
ManufacturerUrl - Specifies a URL for a Web site containing information about the manufacturer of an application or component.
PostBuildEvent - Specifies any commands to execute after the build ends.
PreBuildEvent - Specifies any commands to execute before the build starts.
ProductCode - Specifies a unique identifier for an application.
ProductName - Specifies a public name that describes an application or component.
RemovePreviousVersions - Specifies whether an installer will remove previous versions of an application or component.
RunPostBuildEvent - Specifies the condition under which the post-build event runs.
SearchPath - Specifies the path that is used to search for assemblies, files or merge modules on the development computer.
Subject - Specifies additional information describing an application or component.
SupportPhone - Specifies a phone number for support information for an application or component.
SupportUrl - Specifies a URL for a Web site containing support information for an application or component.
TargetPlatform - Specifies the target platform of the installer.
Title - Specifies the title of an installer.
UpgradeCode - Specifies a shared identifier that represents multiple versions of an application or component.
Version - Specifies the version number of an installer, merge module, or .cab file.

8. You can also specify what folders to create on the desktop and in the Start menu:

Posted Image

9. You can also customize the entries that will be added to the registry:

Posted Image

Posted Image

10. You can also customize the file types on the target machine:

Posted Image

Posted Image

11. You can also customize the user interface of the installer:

Posted Image

Posted Image

You can add additional dialogs:

Posted Image

12. You can also customize the custom actions:

Posted Image

Posted Image

13. You can also customize the launch conditions:

Posted Image

Posted Image

14. When you're done with project customizations, build the project (right click on 'Setup1', then select the 'Build' option):

Posted Image

Now you've got a new installation package for your application or component.

This tutorial showed the basics of creating a setup project, so now you can easily deploy your applications to the end-user.
Was This Post Helpful? 7
  • +
  • -


#2 avi123  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 21-October 08


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 17 November 2008 - 01:12 AM

Hi,
I want to add flash player setup along with .net application.
how to do ut.
Thank you,
avinash
Was This Post Helpful? 0
  • +
  • -

#3 laxman4dc  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 25-February 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 25 February 2009 - 05:11 AM

Hi,

We could add Flash files as we do other files, however my concern is I want to put restriction on direct running of programs from programfiles folder where deployed files have been copied after setup or installation. I.e. I dont want user to copy my files from program files and paste it on another machine and run my flash files which we can consider as piracy or multiplying users with the cost of only one! Could you please help me on this?

Thanks
Laxman.
Was This Post Helpful? 0
  • +
  • -

#4 Jamesearoney  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 13
  • Joined: 08-March 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 10 March 2009 - 11:43 AM

Hi, nice tutorial, but have you got a download link for the application, or do you have to buy it?
Was This Post Helpful? 0
  • +
  • -

#5 versatile36  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 28
  • Joined: 01-October 08


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 11 March 2009 - 02:16 AM

View PostJamesearoney, on 10 Mar, 2009 - 11:43 AM, said:

Hi, nice tutorial, but have you got a download link for the application, or do you have to buy it?


this is not an APP, do it with Visual Studio ..
Was This Post Helpful? 0
  • +
  • -

#6 BigPhill  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 1
  • View blog
  • Posts: 1
  • Joined: 28-May 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 28 May 2009 - 05:11 AM

Good morning friend!
I follow the tutorial and works exactly how you said... but I have a question... how can I make the .NetFramework be installed direct from my application cd, instead download from microsoft?
Was This Post Helpful? 1
  • +
  • -

#7 papuccino1  Icon User is offline

  • His name was Robert Paulson.
  • Icon

Reputation: 55
  • View blog
  • Posts: 1,121
  • Joined: 02-March 08


Dream Kudos: 100

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 12 June 2009 - 05:34 PM

Great tutorial. I'll be sure to follow this when making an installer for my future softwares.

Thanks!
Was This Post Helpful? 0
  • +
  • -

#8 netstruc65  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 09-July 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 09 July 2009 - 02:08 PM

Can you configure the project so that everytime the application starts it will check for a newer version, similar to a click once deployment?
Was This Post Helpful? 0
  • +
  • -

#9 kekranx  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 26-August 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 26 August 2009 - 05:35 AM

I'm trying to add a custom Form in my Setup Project. First, I referenced the Form project output in my setup project, then added this ouput to the customAction Install. But I never see the form when I execute my setup project. I tried to wrap the form in a custom class derived from Installer. then done with the wrapper class the same thing I did with the form. Same result. I must have missed something like setting a property in my setup project or maybe an attribute in my my class derived from Installer.
It seems to me like a very common requirement so if somebody could give me a hint.
I found the answer there : http://msdn.microsof...z2d(VS.80).aspx
but it's rather odd (to say the less) that the project output must be in the Install and the Commit custom action to be activated
And you must add [RunInstaller(true)] attribute to your Installer derived class

This post has been edited by kekranx: 26 August 2009 - 06:25 AM

Was This Post Helpful? 0
  • +
  • -

#10 Deadlocked  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 29-September 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 29 September 2009 - 09:53 AM

Any chance you would reupload the images.

I cant see them.

Cheerss
Was This Post Helpful? 0
  • +
  • -

#11 Martyr2  Icon User is offline

  • Programming Theoretician
  • Icon

Reputation: 1439
  • View blog
  • Posts: 8,320
  • Joined: 18-April 07


Dream Kudos: 0

Expert In: C/C++, Java, VB, VB.NET, C#, PHP, Web Development, HTML & CSS, Javascript

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 29 October 2009 - 06:20 PM

View PostDeadlocked, on 29 Sep, 2009 - 09:53 AM, said:

Any chance you would reupload the images.

I cant see them.

Cheerss


There must be something wrong with your browser then, these images appear just fine. They are standard .jpg files.
Was This Post Helpful? 0
  • +
  • -

#12 cmelchior  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 19-November 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 19 November 2009 - 06:18 PM

I'm sorry I cannot see the images either...not in IE, Chrome, or Firefox. The only image I can see is in Step 5 "Step #2".

Your tutorial looks very helpful to me but the images would really help
:-)

Thanks!
Was This Post Helpful? 0
  • +
  • -

#13 riscy00  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 29-November 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 29 November 2009 - 12:27 PM

This is very good presentation, I would like to ask how to

(a) Install application icon to replace the generic icon (the one that goes to explorer window and other that goes to window taskbar?
(B) How to make it to create shortcuts?
© How to make it list program with in the program list of the start button (bottom LHS of the window explorer)

Much appericated.
Was This Post Helpful? 0
  • +
  • -

#14 Daniel Joseph  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 05-January 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 04 December 2009 - 10:26 PM

the explanation was useful...in case if i want another setup to be installed for example if i want mysql to be installed while installing my appliction what should i have to do..thank you
Was This Post Helpful? 0
  • +
  • -

#15 riscy00  Icon User is offline

  • New D.I.C Head
  • Pip

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 29-November 09


Dream Kudos: 0

Re: Deploying a C# application (Visual Studio Setup Project)

Posted 16 January 2010 - 01:02 AM

Hi this is very good tutorial

How to setup something that allow to create short cuts to window and start menu?

Can you make this practical (with picture, youtube whatever) so I can see how this is done.

Thanks

Riscy00
Was This Post Helpful? 0
  • +
  • -

  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • Reply Reply


Fast Reply

  

14 User(s) are reading this topic
0 members, 14 guests, 0 anonymous users