» SetRegView: использование реестра от разрядности ОС

K.A.V.
www.oszone.net
22.02.2010
Автор: kotkovets
Последнее обновление: 18.12.2010
SetRegView 32|64|lastused
Устанавливает вид доступа к реестру, затрагивающие команды NSIS для работы с реестром
Исключение: InstallDirRegKey. Вместо этой команды можно использовать ReadRegStr
В ОС x64 есть два вида доступа: для 32-разрядных приложений и для x64-разрядных приложений.
По умолчанию: для 32-разрядных приложений - WOW64, т.е доступ к 32-разрядному виду реестра.
Использование SetRegView 64 позволяет инсталлятору NSIS использовать доступ к 64-разрядному виду реестра.
!include x64.nsh
OutFile "SetRegView.exe"

Section
${If} ${RunningX64}
   SetRegView 32
   ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion ProgramFilesDir
   MessageBox MB_OK $0 # C:\Program Files (x86)
   SetRegView 64
   ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion ProgramFilesDir
   MessageBox MB_OK $0 # C:\Program Files
${Else}
   ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion ProgramFilesDir
   MessageBox MB_OK $0 # C:\Program Files
${EndIf}
SectionEnd