InnoSetup - как записать в x64 ветку реестра?
От: Кружок  
Дата: 15.02.15 20:10
Оценка:
Здравствуйте!

Собственно, сабж. Программа 32х-разрядная, инсталлятор тоже 32х-разрядный. В планах потом сделать x64 версию, поэтому текущая x86 версия хранит свои настройки в 64х-разрядной ветке реестра (на x64), чтобы были в одном месте с x64 версией. В инсталляторе хочу записать в реестр дефолтные настройки.
В хелпе пишут, что надо использовать Root вида HKCU64, но там же пишут, что это вызовет ошибкку на чисто x86 винде. В принципе, наверно можно попробовать флаг noerror (Flags: noerror;). Там в справке пишут про Check: IsWin64 параметр — я так понимаю, что это нужно добавить также, как Flags, в строчку реестра, или нет? Нигде больше про такую опцию, как Check не пишут.

Из справки:

The values may have a suffix of 32 or 64. Root key values with a suffix of 32 (for example, HKLM32) map to the 32-bit view of the registry; root key values with a suffix of 64 (for example, HKLM64) map to the 64-bit view of the registry.

Root key values with a suffix of 64 can only be used when Setup is running on 64-bit Windows, otherwise an error will occur. On an installation supporting both 32- and 64-bit architectures, it is possible to avoid the error by adding a Check: IsWin64 parameter, which will cause the entry to be silently skipped when running on 32-bit Windows.

A root key value without a suffix (for example, HKLM) is equivalent to the value with a suffix of 32 (for example, HKLM32) unless the install is running in 64-bit mode, in which case it is equivalent to the value with a suffix of 64 (for example, HKLM64).

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.