Wow, fast response, I'm impressed.
We install into : <Drive>\Users\<User>\AppData\Local\OurCompany\OurProduct1\ Let's call this "root".wyUpdate is located at root\Updater\wyUpdate.exe I started wyUpdate.exe manually (as you requested). It says program is up to date. I compared client.wyc. It is different from the version 1.0. So, the update to 1.1 changed the file and later crashed but did not replaced the executeables...Have you a conceptual problem 🤓 ? Cough, cough..... It really seems, there is a waekness. I mean, the updater control could easily get the version of the dlll it is implemented in and send it to the wyUpdate.exe. But perhaps my code is not really that good. What we want:
Our App: C# application, Windows Forms unsing updater control.It runs in user context but in background. There is no visible form. The main form is hidden. Only after the user pushes a hotkey our application appears. The application is accessable through the notification area. There, the user can click on our icon and a menu pops up. In the menu the user can select "Update". Then the UpdateForm opens and the user can check for Update. He can then decide to install it.
I added the updater control in my "UpdateForm". I need an instance of the updater if the user wants to update via and also if the program starts because I assumed I need to check for " if (!automaticUpdater.ClosingForInstall)". But as I write this here maybe I have only to do this if I open the UpdateForm and not at program start where we use MainForm? Because the crash happened at program start after the installation so the UpdateForm was not visible I used it only for the check.
Another thing:You write data to the users roaming profile folder (4 *.autoupdate) files. Is this intended? I mean, we don't install our application in the roaming profile. Does this data affect an installation of the same user on another machine?
best regards