I'm having issues seeing how ClickOnce knows how it compares files and how it looks for those files. I will be having my ClickOnce application connect to a server, but does it do this internally?
If you don't want to do programmatic updates, set "check for update before running" in the Update dialog (click Updates on the Publish screen). Then when you publish a new version, it goes in the same folders as the original deployment. When the user runs the application, it will check to see if there is an update, and it will ask him if he wants to install it. At that point, the user can skip it, or accept the update.
If you make the minimum version (in the updates dialog) equal to the version your are deploying, it won't ask him, it will just update the application.
If he skips the update, he won't see it again for a couple of weeks, if ever. Microsoft says 2 weeks, but I'm not convinced that it ever comes up again, so he might have to wait until the NEXT update or go and install the new one manually.