by Michael S. Kaplan, published on 2007/09/28 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/09/28/5178717.aspx
IDisposable asked via the Suggestion Box:
Regarding this very helpful KB page, http://support.microsoft.com/default.aspx?scid=kb;en-us;939949
Why, OH DEAR WHY, couldn't those CopyCulture stubs been automatic? The only ones that could EVER be unsafe are the div-MV and en-CB, and those are only unsafe should either of those EXACT codes be used. For div-MV, that's just not going to happen... and when en-CB returns, it's likely going to _BE_ what en-029 represents.
In short, why introduce such HORRIBLE breaking behaviour when the workaround is obvious, necessary, and non-intrusive?
p.s. I assume you didn't right the article, since you didn't blog about it... but if you did, EXCELLENT work. It reads really well.
I didn't write the code in the KB article.
If someone asked me, I find the notion of solving this problem with custom cultures to be along the lines of curing dandruff by keeping your head shaved bald!
(In both cases the overhead of the solution is overkill and may well be even be worse than the problem!)
I agree with IDisposable that this should have been solved in a way that caused no client to break and that requires no code change -- if not in the immediate release causing the break then in the soonest release thereafter.
I didn't write the code in the KB article though -- I think Shawn did (I know he is a proponent for using custom cultures to solve problems such as this).
The code seems okay to me, though I probably would have bullet-proofed it for the case where the update had not been loaded and thus only the old names were valid -- since a non-specific catch for obvious, known and explainable errors is never ideal. But that may have affected the readability so I have no strong feelings for code that shouldn't ever need to be run more than once per machine....
But even now I would rather the problem was addressed in the product at all times, automatically.
This post brought to you by 𝑖 (U+1d456, a.k.a. MATHEMATICAL ITALIC SMALL I)
go to newer or older post, or back to index or month or day