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).

Re: InnoSetup - как записать в x64 ветку реестра?
От: x64 Россия http://x64blog.name
Дата: 15.02.15 21:38
Оценка:
К> Собственно, сабж. Программа 32х-разрядная, инсталлятор тоже 32х-разрядный. В планах потом сделать x64 версию, поэтому текущая x86 версия хранит свои настройки в 64х-разрядной ветке реестра (на x64), чтобы были в одном месте с x64 версией. В инсталляторе хочу записать в реестр дефолтные настройки.

Тебе всего лишь нужно включить 64-bit Mode.
JID: x64j@jabber.ru
Re[2]: InnoSetup - как записать в x64 ветку реестра?
От: Кружок  
Дата: 16.02.15 03:49
Оценка:
Здравствуйте, x64, Вы писали:

К>> Собственно, сабж. Программа 32х-разрядная, инсталлятор тоже 32х-разрядный. В планах потом сделать x64 версию, поэтому текущая x86 версия хранит свои настройки в 64х-разрядной ветке реестра (на x64), чтобы были в одном месте с x64 версией. В инсталляторе хочу записать в реестр дефолтные настройки.


x64>Тебе всего лишь нужно включить 64-bit Mode.


Не, ну я что, зря написал, что приложение 32х-битное, инсталлятор 32х-битный?

In 64-bit mode:

The System32 path returned by the {sys} constant maps to the 64-bit System directory by default when used in the [Dirs], [Files], [InstallDelete], [Run], [UninstallDelete], and [UninstallRun] sections. This is because Setup/Uninstall temporarily disables WOW64 file system redirection [external link] when files/directories are accessed by those sections. Elsewhere, System32 and {sys} map to the 32-bit System directory, as is normal in a 32-bit process.
The {pf} constant is equivalent to {pf64}.
The {cf} constant is equivalent to {cf64}.
...

Re: InnoSetup - как записать в x64 ветку реестра?
От: loginx  
Дата: 16.02.15 05:20
Оценка:
>>текущая x86 версия хранит свои настройки в 64х-разрядной ветке реестра (на x64), чтобы были в одном месте с x64 версией.


не-е-е-е ну если хочется гимороя тогда оно конечно в самый раз
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.