Я только что установил программный пакет. Этот пакет создал ярлык на рабочем столе для запуска программного обеспечения. Когда я дважды щелкаю ярлык, он запускает программное обеспечение. В интерфейсе программного приложения отображается значение% 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 \ App Paths. В ключе было строковое значение с именем «Путь». Это добавляется в начало, когда используется ярлык. Удаление этого значения Path из реестра устранило это несоответствие.