AFAIK,Windows Server 2019 基于 Windows 10 1809(请参阅 HKLM\Software\Microsoft\Windows NT\CurrentVersion\ReleaseID),因此 GUID 相同,即 {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}。
很高兴您找到了出路,但这里有一些其他有趣的解决方案:
大多数开发人员实际上只是将按钮变灰(disable=True),但实际上将调用的代码不会检查按钮是否被禁用。
有一些专门设计用于“重新启用”MFC gui 按钮的工具。对我有用的是 TurnItOn!启用指向作者网站的链接
有了它,只需启用该按钮即可享受。如果这不起作用,则存在可能支持各种 MFC / GDI 控件的其他类似工具。
另一批解决方案:
- Windows 兼容模式(可能不起作用)
- 使用 SandboxIE 沙盒来安装您的软件,诱使它认为它正在 Windows 早期版本上运行。如果您需要调整沙箱返回的注册表项,您可以使用Microsoft Procmon找到您的安装程序正在读取的注册表项。
只是不要忘记在您的安装程序可执行文件上创建一个进程过滤器,以减少您的搜索范围。找到密钥后,从沙箱中打开 regedit.exe 并修改相应的 GUID。(免责声明:如果 GUID 是由某些内部 Microsoft API 提供的,则可能不起作用......如果是这样,则需要 C 技能才能获得该 API 的输出)。
- 将 Virtualbox 与以前的 Windows 版本一起使用(不是优雅的解决方案)
- 猜猜你的软件是用什么安装程序打包的,然后用 7zip 打开它或任何工作(适用于 NSIS,不适用于 InstallShield)
还有一个非常终极的解决方案,需要一些工作,但通常效果很好:为您的软件创建一个备用安装程序:
- 检查在较早的 Windows 版本上安装软件时创建的注册表设置和文件。使用RegShot跟踪注册表修改(过滤掉总是在变化的键,如 catroot 等)。同样,您可以使用 SandBoxie 轻松跟踪文件修改。获得该信息后,只需创建一个包含您的文件和 .reg 文件的 SFX 文件,您可以使用 reg import file.reg 导入该文件(可以直接从 SFX 制造商启动,即 7zip 或类似的东西)另外检查您的软件与一些运行时(Visual C 左右)捆绑在一起,并将它们添加到您的安装程序中。
希望这能有所帮助。