来自 C:\Windows 的 运行 自己的应用程序的禁忌症或威胁是什么

What are contrindications or threats of running own application from C:\Windows

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

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

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

您应该放弃并将路径更改为 "something more neutral"。 IE。 Program FilesProgram Files (x86) 目录中的正确安装目录(视情况而定)。

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