-1

我的同事正在测试我们的新系统 (.Net 4) 应用程序并直接从 C:\Windows 运行它。应用程序在用户上下文中的每个用户会话中执行(因此,确实具有较低的权限)。

我注意到这个应用程序存在严重问题。我无法通过使用进程类(MainModule.FileName)检索应用程序(来自另一个应用程序)的完整文件名路径 - 访问被拒绝,也无法使用 WMI 查询 - 这里我得到空字符串。UAC 已关闭。

这两种方法在开发环境(不同的路径)中都可以正常工作。有什么办法可以调整安全设置,或者我应该放弃并改变路径到更中立的东西?

4

1 回答 1

0

你应该放弃并改变路径到“更中立的东西”。即Program FilesProgram Files (x86)目录中的正确安装目录(视情况而定)。

此外,从您的问题中不清楚为什么要检索进程的完整文件路径,但很可能您也犯了这个错误。确实没有理由强制程序从任何特定目录运行,因此,如果您的系统以某种方式依赖于检查进程可执行文件的完整文件路径,则该系统可能存在缺陷,应该使用一些为此目的的其他机制(例如,使用共享内存、命名管道、命名互斥锁或其他类似的进程间通信机制)。

于 2015-01-23T21:25:03.903 回答