ayran1805
asked on
Click once application update VB .net
Hi,
I want to make my application update automatically and i tried from
Publish > Updates
and checked on (the application should check for updates) and tried the both (after the application starts) and (before the application starts) and in the both ways it didn't work and no update message appears.
so i tried to do it programmatically using the following sub and it worked:
but when i checked on (specify a minimum required version for this application)
it gives me error (user has refused to grant required permissions to the application)
and when i did not checked it i works but update the application every time i open it and roll the update back when the application being closed and update it again when opening.
so is there any way to make my desktop application update automatically?
I am using VS2012 with a desktop application.
Private Sub InstallUpdateSyncWithInfo( )
Dim info As UpdateCheckInfo = Nothing
If (ApplicationDeployment.IsN etworkDepl oyed) Then
Dim AD As ApplicationDeployment = ApplicationDeployment.Curr entDeploym ent
Try
info = AD.CheckForDetailedUpdate( )
Catch dde As DeploymentDownloadExceptio n
MessageBox.Show("The new version of the application cannot be downloaded at this time. " + ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later. Error: " + dde.Message)
Return
Catch ioe As InvalidOperationException
MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " & ioe.Message)
Return
End Try
If (info.UpdateAvailable) Then
Dim doUpdate As Boolean = True
If (Not info.IsUpdateRequired) Then
Dim dr As DialogResult = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel )
If (Not System.Windows.Forms.Dialo gResult.OK = dr) Then
doUpdate = False
End If
Else
' Display a message that the app MUST reboot. Display the minimum required version.
MessageBox.Show("This application has detected a mandatory update from your current " & _
"version to version " & info.MinimumRequiredVersio n.ToString () & _
". The application will now install the update and restart.", _
"Update Available", MessageBoxButtons.OK, _
MessageBoxIcon.Information )
End If
If (doUpdate) Then
Try
AD.Update()
MessageBox.Show("The application has been upgraded, and will now restart.")
Application.Restart()
Catch dde As DeploymentDownloadExceptio n
MessageBox.Show("Cannot install the latest version of the application. " & ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later.")
Return
End Try
End If
End If
End If
End Sub
I want to make my application update automatically and i tried from
Publish > Updates
and checked on (the application should check for updates) and tried the both (after the application starts) and (before the application starts) and in the both ways it didn't work and no update message appears.
so i tried to do it programmatically using the following sub and it worked:
but when i checked on (specify a minimum required version for this application)
it gives me error (user has refused to grant required permissions to the application)
and when i did not checked it i works but update the application every time i open it and roll the update back when the application being closed and update it again when opening.
so is there any way to make my desktop application update automatically?
I am using VS2012 with a desktop application.
Private Sub InstallUpdateSyncWithInfo(
Dim info As UpdateCheckInfo = Nothing
If (ApplicationDeployment.IsN
Dim AD As ApplicationDeployment = ApplicationDeployment.Curr
Try
info = AD.CheckForDetailedUpdate(
Catch dde As DeploymentDownloadExceptio
MessageBox.Show("The new version of the application cannot be downloaded at this time. " + ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later. Error: " + dde.Message)
Return
Catch ioe As InvalidOperationException
MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " & ioe.Message)
Return
End Try
If (info.UpdateAvailable) Then
Dim doUpdate As Boolean = True
If (Not info.IsUpdateRequired) Then
Dim dr As DialogResult = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel
If (Not System.Windows.Forms.Dialo
doUpdate = False
End If
Else
' Display a message that the app MUST reboot. Display the minimum required version.
MessageBox.Show("This application has detected a mandatory update from your current " & _
"version to version " & info.MinimumRequiredVersio
". The application will now install the update and restart.", _
"Update Available", MessageBoxButtons.OK, _
MessageBoxIcon.Information
End If
If (doUpdate) Then
Try
AD.Update()
MessageBox.Show("The application has been upgraded, and will now restart.")
Application.Restart()
Catch dde As DeploymentDownloadExceptio
MessageBox.Show("Cannot install the latest version of the application. " & ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later.")
Return
End Try
End If
End If
End If
End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.