【发布时间】:2017-04-14 08:43:20
【问题描述】:
我有一个程序需要以正常权限运行。为了防止盗版,在我们的应用程序启动时,我们会启动一个License Manager 应用程序,该应用程序需要以Elevated Privileges 运行。在询问我们的供应商后,License Manager 似乎在其app.manifest 文件中添加了这种提升的权限,这是读取某种 磁盘 ID 信息所必需的,因此它是强制性的(我们不能减少它的权限要求)。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
如果将许可证管理器放在普通文件夹中,应用程序将成功启动它。但是,当它放在 Program Files 文件夹中时,它似乎在启动时关闭,没有任何提示。
我们还检查了在不添加许可证管理器的情况下使用普通凭据运行应用程序(它工作正常)。
我们是否需要在注册表或其他一些 Windows 设置中更改某些设置,以便能够从普通帐户启动提升的特权应用程序。或者可能需要在代码启动部分添加一些代码 sn-p 才能启用此场景。
我们甚至尝试将在 Program Files 中创建的文件夹粘贴到桌面(它也运行良好)。
操作系统:Windows 7
如果我需要任何其他信息,请告诉我。对此方向的任何帮助表示赞赏。
【问题讨论】:
-
事件查看器中有此错误的痕迹吗?
-
@kennyzx,我在哪里可以找到事件查看器?
-
谷歌可以提供帮助。或者通过执行“eventvwr.exe”
-
@kennyzx,感谢您向我介绍事件查看器的世界。它看起来是一个很棒的工具,看起来很有前途。
标签: winforms launch elevated-privileges program-files