Detect MDAC 2.6: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Updated author links.) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{ | {{PageAuthor|icebrrrg}} | ||
== Description == | == Description == | ||
This function will check the registry to see what version of MDAC is installed, and will set a flag for the installer to update with a newer version if necessary. Currently the minimum version is 2.6 (required for SQL2K connections), but this can be changed by altering the functions. | This function will check the registry to see what version of MDAC is installed, and will set a flag for the installer to update with a newer version if necessary. Currently the minimum version is 2.6 (required for SQL2K connections), but this can be changed by altering the functions. | ||
Line 58: | Line 56: | ||
FunctionEnd | FunctionEnd | ||
</highlight-nsis> | </highlight-nsis> | ||
Note: Checking for "FullInstallVer" instead of "Version" might be better. "Version" should be "2.0.0" even with MDAC 2.8. | |||
[[Category:Other Products Version Detection Functions]] |
Latest revision as of 12:37, 16 September 2009
Author: icebrrrg (talk, contrib) |
Description
This function will check the registry to see what version of MDAC is installed, and will set a flag for the installer to update with a newer version if necessary. Currently the minimum version is 2.6 (required for SQL2K connections), but this can be changed by altering the functions.
-m-
The Function
;-------------------------------- ; UpdateMDACVersion ; ; Written by Matthew Kershaw (matthew.kershaw@us.didata.com) ; ; This function will set a flag which determines if a newer ; version of MDAC is required. Currently will set the flag ; to 1 (updated) for MDAC 2.5 or newer; will allow 2.6x, 2.7x, ; 2.8x to pass without updating. If the MDAC is newer than ; 2.8x, the function won't support it (i.e. it will require ; an update). ; ; Usage: ; Call UpdateMDACVersion ; Pop $MDAC_UPDATE ;If $MDAC_UPDATE is 1, install latest MDAC Function UpdateMDACVersion ClearErrors ReadRegStr $1 HKLM "SOFTWARE\Microsoft\DataAccess" "Version" IfErrors MDACNotFound MDACFound MDACFound: StrCpy $2 $1 3 ;e.g. $2 is now "2.5" StrCmp $2 "2.6" MDAC26Found StrCmp $2 "2.7" MDAC26Found StrCmp $2 "2.8" MDAC26Found Goto MDACNotFound MDAC26Found: Push 0 Goto ExitFunction MDACNotFound: MessageBox MB_OK|MB_ICONEXCLAMATION \ "The Microsoft Data Access Components version 2.6 (or later) \ was not detected; this is required for installation. Setup will \ install the MDAC." Push 1 Goto ExitFunction ExitFunction: FunctionEnd
Note: Checking for "FullInstallVer" instead of "Version" might be better. "Version" should be "2.0.0" even with MDAC 2.8.