Как запустить приложение ClickOnce (.appref-ms) на удаленном компьютере? - PullRequest
3 голосов
/ 10 июня 2009

Я пытаюсь запустить приложение ClickOnce с помощью ярлыка .appref-ms на удаленной машине с помощью WMI, но не удается. Приведенный ниже код работает нормально, если я пытаюсь запустить notepad.exe.

ManagementPath pm = new ManagementPath(@"\\server\root\cimv2:Win32_process");
ManagementClass processClass = new ManagementClass(pm);

//Get an input parameters object for this method
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");

//Fill in input parameter values
inParams["CommandLine"] = @"C:\Documents and Settings\Start Menu\Programs\New\New App.appref-ms";

//Execute the method
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);

Ответы [ 2 ]

3 голосов
/ 06 марта 2013

Попробуйте запустить ярлык .appref-ms через rundll32:

inParams["CommandLine"] = @"rundll32.exe dfshim.dll,ShOpenVerbShortcut ""C:\New App.appref-ms"";

В качестве альтернативы, вместо использования ярлыка, вы можете использовать URL-адрес развертывания приложения (это можно увидеть, открыв файл .appref-ms в текстовом редакторе):

inParams["CommandLine"] = @"rundll32.exe dfshim.dll,ShOpenVerbApplication http://github-windows.s3.amazonaws.com/GitHub.application";

Имейте в виду, что Win32_Process.Create не может создавать интерактивных процессов удаленно.

0 голосов
/ 10 июня 2009

Какую ошибку вы получаете.

Кстати, кажется, есть две проблемы с путем командной строки, который вы используете.

  1. Папка меню Пуск IMO находится в C: \ Documents and Settings \ "Имя пользователя здесь" \ StartMenu.
  2. Я не уверен, но думаю, что вы не можете запустить программу удаленно, которая находится в профиле пользователя. Попробуйте установить программу в другое место, например файлы c: \ program, а затем попытайтесь вызвать его.

Кроме того, если вы упомянете точную ошибку, которую вы получаете, было бы полезно диагностировать проблему.

...