Technically it is totally possible to make portable Windows applications and people do it all the time, but it isn't the way applications are typically built and that causes a bunch of problems. Linux has the same issue, really. Linux users will talk about how silly the registry is, but the file hierarchy full of hardcoded paths is pretty much the same damn thing. It is also technically possible to make portable Linux applications, it's just slightly harder than Windows due to a few factors caused by everyone always working within the distro+package manager paradigm. Where they do have some form of "portable" application, they've over-engineered the hell out of it and use containerization to make it happen. AppImage is ok, it's only slightly over-engineered, but sadly even that doesn't work everywhere because of how much of a mess Linux is.
That's a common problem with Microsoft. One team makes an elegant design but another team doesn't fully understand it and thwarts the improvements made.