This is the case of file paths changing across operating systems over different releases of operating systems. They can change due to some property in the operating system changing value. Or the place to keep that property changing. Or the property name itself changing. Or the process of determining the file path changing in some manner.
The reason for this change is that some one in operating system design team decided to change it, or the packagers of the software being used decided to change locations of files. The minds of these people are NOT deterministic.
You can analyze the whole operating system in your program, but you wouldn't know the location of the exact file you are looking for. This is because name of the file could have changed, or there could be many files of the same name. So even by analyzing the operating system finding file path in unknown environment is NOT deterministic.