0

我有一个共享办公室加载项,它使用单独的进程使用以下代码删除文件:

string currentDir = System.Reflection.Assembly.GetExecutingAssembly().Location;
currentDir = Path.GetDirectoryName(currentDir);
Process.Start(Path.Combine(currentDir, "process.exe"), "/d \"" + file + "\"");

即使它与加载项位于同一目录中,这似乎也随机无法找到该进程。我想避免将目录添加到 PATH 变量中。

有任何想法吗?

4

1 回答 1

1

我想避免将目录添加到 PATH 变量中。

这无济于事,必须为 Process.Start 提供完全合格的路径。

我建议更新安装程序以将安装目录写入注册表。确保授予每个人对键/值的读取权限。在另一个应用程序中使用 assembly.Location 和/或 AppDomain.CurrentDirectory 可能会有很大问题。避免它并使用众所周知的值存储。

于 2011-12-13T18:38:29.077 回答