So… apps can create folders there, but not files?
The OS can. The OS is responsible for creating named folders on-demand, and uses its own permissions to do so.
Applications? There is a chance they can, but a good chance they can't. There's certainly no contract stating they can, which is one of the major reasons applications shouldn't be using that path.
Bullshit. If I want VirtualBox to save some settings specific to me why shouldn't they go under %USERPROFILE%\VirtualBox ?
You can put them where you want, I'm not your dictator and neither is Windows.
But VirtualBox shouldn't use that path by default, because there's a very good chance it'll fail on a particular Windows install. By default it should be using Documents/VirtualBox, or AppData/VirtualBox (or RoamingAppData, but we won't get into that), depending on whether the user is expected to interact with the files or not.
Maybe but VirtualBox doesn't for the VMs, and either way, its still under the home directory.
Ok? So their product is buggy. What do you want?
edit: Same applies to OneDrive or DropBox. Under the home directory.
Then those products are buggy, too.
I'm telling you how to write working, correct software for Windows. The fact that a ton of Windows software isn't correct and only works by accident (as opposed to following the OS contracts) is irrelevant.