Hello,

why do you run wucheck.exe and (if it returns value 1) the wupdate.exe client? Why don't you use wucheck.exe for both check for the update and download the update? Do you need the GUI?

BTW, wupdate.exe would never restart Program 2. The logic in both wucheck.exe and wupdate.exe is identical (the main difference is that wupdate.exe runs elevated and has a GUI). On download failure it would return an error. I think it downloaded the update from the server and then this update did not work as expected. So something in your Program 2 update process is not correct (in your own app that calls wucheck.exe/wupdate.exe or the update script). I can't tell you what you are doing wrong (there is not enough information available).

Friedrich