[AccessD] SR level of Office

MartyConnelly martyconnelly at shaw.ca
Tue May 11 12:32:29 CDT 2004


 From the MS dll help database for msaccess.exe
http://support.microsoft.com/default.aspx?scid=http%3a%2f%2fsupport.microsoft.com%2fservicedesks%2ffileversion%2fdllinfo.asp&fp=1
Here are the SP versions for Access
It skips some Version numbers  like Office 2000 SP2 and Office 2003 beta
Maybe the Office 2000 SP2 download is  no longer available, I haven't 
checked.

 File Name    Version        More Information     Description   
 msaccess.exe    9.0.0.6620       More Information     Microsoft Access 
for Windows 2000  SP3
 msaccess.exe    9.0.0.3822       More Information     Microsoft Access 
for Windows 2000 SP1
 msaccess.exe    9.0.0.2719       More Information     Microsoft Access 
for Windows  2000 standard
 msaccess.exe    8.0.0.5903       More Information     Microsoft Access  
97 SP2
 msaccess.exe    8.0.0.4122       More Information     Microsoft Access  
97 SP1
 msaccess.exe    8.0.0.3512       More Information     Microsoft Access  
97 standard
 msaccess.exe    11.0.5614.0       More Information     Microsoft Office 
Access  2003
 msaccess.exe    10.0.4302.0       More Information     Microsoft 
Access  XP SP2
 msaccess.exe    10.0.3409.0       More Information     Microsoft 
Access  XP SP1
 msaccess.exe    10.0.2627.1       More Information     Microsoft 
Access  XP standard
 msaccess.exe            More Information      Access 2.0

Here is some quick and dirty code to get ALL Access versions installed 
on the machine
No matter where the user has stuffed them. ie. in 
\MySpecial\OfficeAccessDirectory
ie Version 8.0.0.5903  is Access 97 SP-2

However newer versions of  McAfee Ver 8.0 will cough and splutter on 
this and complain about
running scripts. I could switch this code to use API calls instead of WSH

Sub tryver()
Dim i As Long
Dim strPath As String
Dim strVersion As String

For i = 8 To 11
    strPath = GetAccessPath(i)
    strVersion = GetVersion(strPath)

    If Len(strPath) Then
        MsgBox "Microsoft Access version " & strVersion & " is installed 
at" _
                  & strPath, 64, "Found It"
    End If
Next
End Sub


Function GetAccessPath(Version As Long) As String

Dim wsh As Object
Dim strValue As String

On Error Resume Next

    Set wsh = CreateObject("Wscript.Shell")

    strValue = wsh.RegRead("HKCR\Access.Application." & Version & _
                           "\Shell\Open\Command\")

    GetAccessPath = StripIt(strValue)

End Function

Function StripIt(Arg As String) As String
'Removes any command line parameters or quotes from the string

    If InStr(Arg, "/") > 0 Then
      StripIt = Trim(Left(Arg, InStr(Arg, "/") - 1))
    Else
      StripIt = Arg
    End If

    If Left(StripIt, 1) = Chr(34) Then
        StripIt = Mid(StripIt, 2)
    End If

    If Right(StripIt, 1) = Chr(34) Then
        StripIt = Left(StripIt, Len(StripIt) - 1)
    End If

End Function

Function GetVersion(FilePath) As String
'Returns version for FilePath
Dim fso As Object
Dim temp As String

On Error Resume Next

   Set fso = CreateObject("Scripting.FileSystemObject")

   temp = fso.GetFileVersion(FilePath)

   If Len(temp) Then
      GetVersion = temp
   Else
      GetVersion = 0
   End If

End Function


Stephen Bond wrote:

>The construct SysCmd(acSysCmdAccessVer) gets me the Access version I am running.  I have looked thru SysCmd and can't find how to determine the patch level.
> 
>I want to disable some command buttons whose underlying code depends on Access 2000 being patched to service pack 3.
> 
>Any ideas?
> 
>Stephen Bond 
>
>
>  
>

-- 
Marty Connelly
Victoria, B.C.
Canada






More information about the AccessD mailing list