开发者

what are the disadvantages of using ClickOnce Deployment in .Net?

Can someone tell me s开发者_开发知识库ome disadvantages of ClickOnce deployment with respect to other means of deployment?


One significant disadvantage is that ClickOnce only applies to the user who installs it. It is not shared with other users. This may or may not be a problem for your specific use case.

This page (web archive) lists several differences between ClickOnce and standard installs. A more modern doc can be found here:

ClickOnce Security and Deployment


Installation location

All of the program files will be installed in a ClickOnce specific directory, which is cryptic and difficult to locate. I've found this to be a bit of a nuisance from time to time, i.e. if you try to figure out what's going on on a client machine. The approach taken by the Squirrel for Windows framework - installing everything in an AppData directory - would have been much nicer in my opinion.

Client perception

The UI of the setup doesn't look too nice and is not customizable. The user experience might be perceived as shady/untrustworthy, because it doesn't look like a normal installer. I've found clients being irritated by the fact that no admin rights are required for installation. It made them suspect some kind of hack in the setup.

No installation options which require elevated permissions

Obviously, as ClickOnce doesn't require elevated permissions (admin accounts) it can not perform operations which require them. This is why the program cannot be installed for all users on the machine, create HKLM registry entries, etc.. I wouldn't actually call this a disadvantage but it's the downside of providing the advantage of installation without elevated permission.

I would really like and use ClickOnce, if it wasn't for the cryptic installation path and the UI/UX limitations.


ClickOnce also deploys your application as other setup projects, but you'll miss installer UI customisation.


The registration of com dlls is a little bit tricky if you want to install them parallel with other versions of the com dll. (works with Isolated com registration).

You can't refer to specific paths/folders on the client machine, for example config files.


And of course your license will get expired after 1 year. So you have to uninstall and install all clients.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜