Do you know whether you should use Click Once or MSI?

Updated by Igor Goldobin 1 year ago. See history

123
<introEmbed body={<> 1. Check the following table whether ClickOnce is suit for your application.\ This table compares the features of ClickOnce deployment with Windows Installer deployment. Read [ClickOnce Deployment Overview](https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-security-and-deployment?WT.mc_id=ES-MVP-33518) for more details </>} />
FeatureClickOnceWindows Installer
Automatic update<sup>1</sup>YesYes
Post-installation rollback<sup>2</sup>YesNo
Update from WebYesNo
Does not affect shared components or other applicationsYesNo
Security permissions grantedGrants only permissions necessary for the application (more safe)Grants Full Trust by default (less safe)
Security permissions requiredInternet or Intranet Zone (Full Trust for CD-ROM installation)Administrator
Application and deployment manifest signingYesNo
Installation-time user interfaceSingle promptMultipart Wizard
Installation of assemblies on demandYesNo
Installation of shared filesNoYes
Installation of driversNoYes (with custom actions)
Installation to Global Assembly CacheNoYes
Installation for multiple usersNoYes
Add application to Start menuYesYes
Add application to Startup groupNoYes
Add application to Favorites menuNoYes
Register file typesNoYes
Install time registry access<sup>3</sup>LimitedYes
Binary file patchingNoYes
Application installation locationClickOnce application cacheProgram Files folder

Notes

  1. With Windows Installer, you must implement programmatic updates in the application code.
  2. With ClickOnce, rollback is available in Add or Remove Programs.
  3. ClickOnce deployment can access HKEY_LOCAL_MACHINE (HKLM) only with Full Trust permission.

For more information, see Choosing a Deployment Strategy.

  1. Customize the Installation of the Application, including: Publish location, installation url, install mode, publish version, Download files on demand, Prerequisites, Updates, Options.
Image

Figure: Publish tab of the application properties

  1. Specify the code access security permissions that the application requires in order to run.
Image

Figure: Security tab of the application properties

  1. Deploy the COM Components. Read Deploying COM Components with ClickOnce for more informations.
  2. Publish the application using Publish Wizard.
Image

Figure: ClickOnce Publish Wizard

Acknowledgements

Adam Cogan
Related rules

Need help?

SSW Consulting has over 30 years of experience developing awesome software solutions.

We open source.Loving SSW Rules? Star us on GitHub. Star