I think you're missing a few things.
Updating the dotNET Framework isn't (only) about the installer. It's also about the program being updated. If the Framework isn't updated, then the updated program cannot run.
I should also point out that C#, and to a great extent, C++ *IS* dotNET. Its used like Legos to build programs quickly. If the developers had to build their own framework from the ground up and maintain it (as they used to in the past), that's a huge drain on development time. You wouldn't be seeing near the capabilities you have now.
Yes, updates can take some time. They can break things. They may introduce new bugs while solving old ones. Updating software should be approached with all deliberate intent, when there is time to spend to do it right (which includes rolling back if necessary).
----------------------------------
If you are going to fly by the seat of your pants, expect friction burns.
"I don't know" is the beginning of knowledge, not the end.