我有一个用 Wise Installation Studio 编写的 32 位应用程序和一个 32 位安装程序。我知道......我不应该使用 Wise,我应该改用其他东西。但现在,我坚持下去。
我们的应用程序是图形密集型的,为了提高性能,我们希望它在运行时禁用桌面合成 (Windows Aero)。我们在 32 位系统上通过在以下位置添加注册表项来完成此操作:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
值为DISABLEDWM.
这会在我们的 EXE 属性的兼容性选项卡中设置“禁用桌面合成”复选框,以便默认检查。
这在 32 位系统上完美运行,但在 64 位系统上运行安装程序时,Windows 会将注册表项的创建重定向到HKLM\SOFTWARE\Wow6432Node,并且标志设置不正确。如果我在 64 位注册表视图中手动创建一个条目,那么它可以工作。
那么如何从我们的 32 位安装程序强制在 64 位注册表视图中创建此注册表项?或者除了创建注册表项之外,还有更好的方法来设置此属性吗?