Вы можете передавать значения свойств в качестве параметров командной строки в msiexec. Если я правильно помню, это должны быть открытые свойства (имена должны быть прописными). Например:
msiexec /i myproduct.msi LANG=en PRODUCTKEY=mycompany USER=admin
В коде WiX вы можете ссылаться на них как на обычные свойства, как если бы вы определяли их в коде. Обратите внимание, что вы должны обрабатывать ситуацию, когда значение свойства не передается или данные не соответствуют вашим ожиданиям. Вы можете либо прекратить установку и попросить пользователя предоставить соответствующие данные, либо использовать значения по умолчанию.
Чтобы записать эти значения свойств в реестр, используйте обычный подход с RegistryKey / RegistryValue элементами.