473,399 Members | 3,401 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,399 software developers and data experts.

Finding program/"component" version info

Not sure exactly what my question is or what forum to ask on.

I know how to get version info from a particular file.
e.g.
FileVersionInfo.GetVersionInfo(filePath)

What I'd like to do is get version info for Microsoft "components" such as
MDAC, DAO, MFC Runtime, etc. An "overall" level rather than specific file
version. For example .NET - 1.0 or 2.0, MDAC 2.5 or 2.7, etc. Any way? Or
better forum?
Aug 9 '07 #1
7 1702
Unless you know which files definitively define those components, you
aren't going to be able to get it programatically. There is no versioning
API that works on a "package" level like that.

The closest thing I can think of to do this would be to have a list of
files which are distributed with those packages, and check the file versions
for each of them. If they match that list of files (and their versions)
then you have that version of that package.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com
"jeffc" <no****@nospam.comwrote in message
news:%2******************@TK2MSFTNGP03.phx.gbl...
Not sure exactly what my question is or what forum to ask on.

I know how to get version info from a particular file.
e.g.
FileVersionInfo.GetVersionInfo(filePath)

What I'd like to do is get version info for Microsoft "components" such as
MDAC, DAO, MFC Runtime, etc. An "overall" level rather than specific file
version. For example .NET - 1.0 or 2.0, MDAC 2.5 or 2.7, etc. Any way?
Or better forum?


Aug 9 '07 #2
Hi,

I do not think this is the correct group, We could tell you how to get the
version info of a .net assembly. very easily :)

You might get a better answer in one of the C++ NGs
"jeffc" <no****@nospam.comwrote in message
news:%2******************@TK2MSFTNGP03.phx.gbl...
Not sure exactly what my question is or what forum to ask on.

I know how to get version info from a particular file.
e.g.
FileVersionInfo.GetVersionInfo(filePath)

What I'd like to do is get version info for Microsoft "components" such as
MDAC, DAO, MFC Runtime, etc. An "overall" level rather than specific file
version. For example .NET - 1.0 or 2.0, MDAC 2.5 or 2.7, etc. Any way?
Or better forum?


Aug 9 '07 #3

"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote in
message news:O7**************@TK2MSFTNGP03.phx.gbl...
Unless you know which files definitively define those components, you
aren't going to be able to get it programatically. There is no versioning
API that works on a "package" level like that.

The closest thing I can think of to do this would be to have a list of
files which are distributed with those packages, and check the file
versions for each of them. If they match that list of files (and their
versions) then you have that version of that package.
That's what I was afraid of, thanks.
Aug 9 '07 #4

Huh? This is a C# question.

"Ignacio Machin ( .NET/ C# MVP )" <machin TA laceupsolutions.comwrote in
message news:u3**************@TK2MSFTNGP04.phx.gbl...
>
I do not think this is the correct group, We could tell you how to get the
version info of a .net assembly. very easily :)

You might get a better answer in one of the C++ NGs
"jeffc" <no****@nospam.comwrote in message
news:%2******************@TK2MSFTNGP03.phx.gbl...
>Not sure exactly what my question is or what forum to ask on.

I know how to get version info from a particular file.
e.g.
FileVersionInfo.GetVersionInfo(filePath)

What I'd like to do is get version info for Microsoft "components" such
as MDAC, DAO, MFC Runtime, etc. An "overall" level rather than specific
file version. For example .NET - 1.0 or 2.0, MDAC 2.5 or 2.7, etc. Any
way? Or better forum?



Aug 9 '07 #5
"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote
in message news:O7**************@TK2MSFTNGP03.phx.gbl...
> Unless you know which files definitively define those components, you
aren't going to be able to get it programatically. There is no
versioning API that works on a "package" level like that.

The closest thing I can think of to do this would be to have a list of
files which are distributed with those packages, and check the file
versions for each of them. If they match that list of files (and their
versions) then you have that version of that package.

That's what I was afraid of, thanks.
That's not entirely accurate in my experience (though you may have to resort
to it depending on the component). .There's no offical API that applies to
all "components" but each component will often (usually) have a way of
checking. It may rely on an official technique such as MSI or even (often)
an official registry key but in some cases the technique may be crude or
even unreliable (possibly not compatible with future releases). For
mainstream components however there are usually ways that are reliable in
practice (for MDAC for instance, see here:
http://support.microsoft.com/kb/301202 - MSFT acknowledges it may not be the
most reliable way but it likely is). The story runs deeper however since
other issues can come into play. For instance, you may simply be able to
check the version of Windows at runtime. Some components are pre-installed
with certain versions of the OS for instance and I even have a MSFT link
somewhere for this (I'll try to dig it up for you). Even if they are
pre-installed however (meaning that you can just check the version of
Windows you're interested in and it should be installed in theory), they may
not be Windows protected files so some other poorly written install app
could have overwritten them with earlier versions (or perhaps it can be
officialy disabled using Windows itself). Also consider that you may be able
to simply ship and install a component's redistribtable which should be
robust in the presence of earlier versions (you should check this). You
really need to research the subject in general but ultimately you'll have to
check each individual component to see what MSFT officially says about it
(which isn't always easy to track down).
Aug 9 '07 #6

"Larry Smith" <no_spam@_nospam.comwrote in message
news:%2***************@TK2MSFTNGP06.phx.gbl...
For instance, you may simply be able to check the version of Windows at
runtime. Some components are pre-installed with certain versions of the OS
for instance and I even have a MSFT link somewhere for this (I'll try to
dig it up for you).
That doesn't seem like the best option for us because of the stuff our app
installs. We include merge modules for all kinds of Microsoft components,
so I'd like a way to determine what's there after we install (after the
customer might have patched our app or botched installs of multiple versions
of our app.)

Thanks for your reply, that was helpful.
Aug 10 '07 #7
news:%2***************@TK2MSFTNGP06.phx.gbl...
>For instance, you may simply be able to check the version of Windows at
runtime. Some components are pre-installed with certain versions of the
OS for instance and I even have a MSFT link somewhere for this (I'll try
to dig it up for you).

That doesn't seem like the best option for us because of the stuff our app
installs. We include merge modules for all kinds of Microsoft components,
so I'd like a way to determine what's there after we install (after the
customer might have patched our app or botched installs of multiple
versions of our app.)

Thanks for your reply, that was helpful.
You know your app best of course. This link might be useful anyway (note
that it's not confined to just DLLs in spite of the misleading name).

http://support.microsoft.com/dllhelp/
Aug 10 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Jason | last post by:
In reading various technical documents, it often seems as though these two terms are used interchangably. However, the Visual Studio.NET IDE does have an Add New for class and component which, in...
2
by: Berata | last post by:
Hello all, in VB6 we were able to create ActiveX-DLL's (In Process Components) and ActiveX-Exe's (Out of Process Components). We habe build up an application that exists of an main module...
0
by: Oliver | last post by:
hi - I have a written a "Serviced Component" which works fine when declared as: but I am seeing an 'Access Denied' exception when I declare it as: this is probably something to do with...
0
by: Oliver | last post by:
> I am seeing an 'Access Denied' exception when using a "Server" "Serviced Component" >> ..are...registered in the GAC ? yes. >> ..are...the parameters serializable? um - parameters? - the...
0
by: Chris | last post by:
XDrive.com has a great offline backup web interface that looks just like windows explorer. Is there anything like this for ASP.NET that one can buy to run on their own server? I looked at...
4
by: Gary Smith | last post by:
I have written VB6.0 application. Sometime it quites abnormally. Is it possible to monitor this "EXE" so that if it quits, I will be the first person to get notified!!! Is it possible to develop...
2
by: ironmanlarry | last post by:
Hi, I'm trying to do a mail merge from Excel to Word (programatically) and I'm having some trouble creating the Word Document Object. This line of code wordDoc = GetObject("sheet.doc") keeps...
1
by: Javilen | last post by:
Hello, edit: added some more info I am trying to set up a job to run a SSIS package in SQL 2005, the SQL 2005 is installed on a Windows server 2003 machine. start Edit I have the...
0
by: friend | last post by:
how to correct the following error? is anybody there to help? i am getting this error from error console . Error: uncaught exception: " nsresult: "0x80004005 (NS_ERROR_FAILURE)" location:...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.