|
| ClickOnce
| Windows Installer (MSI)
|
| Prerequisites
| ClickOnce requires that version 2.0 of the .NET framework is already installed on the target machine. You can use an old-fashioned bootstrapper exe to ensure this. If your application requires runtime packages such as MDAC, MSDE etc. on the target computer again you must use a bootstrapper exe to install them. This cannot be achieved with ClickOnce.
| The MSI runtime is required on the target computer. You can use a bootstrapper exe to install it. The current Windows versions already include the MSI runtime. If your application requires runtime packages such as MDAC, MSDE etc. on the target computer, it's often a good idea to use a bootstrapper exe to install them, although in some cases it's possible to install them using a custom action inside your MSI setup.
|
| User input
| Installing an application via ClickOnce requires two clicks: a click on a hyperlink to launch the install, and clicking Yes on the confirmation dialog. The rest of the UI is a progress bar. There is no way to collect input from the user. Any personalization has to be done inside the application, e.g. on first run.
| Typically displays a wizard sequence where users can enter a user name and serial number, select features and installation directory, etc. If you run a MSI setup in BasicUI mode you get a user experience that's somewhat similar to ClickOnce.
|
| Per-user and per-machine installations
| ClickOnce installations are always for the current user only. Per-machine installations are impossible. If multiple users on a machine install the same software you end up with multiple copies of your application files.
| You can specify per-user installations and per-machine installations that are available to all users on the system.
|
| Installation directory
| You application files will always be copied to the My Applications folder under the user's My Documents folder.
| You can specify the installation directory for your application files at design time or at run time.
|
| Shortcuts
| A shortcut to your application will be placed in the Start menu under Programs > Your Company Name. This is not customizable. You cannot create shortcuts on the desktop.
| You can create as many shortcuts as you need in any place you wish, including the Start menu and the desktop.
|
| Target computer modifications
| Besides copying the application files and creating a Start menu shortcut ClickOnce installations cannot modify the target computer.
| Can create and modify files, registry entries etc. on the target computer, only limited by access permissions set by the administrator.
|
| Application isolation
| ClickOnce applications are isolated from each other and the operating system. A ClickOnce setup cannot damage the target computer.
| Replacing system files and modifying registry entries can cause all sorts of problems on the target computer ("DLL Hell").
|
| Update installation
| ClickOnce can automatically detect when a newer version of your application is available and download and install the update. Only the modified files are downloaded, but always complete files, not parts of files.
| Detecting available updates requires additional tools, this is not built into MSI. Patches can include either modified files in whole, or only the changed parts of a file (binary difference) which may result in a smaller download.
|
| Manageability
| ClickOnce applications (and updates) are published simply by posting them on the web or file server. There is no method to push them to clients during off work hours and there are no inventory or other management functions built in.
| MSI packages work nicely with management and deployment tools such as Active Directory and SMS. |