Re: Goodbye and Best Wishes
From: Craig Stuntz [TeamB] (cstuntz_at_nospam.please)
Date: 02/16/04
- Next message: John Pressman: "Re: Retailing mythology"
- Previous message: Steve Tyrakowski: "Re: Retailing mythology"
- In reply to: Eric Grange: "Re: Goodbye and Best Wishes"
- Next in thread: Eric Grange: "Re: Goodbye and Best Wishes"
- Reply: Eric Grange: "Re: Goodbye and Best Wishes"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 16 Feb 2004 09:00:15 -0800
Eric Grange wrote:
> > Eric, I've told you before that this is simply wrong, but it
> > doesn't seem to have sunk in.
>
> He he, interestingly enough, that URL explicits my point (see below).
Not the point you made and I replied to, but the point you just
wiggled yourself into. However, even that point is not quite right.
Your original post was quite clear, though incorrect:
"That's where you're going wrong: if your assembly is N+1,
it won't run *at all* on a N install, after all, it's just
object code, and without an N+1 capable framework, you can't
even display a nice dialog box to explain the issue to the user."
This is *not true.* If I create an assembly using, say, the 2.0
framework, I can, if I'm careful, make the assembly also work with the
1.1 framework. Obviously, I can't use 2.0 features, but the assertion
that I "can't even display a nice dialog box" is simply *false.* If
your assembly requires 2.0 then you can detect this in a variety of
ways and inform the user of the issue in any manner you choose. See
below for more.
> > In general it is expected that .NET applications will verify that
> > the correct version of the framework is installed as part of the
> > installer,
>
> And? Installer happen only once, and unsurprisingly so, at
> installation only.
I don't expect that many people will be uninstalling old versions of
the framework, but, as I point out, you can test for this if you're
really concerned about it.
> > but if you want to do this at runtime you can do that, too (provided
> > that at least one version of the framework is installed).
>
> Not "at least one version", but at least A version CAPABLE OF running
> your assembly, and as you finally noticed, ability to check your DLLs
> and dependencies in .Net relies on either having the proper version
> installed, or relying on a non-.Net proggy (installer or whatever).
> Otherwise, the best you can hope for is a system error message.
No. This is wrong. Have you ever even looked at this? You can
redirect links at runtime based on installed framework versions and the
versions of individual assemblies found on a machine.
ms-help://MS.NETFrameworkSDKv1.1/cpguidenf/html/cpcontargetingnetframewo
rkversion.htm
So if assembly version is important to you then you can, among other
things:
o Load the dependent assembly into a separate app domain and run
different code depending upon its version.
o Create a stub version of your assembly which simply explains the
error to your user in whatever manner you choose, or even fixes the
error and continues. The framework, will automatically load the stub
if the required assembly versions aren't present, and it takes nothing
more than a bit of XML to make it happen.
o Etc.; there are lots of options.
> Finally, the URL you provided also spells exactly the point I've been
> tried to iron:
>
> "Microsoft no longer guarantees absolute backward and forward
> compatibility"
This is a change? When has Microsoft *ever* made such a guarantee?
-Craig
-- Craig Stuntz [TeamB] . Vertex Systems Corp. . Columbus, OH Delphi/InterBase Weblog : http://delphi.weblogs.com Please read and follow Borland's rules for the user of their news server: http://info.borland.com/newsgroups/guide.html
- Next message: John Pressman: "Re: Retailing mythology"
- Previous message: Steve Tyrakowski: "Re: Retailing mythology"
- In reply to: Eric Grange: "Re: Goodbye and Best Wishes"
- Next in thread: Eric Grange: "Re: Goodbye and Best Wishes"
- Reply: Eric Grange: "Re: Goodbye and Best Wishes"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|