首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提升Windows 7下的权限

提升Windows 7下的权限
EN

Stack Overflow用户
提问于 2011-05-26 06:20:50
回答 3查看 3.6K关注 0票数 13

我有一个在Windows XP下运行多年的“自动升级”机制,它在Windows 7下失败了,因为没有提示用户(在Windows XP下从未出现过)授予程序以管理员权限运行的权限。

win32程序(用Borland Delphi编写)使用LogonUser()和ImpersonateLoggedOnUser()来模拟用户(具有管理员权限的本地帐户),以便它可以替换program files文件夹中选定的文件。

如果我使用此用户帐户手动登录Windows 7,然后尝试删除Program Files文件夹中的文件,Windows 7会提示我是否允许该程序继续运行-如果我授予它权限,该文件将被删除;如果我拒绝权限,系统将报告“拒绝访问”,并且不允许删除。

当尝试上述相同的事情时,结果是‘访问被拒绝’,而不会给用户任何提示。

我在一个类似的问题herabout(关于临时文件的创建)中看到,这样的提示可以在代码中提出,但我看不到这种方法在哪里得到了真正的解释。

EN

回答 3

Stack Overflow用户

发布于 2011-05-26 06:39:25

您只需在application manifest中将自动更新程序标记为需要提升权限即可。

也就是说,您可能想要考虑在用户具有写入权限的地方进行安装。

票数 5
EN

Stack Overflow用户

发布于 2011-05-26 07:31:30

在某种程度上,您似乎是在问如何运行提升的代码。下面的问题有几个答案,它们提供了指向调用运行提升的功能所需信息的链接:

Delphi: Prompt for UAC elevation when needed

票数 3
EN

Stack Overflow用户

发布于 2013-03-11 19:44:29

两年过去了,我的客户最终采用了Windows7,我也终于有时间绕过我试图解决的问题(暂时获得了足够的权限来替换Windows7下的Program Files中的可执行文件),方法是用Inno安装程序替换我自己的安装程序(使用Pascal脚本从我的安装程序中继承了额外的逻辑)。Inno Set处理所有的权限问题--太棒了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6131668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档