views:

69

answers:

2

Hello:

I'm developing a Windows Form application that will typically minimize to the system tray. Being new to .net, what would the easiest approach be for packaging/deplopyment that allows:

  1. The application ensure it puts itself into the startup menu, or something equivalent to this.
  2. Easy updates—like those apps that periodically check for updates. When there is an update to install, it should automatically download it via the internet and install it.

I read that using the ClickOnce/standard deployment approach that ClickOnce won't work because it doesn't support the ability to put the application in the START-UP Menu during installation. Is that true? If so, what should I use?

Thanks.

+2  A: 

An ordinary Windows Installer project would do the trick. All the user needs to know how to do is click Run...Next...Next...Next...Finish.

Choosing Between ClickOnce and Windows Installer
http://msdn.microsoft.com/en-us/library/ms973805.aspx

Windows Installer provides the Start Menu support and easy updating features that you require. It also has the ability to check for updates.

I am less familiar with ClickOnce, but it does have some of the same features. An overview of the feature differences between Windows Installer and ClickOnce is here:
http://msdn.microsoft.com/en-us/library/142dbbz4.aspx

In particular, there are differences in the level of permissions granted to the installer, as well as driver installation and menu shortcut capabilities.

Robert Harvey
+3  A: 

ClickOnce apps can (and automatically are) placed in the start menu. You can optionally have a shortcut placed to them on the desktop as well.

ClickOnce apps cannot be installed in the "system start up" folder; that is, cause them to start when Windows starts. Don't confuse the "start up" folder with the Start Menu.

If you're just starting out with .NET, I'd recommend ClickOnce. It saves lots of installation headaches and automates everything from updates, to start menu shortcuts, to desktop shortcuts, to file associations. It's a decent technology. The deployment couldn't be simpler. In Visual Studio, just click Build->Deploy, specify where you want to deploy to (FTP, network share, etc.) and you're all set.

Judah Himango