Я хотел бы запустить MSI, который находится на общем сетевом ресурсе, однако вместо этого отображается диалоговое окно «Помощь» msiexec (которое указывает, что что-то не так с информацией о запуске процесса):
string testPath1 = @"\\mynetwork.share.com\dev\builds 1.0\product.msi"; //DOESN'T WORK
string testPath2 = @"C:\users\username\desktop\product.msi"; //DOES WORK
ProcessStartInfo startMsiexecProcess = new ProcessStartInfo(@"C:\windows\system32\msiexec.exe");
startMsiexecProcess.Arguments = @"/i " + testPath1;
Process.Start(startMsiexecProcess);
Я пробовал варианты на testPath1 - то есть не используя полное имя и другие сетевые ресурсы. Я также попытался отрегулировать интервал в Аргументах.
Наконец, если я изменю «локальный» путь на полностью определенный формат, например так:
string testPath2 = @"\\mylocalmachine.domain.com\c$\users\username\desktop\product.msi";
..это работает правильно. Так что это дает мне уверенность в том, что, скорее всего, это не плохо сформированная строка, вызывающая проблему, когда я пытаюсь выполнить ее на сетевом ресурсе.
Можно ли запустить MSI из общего сетевого ресурса?