我的系统中有许多使用Clickonce安装的程序。有些程序需要启动其他程序。是否有一个过程可以确定应用程序是否已安装并启动它,否则从Clickonce位置启动安装?
例如,用户1已经安装了Program-A,Program-B和Program-C。 Program-A中的一个选项要求我运行Program-B,另一个选项要求我运行Program-F。安装了Program-B,而尚未安装Program-F。
我总是可以启动Clickonce安装,但如果已安装该程序,我该如何查找并启动它?
我尝试过的一件似乎对我有用的事情就是始终推出这个
http://MyServer/ClickOnce/Program-F/Program-F.application
但是我的用户说这对他们不起作用。
答案 0 :(得分:0)
你是如何推出该链接的?如果它是原始应用程序的安装链接,它应该工作。您是使用IE或其他已知安装的浏览器启动它吗?
process.start("ie.exe", "http://yourserver/yourapp/themanifest.application");
如果从部署清单(.application文件)启动并且已经安装了应用程序,则只需启动它。如果没有安装,它将安装它。
答案 1 :(得分:0)
var sb = new StringBuilder();
sb.Append(Environment.GetFolderPath(Environment.SpecialFolder.Programs));
sb.Append("\\");
sb.Append("Your Company");
sb.Append("\\");
sb.Append("YourApp.appref-ms");
var shortcutPath = sb.ToString();
Process.Start(shortcutPath);