Honestly, I haven’t even bothered doing that with Windows in a pretty long time—maybe since the 7 to 8 transition, after which they’ve had a pretty robust upgrade path. About the only place I do do that regular is on Linux, but that’s because it’s stupidly easy to do so due to the packet managers, not because I actually have to.