Whither intl.inf in Vista?

by Michael S. Kaplan, published on 2007/01/04 03:01 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/01/04/1392691.aspx


Regular reader Ivan Petrov asked in the Suggestion Box:

Hi Michael,

I've two questions for you:

1) What happened with the 'intl.inf' file in Windows Vista?

and

2) Where has disappeared most of its content?

Regards,

Ivan.

Now Ivan has been asking questions about various features like code pages and how to modify them or which locales point to them or which ones are installed or keyboard choices and so forth (I can recall four off the top of my head and there are probably lots more thst one could find, too!).

Now intl.cpl over the course of Windows NT 3.1 to Windows NT 3.5 to Windows NT 4.0 to Windows 2000 to Windows XP to Windows Server 2003 had really done quite a number on this huge file that was actually built for each language SKU by combining a language neutral intl.inx with a bunch of localized intl.txt files (one per SKU), and let me tell you that file was a nightmare to maintain due to its fragile nature, its hugely complicated/hard to track dependencies, and its fragility (it was a running joke that a lead PM we had would be guaranteed to break the build every time a change was made back during the XP/Server 2003 timeframe).

And of course there were huge mutual dependencies with layout.inf, font.inf, hivedef.inf, and others that made it even harder to track the nature of changes - for fonts, for locale information, and so in. Some of this data was even duplicated across different INF files or between INF files and data elsewhere in the system.

It is true other INFs were also quite complicated in Windows, though ours was complicated in part because of all the efforts other teams put in to adding stuff to it any time their functionality might hinge off our configuration settings (from Index Server to fonts and so on and so on). So the breaks were also often quite hard to track down and sometimes even too subtle to notice.

We were also tied to intl.inf for post-setup operations as the file acted as a data store for install/uninstall decisions one would make later in intl.cpl or input.dll.

It was a nightmare.

In Vista with a whole new setup mechanism and an effort to make teams own their own components and the configurations thereof, we worked to get a lot of those more complex dependencies removed. Between that and the effort to install everything by default and not give uninstall options, most of the content went away, and the few things that were still needed needed found new homes (like LOCALE_SKEYBOARDSTOINSTALL data, described here).

Now I won't claim that the new setup does not have complications of its own (how can anyone ship a product of this size that is not complicated?) though from our point of view there are many fewer complications even as we added a ton of locales and keyboards and fonts.

For more specifics, you'd probably have to specify what data was being looked for, precisely? :-)

 

This post brought to you by ΣΎ (U+04fe, a.k.a. CYRILLIC CAPITAL LETTER HA WITH STROKE)


# Ivan Petrov on 4 Jan 2007 5:09 AM:

Thanks for the quick answer Michael :-)

In a few days I'll be more specific and precise on what data I was been looking for!

Once again - Thank you for the post!

Regards,

Ivan.


referenced by

2008/11/17 In or out of the default, no way to win, really

go to newer or older post, or back to index or month or day