Determine the version of MS Access: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Wikipedia python library)
 
m (Updated author and download links, and changed format of some pages.)
Line 54: Line 54:
</highlight-nsis>
</highlight-nsis>


Page author: preisl
Page author: [[User:preisl|preisl]]

Revision as of 12:19, 23 April 2005

Description

This function determines the MS Access version by checking some registry keys.

The Function

;
; Determines the MS Access version by finding the correct registry key
;
;  Input: None
; Output: 97,2000,XP
;
; Usage:
;
;    Call AccessVersion
;    Pop "$1"
;    MessageBox MB_OK|MB_ICONINFORMATION "Access version: $1"
;
 
Function AccessVersion
 
  ; Save R0,R1 on the stack
  Push $R1
  Push $R0
 
  ClearErrors
  ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Office\10.0\Access\InstallRoot" "Path"
  IfErrors SearchForVersion2000
  StrCpy $R1 "XP"
  Goto Found
 
  SearchForVersion2000:
    ClearErrors
    ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Office\9.0\Access\InstallRoot" "Path"
    IfErrors SearchForVersion97
    StrCpy $R1 "2000"
    Goto Found
 
  SearchForVersion97:
    ClearErrors
    ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Office\8.0\Access\Options" ""
    IfErrors NotFound
    StrCpy $R1 "97"
    Goto Found
 
  NotFound:
    ; MessageBox MB_OK|MB_ICONEXCLAMATION "NSIS was not able to detect your MS Access version"
    StrCpy $R1 ""
 
  Found:
  Pop $R0
  Exch $R1
 
FunctionEnd

Page author: preisl