2016-04-21 7 views
0

Многие разработчики InstallShield сомневаются в том, как добавить реестр в 64-битную область с использованием функции IstallScript в InstallShield.Как добавить реестр в 64-битную область с помощью функции Install Script?

Если наш установщик 32bit EXE, и если мы устанавливаем этот установщик на 64-битной машине, то все функции RegDB указывают на Wow6432Node область регистрации. Но много раз мы должны добавить реестр в 64-битную область, используя 32-битный установщик. Итак, как мы можем это достичь?

См., Например, Если я выполняю следующий код в InstallScript.

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
RegDBCreateKeyEx("SOFTWARE\\XYZ", ""); 

Я хочу добавить эту запись в реестр под HKLM\SOFTWARE\XYZ. Но эта запись добавляется под номером HKLM\SOFTWARE\Wow6432Node\XYZ.

Какое решение добавить этот реестр под 64-битную область?

ответ

1

Существует два решения для достижения этого сценария.

Первое решение есть

Мы можем создать компонент, сделать его 64 бит, и мы добавим запись реестра под ним в InstallShield.

Второе решение есть

Если мы хотим, чтобы добавить реестр, который не зависит от какого-либо компонента, то можно использовать REGDB_OPTIONS.

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY; 
RegDBCreateKeyEx("SOFTWARE\\XYZ", ""); 

Это добавит реестр в область 64 бит.