6

我们的应用程序需要安装 HASP SRM 设备驱动程序才能安装和运行我们的应用程序。

目前,只有他们的 5.50 驱动程序在所有测试平台上始终如一地工作(他们的 5.75(官方)和 5.86(测试版)驱动程序在大约三分之一的测试计算机上崩溃)。

因此,他们的 5.50 驱动程序很好,当前可用的任何东西都坏了,并且 5.50 驱动程序拒绝在 Vista 和 Windows 7 下加载。但是,如果我将 exe 的属性设置为“XP 兼容模式”,那么他们的 5.50 驱动程序安装并运行成功.

我翻遍了 Windows 7 下的注册表,发现当我要求兼容模式时,至少有一个条目:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\
    full-path REG_SZ WINXPSP3

在尝试启动 5.50 驱动程序安装程序之前,我应该能够从我们的安装程序中添加该密钥。

问题:

  • 在哪里可以找到有关兼容性模式的更完整讨论?
  • Vista 与 Windows 7 下的键/设置是否不同?
  • 32 位和 64 位下的键/设置是否不同?
  • 当我调用 CreateProcess() 时,有没有办法直接要求这个?
4

1 回答 1

3

您可以设置__COMPAT_LAYER环境变量(通过在调用 CreateProcess 之前在您的进程中设置它,或者为 CreateProcess 构建一个新的环境块)

于 2010-01-26T09:40:54.600 回答