从普通应用程序的正常特权帐户调用具有提升权限的应用程序,并将其放入Program Files时导致问题
我有一个需要以普通权限运行的程序。为了防止盗版,在推出我们的应用程序中,我们推出了许可证管理应用程序,它需要与提升特权运行。在与我们的供应商询问,许可证管理器似乎有这种提升的权限在其app.manifest
文件,这是必要的阅读某种磁盘ID信息补充,所以它是强制性的(我们不能减少它的特权要求)。从普通应用程序的正常特权帐户调用具有提升权限的应用程序,并将其放入Program Files时导致问题
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
应用程序成功启动许可证管理如果它被放置在一个正常的文件夹中。然而,当它被放置在Program Files文件夹中时,它似乎在启动时关闭而没有暗示。
我们还检查了没有添加许可证管理器(它工作正常)与正常的凭据运行应用程序。
我们需要某种形式的设置无论是在注册表中或在其他一些Windows设置进行更改,以使发射正常帐户提升特权应用程序。或者可能需要在可启用此方案的代码启动部分添加一些代码片段。
我们甚至试图粘贴在Program Files文件到桌面(它也运行良好)创建的文件夹。
操作系统:Windows 7
请让我知道,如果需要的形式我身边的任何其他信息。对此方向的任何帮助表示赞赏。
寒舍appologies与Program Files文件目录假设的问题。
事实证明,由许可证管理器写入的日志正在写入当前应用程序执行文件夹中。当应用程序没有将文本文件写入此文件夹的权限时,尝试将日志写入Program Files文件夹导致此问题。
日志逻辑在许可证管理器(从我们称为在许可证管理器中定义的函数的程序(它正在写入日志)和从Program Files文件夹运行的应用程序之间共享。
我们将日志创建文件夹更改为AppData文件夹。这导致应用程序成功启动。
原因结论:从没有管理员权限的应用程序在Program Files文件夹
写日志文件。
注:我添加这篇文章,这个答案纯粹是为了帮助其他像我这样的,如果他们没有在这类情况下的解决方案。
在事件查看器中出现此错误的任何痕迹? – kennyzx
@kennyzx,我可以在哪里找到事件查看器? –
Google可以提供帮助。或者通过执行“eventvwr.exe” – kennyzx