WPF关闭并重新启动不再部署网络

WPF关闭并重新启动不再部署网络,wpf,vb.net,Wpf,Vb.net,我们有一个ClickOnce WPF应用程序。它会在启动之前检查是否存在另一个更新的版本,但是如果用户跳过了它,他们不会再次被询问-所以我们在应用程序上有一个按钮来检查更新。如果存在,它将安装它,关闭应用程序,然后重新打开。问题是当它重新打开时,它不再是网络部署的!!下面是使用的代码 Private Sub Updates_CheckForUpdates(sender As Object, e As RoutedEventArgs) Try Dim vInfo As Sy

我们有一个ClickOnce WPF应用程序。它会在启动之前检查是否存在另一个更新的版本,但是如果用户跳过了它,他们不会再次被询问-所以我们在应用程序上有一个按钮来检查更新。如果存在,它将安装它,关闭应用程序,然后重新打开。问题是当它重新打开时,它不再是网络部署的!!下面是使用的代码

Private Sub Updates_CheckForUpdates(sender As Object, e As RoutedEventArgs)
    Try
        Dim vInfo As System.Deployment.Application.UpdateCheckInfo = Nothing
        If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed = True Then
            Dim AD As System.Deployment.Application.ApplicationDeployment = System.Deployment.Application.ApplicationDeployment.CurrentDeployment
            vInfo = AD.CheckForDetailedUpdate
            If vInfo.UpdateAvailable = True Then
                Dim vOutput As String = "There is a new update available for HOA Manager!" & Environment.NewLine
                vOutput += "Install the update?"
                Dim vBox As New AppBoxConfirmation(vOutput)
                If vBox.Show = CommonDialog.CustomDialogResults.Yes Then
                    AD.Update()
                    AppBoxSuccess("HOA Manager was successfully updated, and will now restart!")
                    System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location)
                    'System.Diagnostics.Process.Start(Application.ResourceAssembly.Location)
                    Application.Current.Shutdown()
                End If

            Else
                'HOA Manager is up to date
                AppBoxSuccess("HOA Manager is up to date!")
            End If
        Else
            AppBoxValidation("The application is not network deployed!")
            System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location)
            'System.Diagnostics.Process.Start(Application.ResourceAssembly.Location)
            Application.Current.Shutdown()
        End If
    Catch ex As Exception
        EmailError(ex)
    End Try
End Sub
下面的代码检查应用程序上显示的版本号-因为“调试”显示,我们知道它不是网络部署的

Public Function ReturnCurrentVersion() As String
    Dim vBuild As String = "Debug"
    If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then
        Dim vVersion As Version = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion
        Dim vAssembly As Assembly = Assembly.GetExecutingAssembly()
        Dim vAssemblyName As AssemblyName = vAssembly.GetName()
        vBuild = vVersion.ToString
    End If
    Return vBuild
End Function
有什么建议吗


谢谢

在两次更新后,直到这一点在野外出现,我们才知道答案,但这可能是答案

Dim EntryPoint As String = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.UpdatedApplicationFullName
                    System.Diagnostics.Process.Start(EntryPoint)