Um es so einfach wie möglich zu halten, könntest du immer in dem aktuellen Programm eine Variable einbauen, mit der aktuellen Version. Auf deinem Server hast du eine "version.txt" liegen, in der ebenfalls diese Zahl oder ein Wort steht, was aber mit dem Programm übereinstimmt, wenn du dann das Wort in der "version.txt" änderst, lädt das Programm die neue Version runter. Und das passiert solange, bis du im Programm selbst ebenfalls die neue Zahl oder das neue Wort stehen hast.
Schau dir dafür mal WebClient an.
Und für die Abfrage nimmst du halt das:
Code:
Select Case MessageBox.Show("Überschrift", "Text", MessageBoxButtons.YesNo)
Case Windows.Forms.DialogResult.Yes
'User klickt auf Ja
Case Windows.Forms.DialogResult.No
'User klickt auf Nein
End Select