Skip to content
⌘ NSIS Forum Archive

Checking for MDAC / Jet 4.0 SP8 / Windows SP

4 posts

RossW#

Checking for MDAC / Jet 4.0 SP8 / Windows SP

1) I see that the latest version of NSIS includes the WinVer function, but how do I check for WinXP SP2 or Win2k SP4? I want my installer to verify that the target machine is at least at these service packs.
2) Does anyone know if the lastest version of MDAC / Jet 4.0 SP8 is automatically included in WinXP SP2 / Win2k SP4? In other words, is it sufficient just to check the windows service pack level or do I also need to check for those components?
3) Is it possible to code a custom install page that shows to the user the component check, i.e a list of items that are checked off (if installed) or unchecked with how-to-resolve text?

Thanks,
Ross
kichik#
  1. You can use Afrow's version plug-in.
  2. No idea.
  3. You can create a custom page and edit it at runtime according to the available components using simple string manipulation and WriteINIStr or MUI_INSTALLOPTIONS_WRITE.
RossW#
Thanks Kichik. But if I remember correctly about that plug-in, it wouldn't allow me to compare a user's sp build (for example, if WinXP SP 2 corresponded to 8.004.033 and if a user had SP3 8.004.120, my installer should accept that; if a user was at SP1 8.003.015, however, it should warn the user).
kichik#
You can use GetVersionEx with the System plug-in to get wServicePackMajor and wServicePackMinor. Just make sure you call it just for NT4 SP6 and above.
System::Alloc 156
Pop $0
System::Call *$0(i156)
System::Call kernel32::GetVersionEx(ir0)
System::Call *$0(i,i,i,i,i,&t128,&i2.r1,&i2.r2)
System::Free $0

DetailPrint "SP $1.$2"