> Jim,
>
> I do not agree with you, one simple sample as answer on your suggestion.
>
> How you do it with your suggesting when you have an addition to a program
> that needs an extra DLL,
In .Net, when you run an EXE from a server the EXE checks the local cache
for any needed DLLs that the EXE tries to call. It also checks for the DLL
on the server hosting the EXE. If the local DLL is non-existent or is not
the right version the EXE downloads (through built in .Net technology) the
needed DLL from the server to the local cache and runs it from there.
All you need for this to work is the .Net framework installed locally and a
link to the EXE on a server on an intranet or internet. The EXE will have
limited functionality by default because it is run from the internet zone,
but this is easily overcome.
If the .Net EXEs had a portion that checked for the needed .Net framework
DLLs (like it checks for your programmed DLLS) and downloaded the missing
DLLs from the Microsoft website, this would be a HUGE step forward in
spreading the .Net languages.
> For me this sounds if you want to go back to the not corresponding DLL
> hell?
There is not now and never has been any "DLL Hell". "DLL Hell" is a myth
cooked up by programmers who did not understand how windows worked and used
by Microsoft to sell you a new programming language.
The simple solution (that has always existed) to running EXEs without
overwriting another application's DLLs is to simply store all of your
application's DLLs in the same directory as the EXE. When a legacy
application (pretty much anything before .Net) looks for a DLL it ALWAYS
looks in the local directory first BEFORE using the registry and shared
DLLS. This is how Windows works and this will work with any VB4, VB5, VB6,
C++5 application that you care to test it with. (In other words.....Don't
write back to tell me how wrong I am until YOU have tested this yourself.)
It's really sad to see such a major shift backwards in programming and
security based on the belief in a programming myth.
> Cor
>
[quoted text clipped - 40 lines]
>>> "strongly recommend" catagory or whatnot on Windows Update and Auto
>>> Update may be more appropriate, if politically risky.
Cor Ligthert - 31 Oct 2004 20:06 GMT
Jim
>When a legacy application (pretty much anything before .Net) looks for a
>DLL it ALWAYS looks in the local directory first BEFORE using the registry
>and shared DLLS.
You give a good advantage of the Net with this, it saves space.
For the rest, is it better that I leave this discussion.
Cor
Jim Hubbard - 31 Oct 2004 22:52 GMT
> Jim
>
[quoted text clipped - 3 lines]
>
> You give a good advantage of the Net with this, it saves space.
I only wish Microsoft would listen to this.
> For the rest, is it better that I leave this discussion.
I didn't mean to come across as combative in my discussion. If I have
offended you, I apologize.
But, to help your own programming I really do suggest trying a simple
example. Write a small app with a tiny DLL in VB6. Install the DLL in the
c:\windows\system32 (or whatever root your system is using) directory and
register it as you should.
Then, change the DLL signature and the number of arguments in any exposed
interfaces. Recompile your app with the new DLL and copy both your new app
and the new DLL to the executable directory for your application.
Without removing or changing the DLL that you registered first on the
system, your application will find and use the local DLL with no conflict
with the first registered DLL.
IMHO, the people that first proposed "DLL Hell" could've just as well
proposed "Division By Zero Hell". If you code incorrectly and divide by
zero, you always get an error. How awful of VB!
This no more means there is a "Division By Zero Hell" than placing the DLLs
in the wrong place on a system means there is a "DLL Hell".
It is not your fault that this lie was sold to you. The vast majority of VB
programmers know no better today either. It is the VB mainstream media that
has ignorant writers spreading this misinformation through pure ignorance.
Like you, I trust writers to get it right. And, most of the time they do.
"DLL Hell" happens to be a blaring incident of where they did not.
Good luck to you in your programming!
Jim Hubbard
> Cor