Hi Wyatt,
I am indeed using 2.5.22 of wyUpdate and the AutomaticUpdater.
This morning, after a clean reboot since yesterday, I have run my application with the automatic update about probably 30 times, and only once did it get stuck in that loop where it wouldn't update properly.
When it *does* update properly, the first 3 steps of the update go very quickly, but the last step takes 1-2 seconds; enough time to actually see the "spinning wheel" on the last step. When it does *not* work properly, I noticed that the second step (backing up and updating files) would be marked with a red X, and wyUpdate would close almost instantly.
Watching the Task Manager, I was able to confirm that there was only one wyUpdate open and that my application was being properly restarted (as its PID would change). So, the likely culprit at this point seems to be the backing up and updating files step -- looking at the filesystem activity in Process Monitor, I can see that wyUpdate tries to create the LengthConverter.exe file 3 times, each time receiving a "SHARING VIOLATION"; then it waits about 0.3 seconds and tries 3 more times and gets the same error.
However: speaking with our IT guy, he suggested that because of the particular error and because of how infrequently it happened, it's very likely due to our anti-virus scanning the file and not allowing writes at that time. I am personally satisfied with this explanation.
As a workaround, you might consider backing off for a moment if you get a sharing violation when trying to overwrite an executable before retrying. Or, at least prompt the user that although the process was closed, write access to the executable was denied.
I hate to post unrelated questions in the same thread, but I'm not sure this deserves its own post: are you aware that while wyUpdate is open, if a user clicks the cancel button but does not click yes or no to the "are you sure" prompt, the update will still fully apply? I would think that wyUpdate should not close while the prompt is open.