Ari Heitner wrote:

> > Note that it isn't the linker that gets libraries in the components
> > directory, it's XPCOM itself, using dlopen (or whatever the platform
> > uses, through NSPR).
> 
> That's the whole point. In the COM framework, you don't know what libraries
> the code you depend on resides in until runtime. This has a key problem: you
> can't tell if you've resolved your dependencies at install time!
> 
> The result: software that doesn't run because of evil dependency errors.

As I already explained, this is both a curse (as you describe) and a
feature.

For example, my Quadra game can run both using Xlib or Svgalib. It
shouldn't require both or one specifically, it should just use what is
there. If I linked explicitly with Xlib, then it wouldn't be able to run
in an Svgalib-only environment, and the reverse.

You could call these "soft dependencies", or something similar.

> > You do it just like in Unix, as Microsoft itself is doing with MFC
> > (MFC30.DLL, MFC40.DLL, MFC42.DLL, etc) and the Visual Basic runtime DLLs
> > (VBRUN300.DLL, etc).
> 
> It should be more widely done and allow for more descriptive versioning.

Go tell them, it's been a while I gave up on Windows... ;-)

> Windows is *the same* as Unix in every major respect except the way the
> distribution is managed :)

Managing the Windows infrastructure? Isn't that the kind of thing little
gnomes come and do at night? ;-))

-- 
Pierre Phaneuf
http://www3.sympatico.ca/pphaneuf/

Reply via email to