NSIS 설치 프로그램을 통해 응용 프로그램의 래퍼를 만들고 있습니다. 래퍼에서 내 응용 프로그램에 대한 일부 레지스트리 항목을 수행해야합니다. 항목은 레지스트리 경로 "HKLM \ SOFTWARE \ Wow6432Node \ Microsoft"및 "HKLM \ SOFTWARE \ Microsoft"에 있습니다.NSIS에서 레지스트리 항목 가져 오기 중 오류가 발생했습니다.
문제는 NSIS의 [ExecWait "regedit.exe/s registry.reg"] 명령을 통해 레지스트리를 가져올 때 레지스트리 항목이 "HKLM \ SOFTWARE \ Microsoft"경로에 추가되지 않는 것입니다. , 다른 항목에서만 추가됩니다. 그리고 이것과 함께 NSIS 설치에서 "HKLM \ SOFTWARE \ Wow6432Node \ Wow6432Node \ Microsoft"경로에 새로운 항목이 생깁니다.이 항목은 레지스트리 파일에 언급 된 레지스트리 항목을 포함하지 않았기 때문에 아무데도 나오지 않습니다.
레지스트리 파일을 검사했는데 문제가 없습니다. 직접 레지스트리 파일을 실행하여 시도하고 또한 CMD (regedit.exe/s registry.reg)뿐만 아니라 박쥐 파일에서 동일한 명령을 직접 시도했습니다. 모두 잘 작동합니다. NSIS에서만 작동하지 않습니다. 어떤 도움이라도 좋을 것입니다.
편집 : 운영 체제 : Windows 7, 64 비트
NSIS 버전 : 2.46
. 그리고 예, 'reg2nsis'응용 프로그램을 사용하여 WriteRegStr 및 SetRegView와 같은 기본 기능을 사용할 수 있습니다. reg 파일을 변환하지만 문제는 변환 된 응용 프로그램에 잘못된 레지스트리 값을 제공하는 버그입니다. 그래서 Wow6432Node에 직접 참조를 포함하는 레지스트리 파일을 변환하려고한다면 기본 기능 –
을 사용하는 옵션을 버렸을 것입니다. 아마도 Reg2nsis가 제대로 작동하지 않을 것이므로 수동으로해야합니다. – cristallo
C : \ Windows \ Syswow64 \ REGEDIT/s MYapp.reg 그것은 꽤 더러운 솔루션이며 제대로 작동하는지 확실하지 않습니다. – cristallo