Kurz: Dein "Programm" ist eine (odere mehrere)
DLL(s), die von einem Miniprogramm geladen werden und deren Windowfunktionen ausgeführt wird (such mal nach
rundll, könnte helfen
). Wenn du jetzt ein Update startest, kickt dein Programm die DLLs aus dem Speicher und nimmt stattdessen die neuen.
Ich hoffe, das war kurz und verständlich erklärt