“保存”已部署程序的管理员权限

“Save” admin privileges for deployed program

我编写了一个使用某些文件 reading/writing 的程序。 然后部署,并安装在我的电脑上。问题是,如果我不以管理员身份 运行 程序,它就不会“获得”对 folder/files 的访问权限。如果我在清单文件中设置程序为“requireAdministrator”设置,UAC总是提示我给它权限。

我尝试 运行 没有清单设置的程序(设置为 asInvoker),并在安装后设置 folder/files 安全设置以授予用户与管理员相同的权限。结果:工作得很好。

更多“可接受”的解决方案:

1: 我想“保存”管理设置,没有持续的 uac 提示。 (用户只安装程序会更方便,而不是深入文件夹设置和更改安全属性。)

2:运行 安装后用于为用户设置文件夹设置的脚本(并将清单设置为 Invoker)。

3:还有其他想法吗? :-D

不幸的是,这意味着让应用程序能够规避 UAC 授权的需要,并且根据设计,UAC 无法以这种方式绕过。

我的一个项目也遇到了类似的问题。这是设计使然,您能想象是否有任何可执行文件具有管理员级别 read/writes? WinXP 'fun' 重新来过。

A​​ 'lazy' 解决方法:我刚刚将它安装到 C:\Users\(user)\(program) 文件夹并为所有内容使用相对路径。您可以指示您的安装程序在默认情况下将您的应用程序安装在那里。只要您真的不需要其他任何东西的管理员权限,就应该没问题。我相信 Visual Studio Code 也有一个构建可以做到这一点,所以它并非闻所未闻。

一个不那么懒惰的解决方法:使用 AppData or Documents 个文件夹中的一个文件夹来 read/write 您的所有数据文件。

祝你好运:)