문제

I am creating installer using InstallShield 2012 and I am checking OS using SYSINFO major and minor values.SYSINFO.nWinMajor is giving correct value but SYSINFO.nWinMinor is giving 0 for windows 7.It should be 1.

Do anyone know the solution for above ?

도움이 되었습니까?

해결책

Custom actions within an MSI are shimmed with VistaRTMVersionLie on Windows 7 so that the APIs which InstallShield uses to populate SYSINFO are claiming to run on Windows Vista. This cannot be disabled by the installation itself, so your best bet is to reference the VersionNT or VersionNT64 properties (possibly indirectly in the case of a deferred action), as they have the correct version information.

See Chris Jackson's Why Custom Actions get a Windows Vista Version Lie on Windows 7 for additional details, such as information on why shim is applied.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top