ClickOnce is still an amazing technology. It takes care of a large amount of heavy lifting from your side, but takes away some customizations that you can use with the Windows Installer.
Directly from the words of MS, ClickOnce overcomes three issues in deployment:
Difficulties in updating applications. With Microsoft Windows Installer deployment, whenever an application is updated, the user must reinstall the entire application; with ClickOnce deployment, you can provide updates automatically. Only those portions of the application that have changed are downloaded, then the full, updated application is reinstalled from a new side-by-side folder.
Impact to the user's computer. With Windows Installer deployment, applications often rely on shared components, with the potential for versioning conflicts; with ClickOnce deployment, each application is self-contained and cannot interfere with other applications.
Security permissions. Windows Installer deployment requires administrative permissions and allows only limited user installation; ClickOnce deployment allows non-administrative users to install and grants only those Code Access Security permissions necessary for the application.
I recommend giving this a thorough read: MSDN - ClickOnce Deployment. Also, if it's good enough for Google (Chrome), it's good enough for most of us ;)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…