2016-09-26 2 views
0

node.js를 업그레이드해야하는지 여부를 알기 위해 NSIS 스크립트에서 노드의 버전 번호에 액세스하려고합니다. 이를 위해, HKLM \ SOFTWARE \ Node.js \ ServerType 키에 필요한 번호가 포함되어있는 것으로 나타났습니다. 일부 레지스트리 키에 액세스 할 수 없습니다.

나는 통해 액세스하려고 :

ReadRegStr $0 HKLM "SOFTWARE\Node.js" ServerType 

그러나 그것은 작동하지 않습니다와 $ 0 항상 비어 있습니다.

나는 이러한 키를 사용하여 이상한 행동을 가지고

ReadRegStr $0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" CurrentVersion 

나에게 자바 JRE에 대한 좋은 버전을 반환합니다,하지만 난 레지스트리에서 수동으로 변경할 때이 프로그램을 실행할 때, 그것은 변경되지 않습니다 NSIS installer => 설치 프로그램이 내가 설정 한 경로 (설치 프로그램이 x86 및 x64에서의 설치 프로그램이 아마도 x64 충돌 일 수 있습니다)에서이 파일을 읽지 못한다는 느낌이 들었습니다.

나는 조금 잃어 버렸고 다음에 무엇을해야할지 모르겠다. 아이디어가 있습니까?

답변

0

Windows 32 비트 응용 프로그램의 64 비트 버전에서는 레지스트리의 특수한 32 비트보기가 표시되며 Regedit에서 보는 것과 다릅니다. Regedit에서 이러한 키의 기초는 Wow6432Node에 있습니다. 일부 키는 두보기에서 공유됩니다.

NSIS에서 64 비트보기에 액세스하려면 SetRegView 명령어를 사용할 수 있습니다.

+0

정확히 내가 뭘 찾고 있었는지, 고마워. – Quadear

관련 문제