demav,
как понимаю, инсталляция должна пойти, только если введен один из правильных ключей. База ключей, похоже, должна быть в самом инсталляторе. В Inno Setup есть возможность, заявленная как "Support for passworded and encrypted installs", но не знаю, поддерживается ли набор паролей. Если в NSIS есть возможность прервать установку, если строка ввода не удовлетворяет некоему условию (списку валидных ключей), то этого, думаю, достаточно.
P.S. Возможно в Inno Setup тоже есть такая возможность.
P.P.S. Глянул из интереса в справку к Inno Setup.
Пароль, который пользователь должен будет ввести в начале установки.
Используя пароль, задайте директиве Encryption значение yes, иначе файлы сохранятся как простой текст и получить к ним доступ не составит труда.
То есть пароль будет один.
P.P.P.S. Чисто мое мнение, что регистрацию лучше делать в программе, а не в инсталляторе. Человек, имеющий ключ, думаю без труда соберет из твоих файлов, ключей реестра и т.п. свой дистрибут, где ввод ключа не требуется.