Installer overwrites PATH variable sometimes

Issue #1 resolved
Former user created an issue

I just installed Chicken scheme with this installer and the icons for Windows Explorer and Notepad is gone when they are pinned to either the Start Menu or the Taskbar. Now the "Unidentified" icon is showing.

See the picture for details. On the right side you can see the Windows Explorer window before it got pinned, and on the left you see the result after pinning it. Below it, you can see the Notepad icon pinned.

When I check the "Path" System environment variable I only have "C:\Program Files (x86)\Chicken Scheme\bin". So it seems like Chicken have wiped the entire path. Luckily, I used the following SO question to restore my previous path variable and appended the Chicken path to it.

The installation was done on a Lenovo ThinkPad W520 with Windows 7 Enterprise x64 with Service Pack 1.

Please correct this issue, so that Chicken appends the environment variable instead of overwriting it.

Best regards, Cato Auestad

Comments (8)

  1. Răzvan Rotaru repo owner

    Hmm, I don't see the attached picture. Are you sure you attached it?

    Anyway I don't think it's required. Could you share the content of the "Path" variable instead? But the one before installation? You can send it directly to my email, if you don't want it to be public. Thanks.

  2. bgadfly

    Hi,

    Sorry for the late answer! I don't have the original path at this moment, as the computer I was using are not in my posession as of now. I will update this thread as soon as I do (probably within the next couple of days).

    Note, though, that I will have to censor some directories names in the path which might contain sensitive information. However, I will censor them in such a way that they still contain any special characters or white space as the original name so the structure would be alike.

    Thanks for your patience.

    Cato Auestad

  3. bgadfly

    I have done some more investigation and it seems like there might be an underlying issue here. It seems like Windows have a maximum number of characters allowed in the %PATH% variable, when this exceeds (the limit can be overridden by modifying %PATH% in cmd or regedit) unexpected things can happen. Among them, the issue covered in this ticket.

    You may close this ticket, because I don't think the issue is relevant for the installer, but a byproduct of Windows %PATH% management.

  4. Răzvan Rotaru repo owner

    Well, I could detect this and do something that prevents loosing the entire PATH string (either stop installation or don't chicken to the path). I'll have a look. I'm keeping this bug open for the moment.

  5. Răzvan Rotaru repo owner

    It turns out that the problem lies in the NSIS compiler. Strings are limited to 1024 characters, and this made the installer to erase the PATH variable when it exceeded this limit. I compiled the script with the unicode version of NSIS and the problem does not occur anymore. Issue fixed.

    The Windows limit for the PATH variable still can be reached, but the behavior in this case is different: the "Advanced system settings" from Control Panel yields an error and the windows for changing the variables manually is not shown anymore. I added this case to the TODO list.

  6. Log in to comment