i've been reading through msdn for the last three days and have no idea where to begin if i want my software to check for updates... can someone one tell me where to start? is there a video tutorial i can watch?
Printable View
i've been reading through msdn for the last three days and have no idea where to begin if i want my software to check for updates... can someone one tell me where to start? is there a video tutorial i can watch?
anyone? MSDN is sort of confusing on some parts.
Check if a web page exists then download the update.
Check out the progress bar download in my sig.
Examples of downloading the file, and checking if files exist is in there.
no... that's not what i mean... sorry if i wasn't clear... i want to be able to provide updates for software that i designed... where do i start?
still need help getting my software to grab new updates...
You have three choices:
1. ClickOnce, where almost everything will be handled by the system.
2. Updater Application Block, which you already know about.
3. Write a completely separate application that will check for updates, download and install them because an application cannot update itself.
i've been reading about click once, but how do implement it into the program? writing another application is not a problem.
that's what i got from MSDN so do i put that into a new application?Code:Private sizeOfUpdate As Long = 0
Dim WithEvents ADUpdateAsync As ApplicationDeployment
Private Sub UpdateApplication()
If (ApplicationDeployment.IsNetworkDeployed) Then
ADUpdateAsync = ApplicationDeployment.CurrentDeployment
ADUpdateAsync.CheckForUpdateAsync()
End If
End Sub
Private Sub ADUpdateAsync_CheckForUpdateProgressChanged(ByVal sender As Object, ByVal e As DeploymentProgressChangedEventArgs) Handles ADUpdateAsync.CheckForUpdateProgressChanged
DownloadStatus.Text = [String].Format("{0:D}K of {1:D}K downloaded.", e.BytesCompleted / 1024, e.BytesTotal / 1024)
End Sub
Private Sub ADUpdateAsync_CheckForUpdateCompleted(ByVal sender As Object, ByVal e As CheckForUpdateCompletedEventArgs) Handles ADUpdateAsync.CheckForUpdateCompleted
If (e.Error IsNot Nothing) Then
MessageBox.Show(("ERROR: Could not retrieve new version of the application. Reason: " + ControlChars.Lf + e.Error.Message + ControlChars.Lf + "Please report this error to the system administrator."))
Return
Else
If (e.Cancelled = True) Then
MessageBox.Show("The update was cancelled.")
End If
End If
' Ask the user if they would like to update the application now.
If (e.UpdateAvailable) Then
sizeOfUpdate = e.UpdateSizeBytes
If (Not e.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 (System.Windows.Forms.DialogResult.OK = dr) Then
BeginUpdate()
End If
Else
MessageBox.Show("A mandatory update is available for your application. We will install the update now, after which we will save all of your in-progress data and restart your application.")
BeginUpdate()
End If
End If
End Sub
Private Sub BeginUpdate()
ADUpdateAsync = ApplicationDeployment.CurrentDeployment
ADUpdateAsync.UpdateAsync()
End Sub
Private Sub ADUpdateAsync_UpdateProgressChanged(ByVal sender As Object, ByVal e As DeploymentProgressChangedEventArgs) Handles ADUpdateAsync.UpdateProgressChanged
Dim progressText As String = String.Format("{0:D}K out of {1:D}K downloaded - {2:D}% complete", e.BytesCompleted / 1024, e.BytesTotal / 1024, e.ProgressPercentage)
DownloadStatus.Text = progressText
End Sub
Private Sub ADUpdateAsync_UpdateCompleted(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs) Handles ADUpdateAsync.UpdateCompleted
If (e.Cancelled) Then
MessageBox.Show("The update of the application's latest version was cancelled.")
Exit Sub
Else
If (e.Error IsNot Nothing) Then
MessageBox.Show("ERROR: Could not install the latest version of the application. Reason: " + ControlChars.Lf + e.Error.Message + ControlChars.Lf + "Please report this error to the system administrator.")
Exit Sub
End If
End If
Dim dr As DialogResult = MessageBox.Show("The application has been updated. Restart? (If you do not restart now, the new version will not take effect until after you quit and launch the application again.)", "Restart Application", MessageBoxButtons.OKCancel)
If (dr = System.Windows.Forms.DialogResult.OK) Then
Application.Restart()
End If
End Sub
Never used it, but if I was going to I'd start here:
http://search.msdn.microsoft.com/sea...ickonce+update
i can do clickonce just by publishing via VB right?
do i need to input any code for that?
Publishing your project creates a ClickOnce installer package. As for updating a ClickOnce application, the link below is one of those returned by the above MSDN search for clickonce update.
http://msdn2.microsoft.com/en-us/lib...14(VS.80).aspx
got it up and running... published it and everything... and tested an update... thanks for the help on that...