如何从VB.NET中的另一个应用程序调用已单击的部署应用程序?

问题描述 投票:0回答:2

系统由一个Outlook功能区加载项和一个用VB.NET编写的Windows窗体应用程序组成。两者均使用ClickOnce部署进行部署。我需要的是能够从Outlook功能区调用Windows窗体应用程序。如何在用户计算机上找到Windows窗体应用程序? Windows是否存储一些可以由应用程序名称引用的有关其位置的信息?

.net vb.net clickonce
2个回答
1
投票

[您可以,如果您从URL部署Windows窗体应用程序,只需在功能区加载项中调用从其部署的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/


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文件下载到documents文件夹并自动启动文件。这将导致自动安装升级。

© www.soinside.com 2019 - 2024. All rights reserved.