Вызов процесса из надстройки Office? - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть надстройка общего офиса, которая использует отдельный процесс для удаления файлов, используя следующий код:

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

Кажется, что случайно не удается найти процесс, даже если он находится в том же каталоге, что и надстройка. Я хотел бы избежать добавления каталога в переменную PATH.

Есть идеи?

1 Ответ

1 голос
/ 13 декабря 2011

Я бы хотел избежать добавления каталога в переменную PATH.

Это не поможет, Process.Start должен быть указан полный путь.

Я бы порекомендовал обновить установщик, чтобы записать каталог установки в реестр.Обязательно предоставьте всем доступ на чтение по ключу / значению.Использование assembly.Location и / или AppDomain.CurrentDirectory может быть очень проблематичным из другого приложения.Просто избегайте этого и используйте хорошо известное хранилище значений.

...