469,643 Members | 1,877 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,643 developers. It's quick & easy.

checking if program is installing using python

i want to check to see if a certain program is installed on my windows
box using python. how can i do that...(ie, i want to see if "word" is

please help

Jul 18 '05 #1
4 4550
[wi******@hotmail.com wrote]
does this help?

There is the "which" module that I wrote that does this a little more

However, I didn't see the original posting for this thread so I'm not
sure if this is what is being looked for.


Trent Mick
Jul 18 '05 #3
wi******@hotmail.com wrote:
does this help?

It's very rare that a program like Word is installed
in the PATH, so it's unlikely this helps.

Generally you would need to look in the registry, or
perhaps use os.popen() to parse the output of executing
the command "assoc .doc", to do what is required.

It might help for the OP to describe more about what
he plans to do with the information, since there might
be simpler/better approaches.

Jul 18 '05 #4
GujuBoy wrote:
i want to check to see if a certain program is installed on my
windows box using python. how can i do that...(ie, i want to
see if "word" is installed)

This won't help you if you're after an off-the-cuff search for
installed apps, but if you need to determine the existence of a known
application in order to do something specific, this might be of some

First, use the registry to determine the install location of the app.
(You might like to check out the following recipe, which deals with
accessing the registry via Python:

For example, to find the location where MS Office 2003 is installed,
you need to check the registry key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0 \Common\InstallRoot"
which has two values, the 2nd of which, "Path" is set to "C:\Program
Files\Microsoft Office\OFFICE11\" on my work PC.

Once you have the location, you can just use
os.path.exists(path-from-reg + "\Word.exe") to check that it's actually

In some cases, such as with MSOffice, the key you need to refer to will
depend on the version installed. As mentioned, the regkey above is for
MS Office 2003, which is recorded in the registry as version 11.0. If
you're only concerned that they have an application installed without
caring what version they're using, you'll need to check for several
keys to find the information you're looking for. (Office XP is 10.0,
Office 2K is 9.0, etc) Office is pretty consistent about this between
versions but other applications (such as the godawful virus checker we
use here) can't be counted on being quite as helpful.

Also worth noting if you're actually interested in testing for the
existence of Office apps is that each member of the Office suite can
have its own install location. So if you're only checking for Word, the
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0 \Word\InstallRoot"
would be more relevant than the common install area given above.

Hopefully something in this somewhere will help :)


Jul 18 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by RoSsIaCrIiLoIA | last post: by
29 posts views Thread by 63q2o4i02 | last post: by
16 posts views Thread by John Salerno | last post: by
14 posts views Thread by Nathan Pinno | last post: by
53 posts views Thread by Vicent Giner | last post: by
2 posts views Thread by Holger | last post: by
reply views Thread by gheharukoh7 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.