c-sanchez: new title looks nice
. I'm only afraid a little, that here will be drooped from very simple to very difficult(from developer point view) ideas.
circular: I spent a couple minutes in thinking: which way will not annoying user(include me). As result I think the better solution is:
1) verify updates one time in week
2) verifying is start not on program start, but on program exit. Once in a week when user click on Close/Exit appears enough big window(centered on screen) with enough big bolded button - "Cancel update". Above this button next label.caption: "Program is looking for updates". Below this button Radio group with three RadioButton:
1)verify in next week [default]
2)verify in next month
3)don't check updates automatically, I'll check manually
Don't show this idea to Microsoft or Google : ).