在用Wix工具制作应用程序安装包后,把安装包放在虚拟机上,安装路径选择C盘,会发现安装成功后,并不能双击打开应用程序,而是需要右键点击“以管理员身份运行”,才可以运行软件。 这是因为我们在制作安装包时,Visual Studio 并没有自动触发UAC(用户账户控制)提示并请求提升权限。(一开始还以为安装包的问题,各种尝试,后来请教了大神才知道原因)
UAC介绍
UAC(User Account Control)是Windows操作系统中的一种安全功能,旨在提高系统的安全性和用户的安全意识。它于Windows Vista中首次引入,并在后续版本中得到了继续改进和加强。
UAC的主要目的是限制标准用户对系统的更改,防止恶意软件以及未经授权的操作对系统造成损害。通过UAC,用户在执行需要管理员权限的操作时,会收到一个弹出窗口,称为UAC提示框,询问用户是否允许进行该操作。
如何添加UAC自启功能
在Visual Studio 2019中,可以通过以下步骤设置UAC(用户账户控制):
- 打开Visual Studio 2019,并打开项目。
- 右键单击您的项目,选择“属性”选项。
- 在“属性”窗口中,选择“安全性”选项卡。
- 在“安全性”选项卡中,找到“启用ClickOnce安全设置”选项,勾选上。然后再选中“这是完全可信的应用程序”,之后保存设置。
- 保存后在项目Properties->会出现一本新的文件app.manifest,如图
然后,取消“启用ClickOnce安全设置”勾选,不然会报错。
- 打开“app.manifest”文件,修改标签“requestedExecutionLevel”。修改成requireAdministrator.
- 保存并重新编译项目,生成的程序就是以管理员权限运行。安装的软件会出现一个小盾牌,这时,再双击安装程序会启动UAC提示功能,就不用右键管理员运行了。 以上,仅供参考,具体问题还要具体分析。