Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > Best way to deploy Windows Forms app to multiple computers
 

Best way to deploy Windows Forms app to multiple computers

I am developing a server based software. The clients that connect will be smart clients.

I would like to be able to install the software on the server, and then easily deploy the software from the server to computers on the network.

If I am correct, ClickOnce deployment won't work because the clients will need to write registry entries to the pc.

What would be the best way about getting this done? And is it possible that the network not be on a domain?

Thanks

Melt16  Wednesday, May 24, 2006 10:24 AM

Hi,

ClickOnce is still a candidate for your application I think. You have two options:

- let your users click on a popup to allow the clickonce application to perform certain actions that require elevated privileges (this is triggered automatically, but the user is warned of a security risk and has to click 'OK')
- make your application a 'trusted' one and make sure every pc on which it is deployed knows that it is trusted

See this article for more info: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/ClickOnceSec.asp

Another possibility is to create an msi package for your app(either with VS setup project, WiX or a commercial product like installshield) and deploy that package to your pc's using AD group policy or a more robust tool like Microsoft SMS.

cheers,
Stephane

Stephane Tombeur  Wednesday, May 24, 2006 2:52 PM

Am I correct in saying though that ClickOnce does not support Registry Entries?

I need my app to write some registry entries, as well as install a 3rd party database as well.

Does the distribution through AD Group Policy only apply to ClickOnce, or can I use Installshield for this as well.

Melt16  Saturday, June 17, 2006 7:08 PM

Hi,

<edit> I wasn't exactly clear in the previous post, I see now. A typical scenario I would use would be:

- deploy the app with clickonce
- sign the app with a strong name
- create a certificate that allows all code signed with your key to at least write to the registry
- distribute the certificate through SMS or AD group policy

<edit>

generally speaking, clickonce apps do not have enough rights to write to registry. You can either sign your app and distribute a certificate like described above to give all code with that signature the rights you need, or you could declare that your clickonce app needs those rights in your vs project (there's a wizard that can do this for you), but then the user would get a pop-up asking for confirmation that the app gets these rights. In the latter case, if your user clicks 'no', you won't be able to write to the registry. Your user will get this pop-up everytime, I think.

So, clickonce CAN write to the registry, but only if you allow it to. And that needs to be done either at the enterprise level (distributing the cert) or at the user level (allowing the untrusted application to do this, which I wouldn't advise).

 

Stephane

Stephane Tombeur  Monday, June 19, 2006 1:28 PM

You can use google to search for other answers

Custom Search

More Threads

• Return values of EnableDotNet.exe
• 'Back' Button gets disabled on the Installation Folder dialog
• Custom program icon in the start menu?
• Live Update
• publishversion vs productversion
• Accepting serial number in uppercase
• InstallAllUsers question
• Deployment Windows Application over Domain Controlled Restricted User
• Deploying Crystal in VS 2005 beta
• How can i trace and download whole web site ?