应用程序仅在您以管理员身份运行时运行?

问题描述 投票:0回答:4

编辑:据我所知,此问题仅发生在 Windows 7 和 Vista 上。

我有一个使用外部图形库开发的非常简单的应用程序。如果我将此应用程序安装到程序文件目录中并运行它,它会立即崩溃,但它可以正常工作,具有完全相同的文件。我意识到这是因为您需要以管理员身份运行应用程序才能正常工作。

我很感激这是否是与我正在使用的图形引擎直接相关的问题,但我真的不这么认为(但我一无所知)。有人可以帮助我吗?

编辑更多详细信息:
应用程序可执行文件和运行它所需的文件安装到默认程序目录中 - 对我来说,C:\Program Files (x86)。如果您尝试运行而不单击以管理员身份运行,它会简单地冻结并显示“应用程序已停止工作。Windows 正在检查问题的解决方案...”我的问题基本上是,我怎样才能让它运行不需要管理员吗?

c++ windows-7 windows-vista administrator
4个回答
3
投票

当程序无法执行某项操作时,它(该操作)应该优雅地失败。 我的猜测是您的应用程序正在尝试执行普通用户无法执行的操作,然后无法检查返回代码,然后崩溃。 您需要确定您的程序正在执行的操作是普通用户无法执行的操作。 例如(在我的脑海中):

  • 将文件写入 Program Files (x86)
  • 写信给HKLM

3
投票

(没有更多细节)问题很可能与以下事实有关:您的程序尝试写入目录,然后排除文件创建/修改以实际产生效果。 UAC 会阻止应用程序在没有管理员权限的情况下写入 Program Files 目录。解决方案是重新设计您的应用程序,使其不依赖此类行为或将有问题的文件存储在预期位置之一(AppData 等文件夹)。


1
投票

如果右键单击 EXE 并转到

Properties -> Compatibility
,有一些选项可能会有所帮助。您可以尝试在以前的 Windows 版本的兼容模式下运行该应用程序,或者如果这不起作用,至少将 EXE 标记为默认以管理员身份运行。


0
投票

此外,如果您有 CCleaner - 转到性能优化器选项卡并唤醒您尝试打开但没有成功的程序。

© www.soinside.com 2019 - 2024. All rights reserved.