我的合作伙伴正在测试我们的新系统(.Net 4)应用并直接从C:\ Windows运行它。 应用程序在用户上下文中的每个用户会话中执行(因此,实际上具有较低的权限)。
我注意到此应用存在严重问题。我无法通过使用进程类(MainModule.FileName)检索应用程序(来自其他应用程序)的完整文件名路径 - 访问被拒绝,也无法使用WMI查询 - 这里我得到空字符串。 UAC已关闭。
这两种方法在开发环境(不同路径)中都能正常工作。有什么方法可以调整安全设置,或者我应该放弃并改变更中性的路径?
答案 0 :(得分:0)
你应该放弃并改变一些更中立的东西"。即Program Files
或Program Files (x86)
目录中的正确安装目录(视情况而定)。
此外,从您的问题为什么您想要检索流程的完整文件路径并不清楚,但您可能也会犯这个错误。实际上没有理由强制程序从任何特定目录运行,因此,如果您的系统某种程度上依赖于检查进程的可执行文件的完整文件路径,那么该系统可能存在缺陷,应该使用其他机制(例如使用共享内存,命名管道,命名互斥或其他类似的进程间通信机制)。