Improve company productivity with a Business Account.Sign Up


Deploying c# wind app to the client server?

Posted on 2011-09-24
Medium Priority
Last Modified: 2013-12-17

I remember creating set up file to install VB win app to the client's machines.
It created a start up exe in the start menu and uninstall exe.

I have very small visual C# win app I have to give it to the client and the admin of the client site will install the app on the server.
A whil back I distribute the vb exe file and installed on the client's machines.
But this can't be done any more due to the security lock down.
1) Should I go with the clickonce or windows MSI?
When I tested the clickonce, it install in the startmenu
2) How can I tell where to install?
3) Also it didn't include the uninstall exe? How can I create that also?
4)in the property of the project in VS, it requires me to sign security and application.
Why is that required? It also create a pfx key.
5) I have to write up the install manual. Does the admin of the server at the client site require to do something?
I read some where the admin has to sign it.
What does this mean? (signing) Why does the developer sign and the admin of the server sign?

I googled and read a few deployment tutorial. The most of them pretty much same.
What will be steps to deploy this app to the client's server?
Question by:dkim18
LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 2000 total points
ID: 36594277
1) ClickOnce as one big advantage over the msi: automatic update. If you have to provide regular updates, the application will update automatically everytime you publish a new version.

2) ClickOnce as one big disadvantage, you cannot select the install directory, it is managed automatically by ClickOnce, in order to be able to provide the rollback feature that is built-in, should an update be defective.

3) ClickOnce does not provide an uninstall exe, it install the application so that the user can uninstall by the standard and recommended way in Windows, through the Control Panel. This is also where you will find the rollback feature mentioned in 2.

4) Signing is no longer required if you target version 3.5SP1 or 4.0 on a standard computer. It might still be required for installation on a server however, this is somethings I did not have the "pleasure" to check.

5) The signature is a security feature. It insures that when the application auto-update, the update comes from the same development team or developer. Signing is simply a way to digitally tag your application in order for the system to be able to identify it by something else thant it's name. The .pfx file you mentioned is used by the compiler when creating the application. Once an application is signed, the framework will start identifying it not only by it's name, but by a combination of it's name, version, language and signature. That means that the system will be able to make the difference between the foo.exe that you did, and the foo.exe that I do. We would not have the same .pfx, so not the same signature.

As for the admin having to "sign it", I am not sure what you mean. He might have to log in, that is gives his password for some operations, the he has nothing to sign. And usually, this is not required by ClickOnce. Special settings on the server could change that requirement however.

The steps to deploy a .msi are the same as before.

The steps to deploy ClickOnce are very easy. When you create a ClickOnce installation, it creates both an html page and a Setup.exe. Usually, you send the package to a web site or the company Intranet. It could be a directory somewhere however, and you could copy the installation package on any medium. You specify where you want to publish while preparing the ClickOnce installation. The user simply open the web page, and there is a button to install. He can also simply double-click on the Setup.exe file. That is all there is.

If the publication was done somewhere that is visible for the application (that is the force of ClickOnce and why a web site is the preferred method of distribution), the application will, by default check for a new update everytime it starts. If it finds an update at the installation location, it will tell the user and automatically install the update.

Author Comment

ID: 36595101
THanks so much for your explanation.
I read online for some tof these but yours helped a lot.


Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that undeā€¦
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

595 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question