• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 370
  • Last Modified:

Deploying c# wind app to the client server?


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?
1 Solution
Jacques Bourgeois (James Burger)PresidentCommented:
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.
dkim18Author Commented:
THanks so much for your explanation.
I read online for some tof these but yours helped a lot.


Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now