S L*_*all 13 delphi windows-7 elevated-privileges
我有一个"自动升级"机制,已在Windows XP下工作多年,在Windows 7下失败,因为提示用户(在Windows XP下从未存在)授予程序使用管理员权限运行的权限没出现.
win32程序(用Borland Delphi编写)使用LogonUser()和ImpersonateLoggedOnUser()来模拟用户(具有管理员权限的本地帐户),以便它可以替换Program Files文件夹中的选定文件.
如果我使用此用户帐户手动登录到Windows 7,然后尝试删除Program Files文件夹中的文件,Windows 7会提示我允许程序继续执行 - 如果我授予该权限,则删除该文件,如果我拒绝权限报告"拒绝访问"并且不允许删除.
当尝试与上述相同的事情时,"拒绝访问"是没有任何提示给用户的结果.
我在类似的问题中看到了herabouts(关于临时文件的创建(其中给出的答案的主要内容非常正确'不要这样做')这样的提示可以在"代码"中提出但我看不到哪里实际上解释了这种方法.