Detect MSI 3.1: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
No edit summary |
mNo edit summary |
||
Line 3: | Line 3: | ||
== Description == | == Description == | ||
This function will check the version of the current Windows Installer, and will set a flag for the installer to update with a newer version if necessary. Currently the minimum version is 3.1 (required for Sql Server 2005), but this can be changed by altering the functions. | This function will check the version of the current Windows Installer, and will set a flag for the installer to update with a newer version if necessary. Currently the minimum version is 3.1 (required for Sql Server 2005), but this can be changed by altering the functions. | ||
== The Function == | == The Function == |
Revision as of 12:49, 19 July 2007
Author: tdue (talk, contrib) |
Description
This function will check the version of the current Windows Installer, and will set a flag for the installer to update with a newer version if necessary. Currently the minimum version is 3.1 (required for Sql Server 2005), but this can be changed by altering the functions.
The Function
;********************************************************************* ; UpdateMSIVersion ; ; This function will check the version of the installed Windows ; Installer. This is done by checking the version of the ; $SYSDIR\MSI.dll (recommended method by the installer team). ; ; Usage ; Call UpdateMSIVersion ; Pop $MSI_UPDATE ; If $MSI_UPDATE is 1, install latest MSI. ;********************************************************************* Function UpdateMSIVersion GetDllVersion "$SYSDIR\MSI.dll" $R0 $R1 IntOp $R2 $R0 / 0x00010000 IntOp $R3 $R0 & 0x0000FFFF IntCmp $R2 3 0 InstallMSI RightMSI IntCmp $R3 1 RightMSI InstallMSI RightMSI RightMSI: Push 0 Goto ExitFunction InstallMSI: MessageBox MB_OK|MB_ICONEXCLAMATION \ "Windows Installer 3.1 was not detected; this is required for installation. \ Setup will install the Windows Installer. This may take awhile, please wait." Push 1 Goto ExitFunction ExitFunction: FunctionEnd