На самом деле все очень просто:
в 64-битной винде делается разный маппинг в реестре и на файловой системе. Если из 64-битного приложения смотреть в «C:\Windows\System32», то увидишь 64-битные файлы, а если смотреть туда же из 32-битных прог, то быдешь на самом деле видеть «C:\Windows\SysWoW64».
С реестром примерно похоже — инсталлер 32-битный, он без спец. извратов, вернее, решений, не видит 64-битные ветки
О некоторых особенностях написания дистрибутивных пакетов на NSIS для х64 систем