从 C# 启动 ClickOnce 应用程序

Joe*_*Joe 2 c# clickonce

我希望能够从另一个可执行文件启动 ClickOnce 应用程序。我知道如何使用 Process.Start(" http://PathToMyApp ") 在浏览器中执行此操作。但是,这会为进程返回 null。因此,我无法检查以确保该进程已启动或稍后终止该进程。

如何启动单击一次应用程序并获取其进程 ID 并确定其是否启动成功?

Rob*_*Net 5

您必须找到 ClickOnce 应用程序的快捷方式并对其执行 process.start 。这是一个例子:

string shortcutName = 
  string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Programs),
  "\\", PublisherName, "\\", ProductName, ".appref-ms");
process.Start(shortcutName);
Run Code Online (Sandbox Code Playgroud)

其中 PublisherName 和 ProductName 是在要启动的应用程序的“发布”选项卡中的“选项”对话框中填写的名称。

如果以这种方式启动 ClickOnce 应用程序,即使它处于脱机状态,也可以将参数传递给该应用程序。