SanderMertens/bake

Bake setup breaks PATH on windows

ZeroErrors opened this issue · 0 comments

At the moment when installing bake this bit of code runs during the setup process to try and add the bake directory to the PATH environment variable. It does this by creating a .bat file that uses setx to set the PATH environment variable to the content of the current PATH variable (stored in BAKE_USERPATH which is crated by the setup script) and combines it with the bake directory.

There are a couple issues with this.

  1. This causes the system wide PATH contents to get copied into the local user PATH variable.
    Since the user and system PATH are just appended together this duplicates the content if the setup script is run more than once.
  2. setx has a limit of 1024 characters and it will truncate the string meaning you can lose paths previously in the local PATH variable
    (see: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx#remarks)

The correct way to do this is to modify the values in the registry to fetch the current local user PATH variable, append the bake path and then set the users PATH variable in the registry again.

I think temporarily it would be ideal to disable this functionality as it can break users environments.