我有一个系统,我将其设置为与UAC正常的,在我的德尔福环境我编译我的项目命名为ka.exe,我创建的InstallShield项目吧。

设置,一切都完成OK! 但每当我开始我的程序,它需要提升,我没有任何线索,为什么。

只是要确定的InstallShield是不是打在我身上mindgames,我整理了一个新的.exe文件,并通过手动将它复制到我的网络计算机。

的图标看起来是相同的,并且它也有它这个UAC屏蔽。

我的项目有内,有些功能可能与网络共享名称交谈,并与SQL数据库说话......

所以为什么我的应用程序需要提升运行?

有帮助吗?

解决方案

首先,如果你能够用Delphi,与asInvoker添加嵌入的清单。如果不能,则需要使用外部之一,并把它放在同一文件夹中的exe。如果护盾消失,巨大的。

如果没有,那么事情就比较令人费解。有时,当你运行一个应用程序时,Windows事后走过来说“可能没有工作,你想和推荐设置再试一次吗?”。如果你说好了,有保存起来,将提升该应用程序的时间,其余组策略。它似乎是,如果您重命名的exe组策略停止的效果。你可以试试。

其他提示

即使文件名没有“SETUP”或“安装”的字符串,Windows可能会认为它需要抬高如果VERSIONINFO资源包括这些文本。

检查VERSIONINFO,尝试清洁任何可疑的字符串,因为我认为Windows的检查更文本(如非英文文本)。

在Windows Vista和更高版本,启用UAC时,管理员仍然没有完全的权利,我们看到在Windows XP及以下。如果你的程序试图做的行政任务之一(例如,在系统的保护位置的要求;写数据到如的%ProgramFiles%,Windows目录,HKEY_LOCAL_MACHINE保护的位置;等等),你的程序需要请求海拔带来的同意UI提示,显示由管理员这需要批准。

您会得到一些详细信息

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top