一个系统由一个 Outlook 功能区插件和一个用 VB.NET 编写的 Windows 窗体应用程序组成。两者都使用 ClickOnce 部署进行部署。我需要的是能够从 Outlook 功能区调用 Windows 窗体应用程序。如何在用户机器上找到 Windows 窗体应用程序?Windows 是否存储了一些关于它所在位置的信息,这些信息可以通过应用程序的名称来引用?
问问题
1622 次
2 回答
1
如果您的 Windows 窗体应用程序是从 URL 部署的,您可以在功能区加载项中简单地调用它部署的 URL,无论它实际安装在 HDD 的哪个位置,它都会启动它。
像这样:
System.Diagnostics.Process.Start("http://mydomain.com/myapp.application")
以下是设置 Click-Once 部署应用程序快捷方式的更详细说明:http: //keithelder.net/2009/04/18/how-to-run-a-clickonce-application-on-startup/
于 2013-08-02T20:02:22.427 回答
0
好吧,如果你打电话:
System.Diagnostics.Process.Start("http://example.com/myapp.application")
将打开浏览器下载 myapp.application。
最好将文件下载到本地文件夹,然后运行/执行文件。
Public Sub ApplicationUpgrade()
Dim docFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Dim destFile As String = docFolder & "\myapp.application"
If System.IO.File.Exists(destFile) Then
System.IO.File.Delete(destFile)
End If
My.Computer.Network.DownloadFile("http://example.com/myapp.application", destFile)
If System.IO.File.Exists(destFile) Then
System.Diagnostics.Process.Start(destFile)
Application.Exit()
End If
End Sub
该代码会将 .application 文件下载到文档文件夹并自动启动该文件。这将导致自动安装升级。
于 2020-01-02T18:07:34.967 回答