作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
首先,我想强调的是,我并不是想做任何“下流”或“骇人听闻”的事情,也不是想对用户隐瞒任何事情。
在我的应用程序安装(使用 InstallShield LE)期间,Windows UAC 提示用户允许它以管理员模式运行;如果用户接受 - 安装继续(标准行为)并且用户可以再次选中将此程序添加到自动运行列表的选项(通过将注册表项添加到 HKLM/../Run)。一切都很好,很正常。但是每次 Windows 重新启动后,当这个应用程序启动时,UAC 就会启动并请求用户许可。问题是,如何避免它,因为它有点烦人(但我的应用程序需要管理员权限才能运行)?
我的意思是用户已经在安装时授予了这样的权限,所以我看不出每次启动时都需要提示的原因?此外,我相信大多数防病毒软件等也需要提升权限才能运行,但 UAC 不会在 Windows 启动时提示它。
感谢您提供任何建议、信息、评论或解决方案。
最佳答案
您的应用程序真的需要提升启动吗?或者当用户使用它来执行操作时,它是否需要提升访问权限?如果可以,将后面的管理任务放到一个单独的 exe 中,允许主 exe 在没有提升的情况下启动 - 当您稍后 shell 执行工作进程时,它将按需 UAC。
正如您所指出的,在安装时,您已经提升了安装程序。如果您想在后续运行中自动运行提升的代码,这就是安装服务的要点 - 这就是您提到的所有其他应用所做的。
关于windows - 有没有办法避免程序文件中自动运行应用程序的 UAC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542205/
我是一名优秀的程序员,十分优秀!