[VB.NET] Bepaal versienr van geladen OCX en DLLs

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een applicatie die gebruik maakt van een OCX en een aantal DLLs.
In de appllicatie heb ik een about form waar ik het versienr van de exe toon.

Nu wil ik in dat form ook graag het versienr van de geladen OCX tonen en een aantal van de dlls.

De versienrs van de geladen dlls haal ik op via:
Visual Basic .NET:
1
2
3
4
5
6
7
8
Dim objExecutingAssemblies As Assembly = System.Reflection.Assembly.GetExecutingAssembly
Dim arrReferencedAssmbNames As AssemblyName() = objExecutingAssemblies.GetReferencedAssemblies

  lblLoadedAssemblies.Text = "Loaded dlls:" + vbCrLf
  'Loop through the array of referenced assembly names.
  For Each strAssmbName As AssemblyName In arrReferencedAssmbNames
    lblLoadedAssemblies.Text += strAssmbName.Name + " (" + strAssmbName.Version.ToString() + ")" + vbCrLf
  Next

Maar hoe doe ik dit voor de ActiveX? Ik heb al GetModules geprobeerd, maar dat werkte ook niet.
Weer even een duwtje?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
http://msdn.microsoft.com...tics.fileversioninfo.aspx :?
3 sec. googlen.

[ Voor 25% gewijzigd door RobIII op 18-06-2009 10:57 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt RobIII,

Maar dan moet ik de locatie weten van de ocx en omdat die geregistreerd moet worden, kan die overal staan.
Ik zal nog even verder puzzelen om uit te zoeken hoe ik kan bepalen waar de ocx staat.
Ik kan in ieder geval weer verder.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op donderdag 18 juni 2009 @ 11:55:
Bedankt RobIII,

Maar dan moet ik de locatie weten van de ocx en omdat die geregistreerd moet worden, kan die overal staan.
Ik zal nog even verder puzzelen om uit te zoeken hoe ik kan bepalen waar de ocx staat.
Ik kan in ieder geval weer verder.
Als hij geregistreerd is kun je dat gewoon in het register vinden

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Woy schreef op donderdag 18 juni 2009 @ 11:56:
[...]

Als hij geregistreerd is kun je dat gewoon in het register vinden
Klopt; en geregistreerd zal 'ie zijn (anders kun je het object niet creeëren in the first place).

Dan even kijken in HKEY_CLASSES_ROOT\<TYPENAME>\CLSID en het CLSID dus ophalen; die dan weer opzoeken in HKEY_CLASSES_ROOT\CLSID\{<gevonden_CLSID_hier>}\InprocServer32 en voila je hebt het pad.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij