1

I want to make a class in a shared OCX control have the same version as my application. Is there anyway to specify the version of a class in an OCX? In Windows registry the CLSID is surprising me with version numbers I never specified and never saw where they came from.

To make things more straightforward, see the highlighted parts in the screen shot below: RegDLLView illustrating registered class ID's and versions inside that OCX

This is VB6 programming. Unfortunately or fortunately I need to work on this legacy code base and update bits and pieces (compiling new versions of the program). The control itself is compiled from source code as well. That's why I want to control the version of the class.

Max
  • 89
  • 9
  • You are confused between PE file version (from VERSIONINFO) with OLE control version. Thats all. – user2120666 Jan 12 '17 at 10:37
  • And to remove the confusion? And to look at VERSIONINFO I go to? And are you saying the PE file version is 1.3.7 as in the screen shot? and PE is? I wouldn't be asking this question had I got any Windows application development experience, I mean, real, commercial, non-high-school-student-played-with-it experience. – Max Jan 12 '17 at 22:29

1 Answers1

1

File version 1.03.0007 comes from file VERSIONINFO.

In VB6 you may specify this info:

Project->Properties->Make->Version Number

Version 2.1 is version of your control. Is used as identifier with ProgID.

In VB6 you may specify this info:

Project->Properties->Component->Version Compatibility. And select Project Compatibility radio button.

user2120666
  • 579
  • 1
  • 4
  • 16
  • So if I want to maintain binary compatibility there is no way for me to control the ProgID? – Max Jan 18 '17 at 00:48