WiseInstallationStudioで記述された32ビットアプリケーションと32ビットインストーラーがあります。私は知っています...私はワイズを使うべきではなく、他のものに切り替えるべきです。しかし、今のところ、私はそれに固執しています。
私たちのアプリケーションはグラフィックを多用し、パフォーマンスを向上させるために、実行中にデスクトップ構成(Windows Aero)を無効にする必要があります。これは、32ビットシステムで次の場所にレジストリエントリを追加することで実現しました。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
の値はDISABLEDWM
。
これにより、EXEのプロパティの[互換性]タブにある[デスクトップコンポジションを無効にする]チェックボックスがデフォルトでオンになります。
これは32ビットシステムでは完全に機能しますが、64ビットシステムでインストーラーを実行すると、Windowsはレジストリエントリの作成をにリダイレクトしHKLM\SOFTWARE\Wow6432Node
、フラグが正しく設定されません。64ビットレジストリビューで手動でエントリを作成すると、機能します。
では、32ビットインストーラーから64ビットレジストリビューでこのレジストリキーを強制的に作成するにはどうすればよいですか?または、レジストリエントリの作成とは別に、このプロパティを設定するためのより良い方法はありますか?