我已经创建了一个 Windows 窗体应用程序,它具有一些功能。问题是当我部署应用程序时:
- 如果我使用 ClickOnce 进行部署,那么一切正常。安装后,winforms 应用程序无需管理员密码即可运行。
- 如果我使用 Visual Studio 安装项目进行部署并创建 MSI 设置,则安装后每次运行时都需要管理员密码。
我想使用 Visual Studio Setup Project(MSI) 进行部署,但不希望软件要求提升权限。
MSI 安装不要求输入密码,但安装的程序会要求输入密码。
我已经创建了一个 Windows 窗体应用程序,它具有一些功能。问题是当我部署应用程序时:
我想使用 Visual Studio Setup Project(MSI) 进行部署,但不希望软件要求提升权限。
MSI 安装不要求输入密码,但安装的程序会要求输入密码。
基本上,您需要编辑(或添加,如果您还没有)一个 app.manifest 文件,然后使用 requestedExecutionLevel 来订购所需的执行上下文。
在MSDN中阅读有关它的更多信息
您需要在应用程序中创建和嵌入应用程序清单 (UAC),如此处所述。如果您不想这样做,ClickOnce 可能是一个解决方案。
MSDN 有一些关于这个主题的有用信息,特别是:
对用户计算机的影响。使用 Windows Installer 部署时,应用程序通常依赖于共享组件,可能会发生版本冲突;使用 ClickOnce 部署,每个应用程序都是独立的,不会干扰其他应用程序。
安全权限。Windows Installer 部署需要管理权限并且只允许有限的用户安装; ClickOnce 部署使非管理用户能够安装并仅授予应用程序所需的代码访问安全权限。