Я установил приложение для рабочего стола Windows. Установщик - Inno Setup, и он поместил мой лицензионный ключ для приложения в узел wow6432. Но когда я запускаю приложение, оно говорит мне, что не может найти лицензию. Могу ли я сделать что-нибудь, чтобы приложение нашло лицензию?

1 ответ1

3

Вы ничего не можете сделать, чтобы приложение работало.

Что должно произойти, так это то, что разработчик приложения, если он знает, что лицензия всегда будет в 32-битном реестре, должен изменить свой вызов RegOpenKeyEx из

RegOpenKeyEx(HKEY_CURRENT_USER, ...);

в

RegOpenKeyEx(HKEY_CURRENT_USER | KEY_WOW64_32KEY, ...);

Или 32-разрядный установщик должен поместить информацию о лицензии в 64-разрядный реестр, изменив:

RegOpenKeyEx(HEKY_CURRENT_USER, ...)

в

RegOpenKeyEx(HKEY_CURRENT_USER | KEY_WOW64_64KEY, ...);

Поскольку ни одна из этих вещей не находится под вашим контролем; Вы должны просто скопировать информацию о лицензии из 32-битного реестра в 64-битный реестр самостоятельно, используя RegEdit.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .