我刚刚开发了一个.NET程序,它具有修补自身的能力。
我注意到,只有选择“以管理员身份运行”时,修补程序才会运行。
我似乎需要“创建和嵌入一个应用程序声明”,根据这一点:
https://msdn.microsoft.com/en-us/library/bb756929.aspx
所以我的问题是:
像我这样的应用程序(可以自己修补程序)需要管理权限,这是正常的吗?这是我应该走的路吗?
谢谢
发布于 2017-04-18 08:38:35
编辑了NSIS脚本以包括这一行:
AccessControl::GrantOnFile \"$INSTDIR" "(S-1-5-32-545)" "FullAccess"这使得用户帐户完全可以访问Program中的应用程序文件夹,这意味着我的修补程序可以在没有任何问题的情况下写入它。
发布于 2017-04-13 13:11:52
如果您的应用程序通常不需要提升,那么我不建议您在清单中请求它,因为这对您的用户来说非常烦人。Firefox使用NT服务绕过UAC对话框,但我也不建议这样做,除非您的更新非常频繁。
我建议您编写一个进行修补的小更新程序。它可以在其清单中请求提升,这样,用户只需要在需要修补的东西时才能将其提升。如果您不需要包中的另一个.exe,则可以在需要修补时再次使用 verb执行自己的任务。
https://stackoverflow.com/questions/43383759
复制相似问题