Env 변수를 만든 다음 Win7 - 64 비트의 NSIS 설치 프로그램 스크립트에서 PATH 변수에 추가하고 있습니다. NSIS : 생성 된 환경 변수가 작동하지 않습니다.
Push "MyPath"
Push "D:\MyFolder\bin;D:\MyFolder\lib"
Call WriteEnvStr
Push "%MyPath%"
Call AddToPath
지금 설치 후 나는 cmd를 프롬프트
MyPath=D:\MyFolder\bin;D:\MyFolder\lib
Path=%MyPath%;<my existsing path>
에서 변수 그러나 런타임에 찾을 수없는에서 모든 EXE/DLL을 모두 볼 수 있습니다. 관리자 권한으로 cmd 프롬프트를 실행 한 다음 exe를 실행하면 정상적으로 실행됩니다. exe를 관리자 권한으로 직접 실행해도 작동합니다.
환경 편집기를 열면 MyPath 변수를 두 번 클릭하고 아무 것도 변경하지 않고 확인을 클릭하면 내 exe가 관리자 권한으로 실행되지 않고 잘 실행됩니다. 내가 cmd를 프롬프트에서 경로를 확인하는 경우 그리고 지금, MYPATH 변수는 내가 추가 ENV 변수를 생성 한 후 "EnvVarUpdate 전화"시도
MyPath=D:\MyFolder\bin;D:\MyFolder\lib
Path=D:\MyFolder\bin;D:\MyFolder\lib;<my existsing path>
치환 그러나 그것은 작동하지 않습니다.
것은 내가 NSIS 유니 코드 버전/추가는 레지스트리를 사용하여 훨씬 더 큰 것 절단에 의해 경로에 데이터의 손실없이 경로를 수정 2.46.3
SuperUser에서 NSIS 문제는 아니지만 env에 문제가있는 것으로 보이는 답변을 보았습니다. 다른 env 내의 변수. 변하기 쉬운. 그것이 얼마나 진실인지 모르겠습니다. – vinaym