2011-12-13 48 views
0

我有一个共享的Office加载使用一个单独的进程使用下面的代码删除文件:从Office加载项调用进程?

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

这似乎是随机找不到的过程,即使它是在同一目录下加入。 我想避免必须将目录添加到PATH变量。

任何想法?

+0

通过随机...你的意思是有时`Process.Start`起作用或者它从来不起作用? – SliverNinja 2011-12-13 17:02:24

+0

是的,有时它有效,然后有时它会抛出一个错误,并找不到exe – 2011-12-13 17:03:44

回答

1

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

这不会帮助,Process.Start必须提供完全合格的路径。

我会建议更新安装程序写的安装目录到注册表中。确保授予每个人对密钥/值的读取权限。在另一个应用程序中使用assembly.Location和/或AppDomain.CurrentDirectory可能会产生问题。只要避免它,并使用知名的价值存储。

相关问题