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

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
 
T

Tom Ogilvy

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.
 
B

Bob Phillips

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.
 
G

Guest

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top