MX4*_*399 1 delphi uac windows-7
在用于为我的软件构建互联网软件更新服务的Delphi应用程序中,Windows 7 UAC系统请求用户授权运行exe.代码中存在以下可能存在争议/风险的区域:
在添加UAC未激活的这些项目之前,依次删除每个单元引用,然后以裸骨骼exe结束仍然会导致UAC事件 - 因此无法说明导致它的原因.除此之外,Delphi 2007现在需要以管理员身份启动,以启动应用程序的调试过程.
问题1:除了在新的exe中从头开始之外,我怎样才能看到导致这种情况的原因-IOW是否有一个我可以查看的日志
问题2:使用authenticode使用签名的exe仍然会导致显示UAC警报
UAC未启动,因为您的应用程序执行了某些管理操作.许多人认为,当一个没有升级的应用程序试图做[某些事情会导致非升高并成功升级]时,UAC会要求提升.但事实并非如此.您的应用程序是否从高处开始提升,并保持这种状态.如果它试图做一些没有提升而失败的东西,那么事情就会失败.这就是添加和删除代码"仍导致UAC事件"的原因.
真正"导致UAC事件"的是你的exe的属性,而不是它包含的代码.这些包括它的名称,您故意应用的兼容性内容(通过右键单击并检查某些选项)以及系统为您应用的兼容性内容(通常在其中一个"此应用程序可能无法正确运行"对话框之后).人们经常发现确定哪一个导致它非常令人沮丧.
首先重命名exe,避免设置和更新等单词.您不需要运行它,顺便说一句 - 只需在Windows资源管理器中的图标上查找屏蔽覆盖.(请参阅http://www.gregcons.com/KateBlog/NamingMattersAnotherCauseOfTheOverlayIcon.aspx)同样右键单击它并选择"属性",然后查看"兼容性"选项卡.你可能会要求它提升那里.
归档时间: |
|
查看次数: |
866 次 |
最近记录: |