Access97: Latest MS dev tools break existing Access installations 
Author Message
 Access97: Latest MS dev tools break existing Access installations

The problem is that ComCtl32.ocx is a common and widely used ActiveX
control. My application is using the ListView, TreeView and ImageList
controls that it includes.

ComCtl32.ocx is created by Microsoft and included as a distributable
component of many of their development tools (Office Developer, Visual
Basic, Visual Studio etc). This means that every Tom,{*filter*} and Harry is
shipping it with their applications.

I use and ship V5.01.4319 which comes with Office 97 Developer Edition (ODE)
SR-1.

I now know that Norton Internet Security 2001 is the package which upgraded
my version to 6.00.8105. This new version has a digital signature. I suspect
that this is the only significant change and has come about because of
Win2000 installation requirements.

What I really want is a copy of the latest version from Microsoft which I
may legally distribute under my ODE licence.

Unfortunately, the Microsoft line appears to be that Access 97 was tested
with 5.01.4319 and therefore it is not known whether 6.00.8105 will work
correctly with ODE 97-SR1. Users of ODE 97 should continue to use the
version shipped with that package.

In practice this is saying "Do not build your app with Norton Internet
Security 2001 on your development platform". This is not very practical. I
don't want to boot onto a different partition to safely access the internet.

But this Microsoft stance is more than just an inconvenience for developers.

To add to the complexity, the version of the TypeLib registered for an
ActiveX control is independent of the file version. For example,
ComCtl32.ocx 5.01.4319 registers TypeLib version 1.2, whereas 6.00.8105
registers version 1.3.

The theory is that if the OCX file uses the same GUID, the TypeLib it
registers should be upward compatible with previous versions. There have
been classic violations of this rule (namely with ComCat.dll breaking
Internet Explorer V3) but most applications rely upon this development rule.

Unfortunately Access does not rely upon this rule. I think it remembers the
TypeLib version as well as it's GUID within its References collection. If
either changes, it breaks the reference which must be rebuilt. If the
application is a turnkey product in the hands of an end user, it simply
breaks.

Hardin Brothers published some code in the July 1999 Smart Access Newsletter
which detects and fixes this situation. However this method is not supported
by Microsoft themselves. Without this saving code the situation is as
follows:

1) Microsoft have released a new version of ComCtl32.ocx with a new TypeLib
version for an existing GUID

2) Access 97 will not work if the TypeLib of one of its ActiveX controls
increments its version

3) This means that Microsoft have effectively rendered all previously
deployed applications developed in Access97 unusable. In other words, if you
install a package developed with the latest Microsoft development tools,
previously developed Access 97 applications will break.

4) To remedy this situation Microsoft should:

 a) Publicly release the latest version of ComCtl32.ocx to the Access 97
developer community.

 b) Regression test it against the last available service release of Access
97 so that we know that it will work.

 c) Provide a mechanism for repeating the process for future releases of all
its ODE 97 ActiveX controls.

I believe that the Access 97 development community is still of major
significance. I suspect (although I am not sure) that the same problem
exists with the Access 2000 platform.

If Microsoft is serious about supporting its developer community, it must
deal with this situation.

Best Regards

Neil
--------------------------------------------------------
  Neil Sargent
  Smart IT

--------------------------------------------------------



Fri, 10 Oct 2003 15:40:49 GMT  
 Access97: Latest MS dev tools break existing Access installations
Thanks for this Neil, I agree that Access 97 still plays an important part
in the database development arena, and your article could explain one or two
anomilies that I myself have had recently with broken references.
I did not even know that the problem existed, so I appreciate your posting
even more.
Andy


Quote:
>The problem is that ComCtl32.ocx is a common and widely used ActiveX
>control. My application is using the ListView, TreeView and ImageList
>controls that it includes.

>ComCtl32.ocx is created by Microsoft and included as a distributable
>component of many of their development tools (Office Developer, Visual
>Basic, Visual Studio etc). This means that every Tom,{*filter*} and Harry is
>shipping it with their applications.

>I use and ship V5.01.4319 which comes with Office 97 Developer Edition
(ODE)
>SR-1.

>I now know that Norton Internet Security 2001 is the package which upgraded
>my version to 6.00.8105. This new version has a digital signature. I
suspect
>that this is the only significant change and has come about because of
>Win2000 installation requirements.

>What I really want is a copy of the latest version from Microsoft which I
>may legally distribute under my ODE licence.

>Unfortunately, the Microsoft line appears to be that Access 97 was tested
>with 5.01.4319 and therefore it is not known whether 6.00.8105 will work
>correctly with ODE 97-SR1. Users of ODE 97 should continue to use the
>version shipped with that package.

>In practice this is saying "Do not build your app with Norton Internet
>Security 2001 on your development platform". This is not very practical. I
>don't want to boot onto a different partition to safely access the
internet.

>But this Microsoft stance is more than just an inconvenience for
developers.

>To add to the complexity, the version of the TypeLib registered for an
>ActiveX control is independent of the file version. For example,
>ComCtl32.ocx 5.01.4319 registers TypeLib version 1.2, whereas 6.00.8105
>registers version 1.3.

>The theory is that if the OCX file uses the same GUID, the TypeLib it
>registers should be upward compatible with previous versions. There have
>been classic violations of this rule (namely with ComCat.dll breaking
>Internet Explorer V3) but most applications rely upon this development
rule.

>Unfortunately Access does not rely upon this rule. I think it remembers the
>TypeLib version as well as it's GUID within its References collection. If
>either changes, it breaks the reference which must be rebuilt. If the
>application is a turnkey product in the hands of an end user, it simply
>breaks.

>Hardin Brothers published some code in the July 1999 Smart Access
Newsletter
>which detects and fixes this situation. However this method is not
supported
>by Microsoft themselves. Without this saving code the situation is as
>follows:

>1) Microsoft have released a new version of ComCtl32.ocx with a new TypeLib
>version for an existing GUID

>2) Access 97 will not work if the TypeLib of one of its ActiveX controls
>increments its version

>3) This means that Microsoft have effectively rendered all previously
>deployed applications developed in Access97 unusable. In other words, if
you
>install a package developed with the latest Microsoft development tools,
>previously developed Access 97 applications will break.

>4) To remedy this situation Microsoft should:

> a) Publicly release the latest version of ComCtl32.ocx to the Access 97
>developer community.

> b) Regression test it against the last available service release of Access
>97 so that we know that it will work.

> c) Provide a mechanism for repeating the process for future releases of
all
>its ODE 97 ActiveX controls.

>I believe that the Access 97 development community is still of major
>significance. I suspect (although I am not sure) that the same problem
>exists with the Access 2000 platform.

>If Microsoft is serious about supporting its developer community, it must
>deal with this situation.

>Best Regards

>Neil
>--------------------------------------------------------
>  Neil Sargent
>  Smart IT

>--------------------------------------------------------



Fri, 10 Oct 2003 17:51:00 GMT  
 Access97: Latest MS dev tools break existing Access installations
Welcome to DLL HELL  :-(

This is exactly the reason that I refuse to use the damn
things.  I tried once, years ago, before the number of
variations was completely out of control, to use these
things and they *always* broke my app when one or another
user did something totally inoculous to their system.

If Microsoft does not "deal with this situation" (and if
they do, it will be in some future version of Windows), does
it mean they are not "serious about supporting its developer
community"?  I doubt that this is really true, but I also
believe that they just don't know what to do about it.  Most
likely, it's also true that they don't understand (or care?)
that their development community is very diverse and not
simply corporate IT departments where it is easier to
enforce tight control over what is installed.

I seem to remember an MSDN newletter article that talked
about localizing software dependencies so that installing
one package didn't wipe out the files in another package.  I
don't know the latest on this though.

I never pursued this, but I've wondered if it's possible to
rename a DLL file and reference/register(?) it under its new
name so that it would not be changed by someone else's
install.

Marsh


[snip very good analysis of problems with ComCtl32.OCX
controls]

Quote:

>If Microsoft is serious about supporting its developer
community, it must
>deal with this situation.



Sat, 11 Oct 2003 01:15:59 GMT  
 Access97: Latest MS dev tools break existing Access installations
Not Lyle ... Zero apps with ocxs ... ewwwwwwwwwwwwwwwwwwww!



Quote:
>ComCtl32.ocx is created by Microsoft and included as a
>distributable component of many of their development tools
>(Office Developer, Visual Basic, Visual Studio etc). This
>means that every Tom,{*filter*} and Harry is shipping it with
>their applications.

--
Lyle
http://www.*-*-*.com/


Sat, 11 Oct 2003 02:48:06 GMT  
 Access97: Latest MS dev tools break existing Access installations
They claim to have a solution to it on the .Net platform. I couldn't really
follow the technical details, but as I understand it, multiple versions of a
component can be installed, and you can tell your app which version to use,
and it will use that version even if a later version is present.

--
Brendan Reynolds

http://www11.ewebcity.com/brenreyn


Quote:
> Welcome to DLL HELL  :-(

> This is exactly the reason that I refuse to use the damn
> things.  I tried once, years ago, before the number of
> variations was completely out of control, to use these
> things and they *always* broke my app when one or another
> user did something totally inoculous to their system.

> If Microsoft does not "deal with this situation" (and if
> they do, it will be in some future version of Windows), does
> it mean they are not "serious about supporting its developer
> community"?  I doubt that this is really true, but I also
> believe that they just don't know what to do about it.  Most
> likely, it's also true that they don't understand (or care?)
> that their development community is very diverse and not
> simply corporate IT departments where it is easier to
> enforce tight control over what is installed.

> I seem to remember an MSDN newletter article that talked
> about localizing software dependencies so that installing
> one package didn't wipe out the files in another package.  I
> don't know the latest on this though.

> I never pursued this, but I've wondered if it's possible to
> rename a DLL file and reference/register(?) it under its new
> name so that it would not be changed by someone else's
> install.

> Marsh



> [snip very good analysis of problems with ComCtl32.OCX
> controls]

> >If Microsoft is serious about supporting its developer
> community, it must
> >deal with this situation.



Sat, 11 Oct 2003 04:12:05 GMT  
 Access97: Latest MS dev tools break existing Access installations


Quote:
>They claim to have a solution to it on the .Net platform. I
>couldn't really follow the technical details, but as I understand
>it, multiple versions of a component can be installed, and you can
>tell your app which version to use, and it will use that version
>even if a later version is present.

Well, Windows 2K and XP are supposed to allow multiple DLL versions
of the same name to co-exist. I don't know any of the details of
how it's implemented, but I'm certain it's dependent on using the
Windows Installer, which gives me very little faith in the solution
given that one of the problems with the Windows Installer is that
it tends to get broken when different versions of it are installed
by installation software.

--
David W. Fenton                        http://www.bway.net/~dfenton
dfenton at bway dot net                http://www.bway.net/~dfassoc



Sat, 11 Oct 2003 08:38:19 GMT  
 Access97: Latest MS dev tools break existing Access installations
Having the same problem, i tried to use treeview and imagelist with API-ONLY
code and i am very happy with this solution.
I am not the api-guru but Johann Pumh?sl is. He is offering source code for
doing almost everything without any ocx. Look on his website
http:\\members.aon.at/millpartner

HTH,
Stefan



Sat, 11 Oct 2003 12:20:36 GMT  
 Access97: Latest MS dev tools break existing Access installations
I don't think that you could use an alternative filename. This is because
the ocx registers the GUID of its TypeLib and the GUID of each of its
controls. This identifies the control, not its filename

Best Regards
Neil


Quote:
> Welcome to DLL HELL  :-(

> This is exactly the reason that I refuse to use the damn
> things.  I tried once, years ago, before the number of
> variations was completely out of control, to use these
> things and they *always* broke my app when one or another
> user did something totally inoculous to their system.

> If Microsoft does not "deal with this situation" (and if
> they do, it will be in some future version of Windows), does
> it mean they are not "serious about supporting its developer
> community"?  I doubt that this is really true, but I also
> believe that they just don't know what to do about it.  Most
> likely, it's also true that they don't understand (or care?)
> that their development community is very diverse and not
> simply corporate IT departments where it is easier to
> enforce tight control over what is installed.

> I seem to remember an MSDN newletter article that talked
> about localizing software dependencies so that installing
> one package didn't wipe out the files in another package.  I
> don't know the latest on this though.

> I never pursued this, but I've wondered if it's possible to
> rename a DLL file and reference/register(?) it under its new
> name so that it would not be changed by someone else's
> install.

> Marsh



> [snip very good analysis of problems with ComCtl32.OCX
> controls]

> >If Microsoft is serious about supporting its developer
> community, it must
> >deal with this situation.



Sat, 11 Oct 2003 16:06:01 GMT  
 Access97: Latest MS dev tools break existing Access installations
This is one of the new claims for Win2K. I think the term is system file
protection.

However it doesn't help with existing deployments of Access 97 applications.
I know that Access 97 cannot be "fixed" retrospectively. It works the way it
works with TypeLibs. But MS could make the latest versions of the ocx files
generally available and test them to make sure they truely are forwards
compatible. This is all I ask. All we then need to do is recompile the
deployed application with the new references - a task that could be done by
a Fixer application.

Best Regards
Neil



Quote:


> >They claim to have a solution to it on the .Net platform. I
> >couldn't really follow the technical details, but as I understand
> >it, multiple versions of a component can be installed, and you can
> >tell your app which version to use, and it will use that version
> >even if a later version is present.

> Well, Windows 2K and XP are supposed to allow multiple DLL versions
> of the same name to co-exist. I don't know any of the details of
> how it's implemented, but I'm certain it's dependent on using the
> Windows Installer, which gives me very little faith in the solution
> given that one of the problems with the Windows Installer is that
> it tends to get broken when different versions of it are installed
> by installation software.

> --
> David W. Fenton                        http://www.bway.net/~dfenton
> dfenton at bway dot net                http://www.bway.net/~dfassoc



Sat, 11 Oct 2003 16:09:54 GMT  
 Access97: Latest MS dev tools break existing Access installations
This sound great. I use the common dialogs controls the same way - using Ken
Getz's API code to us the dll directly instead of the ocx version shipped
with ODE. I shall check this out. Thanks

Best Regards
Neil


Quote:
> Having the same problem, i tried to use treeview and imagelist with
API-ONLY
> code and i am very happy with this solution.
> I am not the api-guru but Johann Pumh?sl is. He is offering source code
for
> doing almost everything without any ocx. Look on his website
> http:\\members.aon.at/millpartner

> HTH,
> Stefan



Sat, 11 Oct 2003 16:11:40 GMT  
 Access97: Latest MS dev tools break existing Access installations
There's also some code in the MSDN library that demonstrates using a VB
class as a wrapper for the API code.

--
Brendan Reynolds


Quote:
> This sound great. I use the common dialogs controls the same way - using
Ken
> Getz's API code to us the dll directly instead of the ocx version shipped
> with ODE. I shall check this out. Thanks

> Best Regards
> Neil



> > Having the same problem, i tried to use treeview and imagelist with
> API-ONLY
> > code and i am very happy with this solution.
> > I am not the api-guru but Johann Pumh?sl is. He is offering source code
> for
> > doing almost everything without any ocx. Look on his website
> > http:\\members.aon.at/millpartner

> > HTH,
> > Stefan



Sat, 11 Oct 2003 17:27:22 GMT  
 Access97: Latest MS dev tools break existing Access installations
The Web site offers most of the code free only in MDE form. You must pay
to download unlocked versions. Your post makes it sound like it's free.

I have a problem with this person and their Web site.
They are including code from myself, Terry Kreft and I believe Dev, in
their collection. This is explicitly forbidden by the copyright notice
included at the top of the source code and on our Web pages.

Try to Email them through their link. What a waste of time if you're
English. I finally gave up after 3 tries.

I'm obviously having German-English translation problems on his Web
site. Perhaps the BabelFish translation is not accurate. If you would
forward this Email to Johann Pumh?sl so he could reply to my concerns
about reselling my source code I would really appreciate it. I'll post
any reply to this thread.

Stephen Lebans
http://www.lebans.com
Access Code, Tips and Tricks
Please respond only to the newsgroups so everyone can benefit.


Quote:
> Having the same problem, i tried to use treeview and imagelist with
API-ONLY
> code and i am very happy with this solution.
> I am not the api-guru but Johann Pumh?sl is. He is offering source
code for
> doing almost everything without any ocx. Look on his website
> http:\\members.aon.at/millpartner

> HTH,
> Stefan



Sat, 11 Oct 2003 19:46:48 GMT  
 Access97: Latest MS dev tools break existing Access installations
Are there any free resources which provide an ocx'less wrapper for ComCtl32
controls (in particular ListView, TreeView and ImageList)?

I have checked Dev's site and done a Google but Johann Pumh?sl's site is the
only place I can find this code in one place.

Best Regards
Neil


Quote:
> The Web site offers most of the code free only in MDE form. You must pay
> to download unlocked versions. Your post makes it sound like it's free.

> I have a problem with this person and their Web site.
> They are including code from myself, Terry Kreft and I believe Dev, in
> their collection. This is explicitly forbidden by the copyright notice
> included at the top of the source code and on our Web pages.

> Try to Email them through their link. What a waste of time if you're
> English. I finally gave up after 3 tries.

> I'm obviously having German-English translation problems on his Web
> site. Perhaps the BabelFish translation is not accurate. If you would
> forward this Email to Johann Pumh?sl so he could reply to my concerns
> about reselling my source code I would really appreciate it. I'll post
> any reply to this thread.

> Stephen Lebans
> http://www.lebans.com
> Access Code, Tips and Tricks
> Please respond only to the newsgroups so everyone can benefit.



> > Having the same problem, i tried to use treeview and imagelist with
> API-ONLY
> > code and i am very happy with this solution.
> > I am not the api-guru but Johann Pumh?sl is. He is offering source
> code for
> > doing almost everything without any ocx. Look on his website
> > http:\\members.aon.at/millpartner

> > HTH,
> > Stefan



Sat, 11 Oct 2003 22:10:06 GMT  
 Access97: Latest MS dev tools break existing Access installations
c (dot grimsby at worldnet dot att dot net (Chuck Grimsby) wrote in

Quote:
>Your other problem here is in believing that MS wants to support
>the developer community.  One only needs to look at the direction
>MS is taking with .NET and the conclusions from that is fairly
>clearly against the developer community.

The release of Access 2K made it quite clear they didn't support
their existing developer community. .NET is just more fruit of
the same tree.

--
David W. Fenton                        http://www.bway.net/~dfenton
dfenton at bway dot net                http://www.bway.net/~dfassoc



Sat, 11 Oct 2003 22:46:32 GMT  
 Access97: Latest MS dev tools break existing Access installations
There are lots of VB sites with this code that will transfer more or
less directly to Access. I produced an Access VBA wrapper for the
MonthCalender common control that will resolve any issues you would run
into converting the VB code to the Access VBA environment.
I do not know of any Access sites that contain all of the the code you
are looking for.

I have no problem with Johann selling his code and hope he does well. I
only have a problem if he is selling my code as part of his collection.

Stephen Lebans
http://www.lebans.com
Access Code, Tips and Tricks
Please respond only to the newsgroups so everyone can benefit.


Quote:
> Are there any free resources which provide an ocx'less wrapper for
ComCtl32
> controls (in particular ListView, TreeView and ImageList)?

> I have checked Dev's site and done a Google but Johann Pumh?sl's site
is the
> only place I can find this code in one place.

> Best Regards
> Neil



> > The Web site offers most of the code free only in MDE form. You must
pay
> > to download unlocked versions. Your post makes it sound like it's
free.

> > I have a problem with this person and their Web site.
> > They are including code from myself, Terry Kreft and I believe Dev,
in
> > their collection. This is explicitly forbidden by the copyright
notice
> > included at the top of the source code and on our Web pages.

> > Try to Email them through their link. What a waste of time if you're
> > English. I finally gave up after 3 tries.

> > I'm obviously having German-English translation problems on his Web
> > site. Perhaps the BabelFish translation is not accurate. If you
would
> > forward this Email to Johann Pumh?sl so he could reply to my
concerns
> > about reselling my source code I would really appreciate it. I'll
post
> > any reply to this thread.

> > Stephen Lebans
> > http://www.lebans.com
> > Access Code, Tips and Tricks
> > Please respond only to the newsgroups so everyone can benefit.



> > > Having the same problem, i tried to use treeview and imagelist
with
> > API-ONLY
> > > code and i am very happy with this solution.
> > > I am not the api-guru but Johann Pumh?sl is. He is offering source
> > code for
> > > doing almost everything without any ocx. Look on his website
> > > http:\\members.aon.at/millpartner

> > > HTH,
> > > Stefan



Mon, 13 Oct 2003 05:09:05 GMT  
 
 [ 16 post ]  Go to page: [1] [2]

 Relevant Pages 

1. Access as Object with Off97 Dev Tools

2. Access97, win2000, XML4 preview: Access completely broken?

3. Visual Basic 5 breaks MS Access 7 ?

4. Accessing MS Access97 database using non-printable password

5. Accessing MS Access97 database using non-printable password

6. Accessing MS Access97 database using non-printable password

7. VBA SDK vs Office 2000 Dev Tools

8. Use VBE for excel as a Dev Tool

9. Use VBE for excel as dev tools

10. CLR/.NET Dev Tools

11. .NET Framework SDK: Late-Breaking Known Issues

12. Installation of Graph5 from MS Access ADT 2.0

 

 
Powered by phpBB® Forum Software