videolan - vlc player is a terrible example - or a good example of how NOT to do things.
it may have improved recently but what it used to do was uninstall any older version before installing the new, and re-default any special user settings you had. (which it keeps in two separate obscure files: vlcrc and vlc-qt-interface.ini)
So your choice of controls you want to see on screen, and what file types you wanted associated, would get lost.
I had to resort to copying all of app data. doing the upgrade, replacing app data, in order to work around that. and the authors' via their forum showed no interest in fixing what to them was not a bug, or even in explaining how to better work around losing config info.
I use vlc only for videos, I don't want it to take control of audio files as foobar2000 is better for that, and vlc also stupidly associates itself with .bin files if you let it.
the remove association was also buggy IIRC. e.g. install zoomplayer as default video player , then install vlc, then remove vlc would not give the associations back to zoom player, they would go to some windows default. to be fair that one is probably windows fault not vlc.
PS although I still use vlc, I don't trust their updates until they have been out for some time, & I am banned from their forum for complaining about how new releases almost always introduced new bugs ( kobo style ! ) & that the french approach to software development appeared to be code-release-test, not code-test-release