How do we create an installer than doesn't require administrator permissions?

时光毁灭记忆、已成空白 提交于 2019-12-01 04:45:42

ClickOnce is a good solution to this problem. If you go to Project Properties > Publish, you can setup settings for this. In particular, "Install Mode and Settings" is good to look at:

  • The application is available online only -- this is effectively a "run once" application
  • The application is avaiable offline as well (launchable from Start Menu) -- this installs the app on the PC

You don't actually have to use the ClickOnce web deployment stuff. If you do a Build > Publish, and then zip up the contents of the publish\ folder, you can effectively distribute that as an installer. To make it even smoother, create a self-extracting archive from the folder that automatically runs the setup.exe file.

Even if you install this way, if you opt to use it, the online update will still work for the application. All you have to do is put the ClickOnce files online, and put the URL in the project's Publish properties page.

Vista is more restrictive about this kind of thing, so if you can't do it for XP you can bet Vista won't let you either.

You are right that installing to the program files folder using windows installer requires administrative permissions. In fact, all write access to that folder requires admin permsissions, which is why you should no longer store your data in the same folder as your executable.

Fortunately, if you're using .Net you can use ClickOnce deployment instead of an msi, which should allow you to install to a folder in each user's profile without requiring admin permissions.

The only way that I know of to do this is to build a ClickOnce application in .NET 2.0+

If the user of your application has the correct pre-requsits installed then the application can just be "launched".

Check out:

IF UAC is enabled, you couldn't write to Program Files. Installing to \AppData will indeed only install the program for one user.

However, you must note that any configuration changes that require changes to the registry probably(I'd have to double check on that) administrator privilege. Off the top of my head modifications to the desktop background are ultimately stored in HKEY_CURRENT_USER.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!