Я только что установил программный пакет. Этот пакет создал ярлык на рабочем столе для запуска программного обеспечения. Когда я дважды щелкаю ярлык, он запускает программное обеспечение. В интерфейсе программного приложения отображается значение% PATH%.
Если я запустил ту же самую команду, которая содержится в ярлыке, из окна cmd.exe, тогда значение% PATH% в приложении будет немного другим. В первом случае (ярлык) к пути добавляется дополнительная папка по сравнению со вторым случаем запуска из командной строки.
Я ломаю себе голову над тем, что может привести к тому, что ярлык приведет к другому окружению чем командная строка. Есть ли у кого-нибудь теория относительно того, что может вызвать такое поведение? Я исследовал ярлыки Windows для некоторых экзотических возможностей, которые могли бы быть задействованы, но не нашел ни одного.
И ответ - специальный ключ реестра, описанный здесь. https://msdn.microsoft.com/en-us/library/windows/desktop/ee872121 (v = vs.85) .aspx
Установленное мной программное обеспечение имеет запись в разделе HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Пути приложений. В ключе было строковое значение с именем «Путь». Это добавляется в начале при использовании ярлыка. Удаление этого значения Path из реестра устранило это несоответствие.