У меня есть 32-разрядное приложение и 32-разрядный установщик, написанный в Wise Installation Studio. Я знаю ... Мне не следует использовать Wise, и я должен переключиться на что-то другое. Но сейчас я застрял с этим.
Наше приложение интенсивно использует графику и для повышения производительности мы хотим, чтобы оно отключало композицию рабочего стола (Windows Aero) во время работы. Мы достигли этого на 32-битных системах, добавив запись в реестре по адресу:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
со значением DISABLEDWM
.
Это устанавливает флажок «Отключить композицию рабочего стола» на вкладке совместимости в свойствах нашего EXE-файла, который будет установлен по умолчанию.
Это прекрасно работает в 32-разрядных системах, но при запуске установщика в 64-разрядной системе Windows перенаправляет создание записей реестра на HKLM\SOFTWARE\Wow6432Node
, и флаг устанавливается неправильно. Если я вручную создаю запись в 64-битном представлении реестра, то это работает.
Итак, как я могу заставить этот раздел реестра быть создан в 64-разрядном представлении реестра из нашего 32-разрядного установщика? Или есть лучший способ установить это свойство отдельно от создания записи реестра?