Я пытаюсь отладить проблему с Cabal, где она не будет работать, если я изменю значение переменной среды% USERPROFILE% до ее запуска.Кажется, я проследил ошибку до вызова win32 sHGetFolderPath, указывающего на SIDL_APPDATA, который, похоже, не работает, если эта переменная изменена.
Хотя я не совсем уверен, куда идти дальше.Почему этот звонок прерывается?Почему изменение этого env-var не просто указывает на каталог пользователя в другом месте?(Я пытаюсь заставить cabal работать корректно с флэш-накопителя.)
По той же теме вызовы той же функции с помощью SIDL_PROFILE возвращает мой действительный (вошедший в систему) каталог пользователя (C: / Docs иНастройки / Я), даже несмотря на то, что консоль, на которой запущен GHCi, имела все env-var, которые я мог найти, с каталогом пользователя в нем, сбрасываемым на флэш-диск.Эти вызовы Win32 просто полностью игнорируют переменные окружения?