0

一个系统由一个 Outlook 功能区插件和一个用 VB.NET 编写的 Windows 窗体应用程序组成。两者都使用 ClickOnce 部署进行部署。我需要的是能够从 Outlook 功能区调用 Windows 窗体应用程序。如何在用户机器上找到 Windows 窗体应用程序?Windows 是否存储了一些关于它所在位置的信息,这些信息可以通过应用程序的名称来引用?

4

2 回答 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 回答