I'm going to stick with the way I have now which is to add automatically what I need into User Path (as this doesn't require admin as System Path does), and change that value in case the location is changed because of user action.
It would have been nice to skip that process of having to add a variable into PATH, but as I already have something that works, I'll stick with that and continue the project, and maybe when it is finished I'll take another look at this.
Thank you all for all of your suggestions!
As a note, to skip having to add a variable to the PATH, can be done using CreateProcessW. I didn't got to a point where the code would work due to my lack of C++ knowledge. I'll come back to this when the project is done.