How to check if Software is loaded on a users C: drive

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I want to check and see if certain software exists on a users C drive. For
example, lets say hypothetically, I wanted to know if XYZ App existed on the
hard drive.

1) Extract User Name of Computer
2) Check for software in predetermined path (including User Name)
3) Generate Boolean Value for software existence

The file path is: C:\Documents and Settings\User Name\Start Menu\Programs.
Lets say the folder of the software is called XYZ App. Finding the folder is
probably enough. I will likely want to go further than that to ensure that
the software is actually on the C drive. So lets say the EXE is called XYZ
App.EXE. So the full path is

C:\Documents and Settings\User Name\Start Menu\Programs\XYZ App\XYZ App.EXE

How do you check to see if the file exists?

Thanks
 
Possibly:

sUsername = Environ("Username")
sStr = "C:\Documents and Settings\" & sUserName & _
"\Start Menu\Programs\XYZ App\XYZ App.EXE"

if dir(sStr) = "" then
' not found

I would assume you are distributing in a very small regimented environment.
 
Here is a simple function to construct the string and test it

'-----------------------------------------------------------------
Function FileExists(Filename) As Boolean
'-----------------------------------------------------------------
Dim sFile As String
sFile = "C:\Documents and Settings\" & Environ("UserName") & _
"\Start Menu\Programs\" & Filename

On Error Resume Next
sFile = Dir(sFile)
FileExists = sFile <> ""
End Function

Call like Msgbox FileExists("myAp.exe")

But won't the files in that directory all be shortcuts, if so, add .lnk at
the end.
 
Yes Bob I think you are right about the shortcuts. Thanks. And to answer
Toms question, I am putting in this check to see if software exists as a
means of ensuring that the user is using the macro on a company computer.
Every computer in my firm has this software. The check is simply a means of
authenticating the computer (i.e. the user).

Thanks

EM
 
Back
Top