Raj*_*mar 4 .net c# clickonce wmi remote-access
我尝试使用 WMI 在远程计算机上通过 .appref-ms 快捷方式启动 ClickOnce 应用程序,但无法成功。如果我尝试运行 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);
Run Code Online (Sandbox Code Playgroud)
尝试通过以下方式启动 .appref-ms 快捷方式rundll32:
inParams["CommandLine"] = @"rundll32.exe dfshim.dll,ShOpenVerbShortcut ""C:\New App.appref-ms"";
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用应用程序部署 URL,而不是依赖快捷方式路径(您可以通过在文本编辑器中打开 .appref-ms 文件来查看它):
inParams["CommandLine"] = @"rundll32.exe dfshim.dll,ShOpenVerbApplication http://github-windows.s3.amazonaws.com/GitHub.application";
Run Code Online (Sandbox Code Playgroud)
请记住,Win32_Process.Create无法远程创建交互式流程。