我正在使用 InstallShield 2012 创建安装程序,并且正在使用 SYSINFO 主要和次要值检查操作系统。SYSINFO.nWinMajor 给出了正确的值,但 SYSINFO.nWinMinor 给出了 Windows 7 的 0。它应该是 1。
有人知道上面的解决方案吗?
我正在使用 InstallShield 2012 创建安装程序,并且正在使用 SYSINFO 主要和次要值检查操作系统。SYSINFO.nWinMajor 给出了正确的值,但 SYSINFO.nWinMinor 给出了 Windows 7 的 0。它应该是 1。
有人知道上面的解决方案吗?
MSI 中的自定义操作在VistaRTMVersionLie
Windows 7 上进行了填充,因此 InstallShield 用于填充的 APISYSINFO
声称可以在 Windows Vista 上运行。这不能被安装本身禁用,因此最好的办法是引用VersionNT
或VersionNT64
属性(在延迟操作的情况下可能间接引用),因为它们具有正确的版本信息。
有关其他详细信息,例如有关为何应用 shim 的信息,请参阅 Chris Jackson 的Why Custom Actions get a Windows Vista Version Lie on Windows 7 。