N
Norman Diamond
My C# code is I18N'ed by appropriately naming and editing .resx files. At
execution time, it works.
My C++ code is somewhat I18N'ed. When I put UI code in C++ I use .rc files.
When I link to a third party's DLLs I get what they supplied. When I link
to Microsoft's CRT and MFC, um... Well anyway, at execution time it seems
to be working, except when a third party's DLL has a secret dependency.
But what about the installer? A Visual Studio 2005 Setup project?
Several years ago I made an installer using Visual Studio Installer which
was a downloadable add-on for Visual Studio 6. The resulting .msi file
could handle some number of languages by default, displaying in the end
user's language if that was available in Visual Studio Installer. I didn't
have to make 9 different .msi files.
But what about a Visual Studio 2005 Setup project?
The first dependency is .Net Framework 2. If the .msi file is running on a
Japanese Windows system, it displays an EULA and demands the user's approval
to download .Net Framework 2 from Microsoft. If the .msi file is running on
a foreign language Windows system without Japanese fonts, it displays long
strings of question marks and demands the user's approval of long strings of
question marks. Though if the user approves then it downloads .Net
Framework 2 from Microsoft. It doesn't matter if I change the Visual Studio
2005 Setup project's properties from the default language (Japanese) to the
Neutral language. The resulting installation dialog does not display in the
user's language.
The second dependency is the CRT and MFC. If the .msi file is running on a
Japanese Windows system, it displays a small dialog and demands the user's
approval. Then at random it either executes a version of vcredist that was
built into the .msi, or it gets a download from Microsoft. If the .msi file
is running on a foreign language Windows system without Japanese fonts, it
displays just a few question marks and demands the user's approval. The
only problem that I noticed is the words for Runtime Library, but still,
it's essentially the same problem as the above.
Finally the .msi file installs my application. At this point, if I had not
changed the Visual Studio 2005 Setup project's properties from Japanese to
Neutral then the problem is the same as for the dependencies. However, if I
do change the project's language property from Japanese to Neutral, then
unlike the dependencies, this part of the .msi file does change. Instead of
displaying Japanese on Japanese Windows and question marks on foreign
Windows, it displays English on Japanese Windows and English on foreign
Windows. What kind of neutrality is this? If English dialogs on Japanese
Windows are neutral then shouldn't Japanese dialogs on English Windows be
neutral? Or if we're feeling really inventive, then maybe Japanese dialogs
on Japanese Windows and English dialogs on English Windows?
In all cases if the user approves installation then the result executes as
it should (except for one DLL from one supplier with a secret dependency).
Is there some way to use Visual Studio 2005 and duplicate the multilingual
installer capabilities that the old Visual Studio Installer had?
execution time, it works.
My C++ code is somewhat I18N'ed. When I put UI code in C++ I use .rc files.
When I link to a third party's DLLs I get what they supplied. When I link
to Microsoft's CRT and MFC, um... Well anyway, at execution time it seems
to be working, except when a third party's DLL has a secret dependency.
But what about the installer? A Visual Studio 2005 Setup project?
Several years ago I made an installer using Visual Studio Installer which
was a downloadable add-on for Visual Studio 6. The resulting .msi file
could handle some number of languages by default, displaying in the end
user's language if that was available in Visual Studio Installer. I didn't
have to make 9 different .msi files.
But what about a Visual Studio 2005 Setup project?
The first dependency is .Net Framework 2. If the .msi file is running on a
Japanese Windows system, it displays an EULA and demands the user's approval
to download .Net Framework 2 from Microsoft. If the .msi file is running on
a foreign language Windows system without Japanese fonts, it displays long
strings of question marks and demands the user's approval of long strings of
question marks. Though if the user approves then it downloads .Net
Framework 2 from Microsoft. It doesn't matter if I change the Visual Studio
2005 Setup project's properties from the default language (Japanese) to the
Neutral language. The resulting installation dialog does not display in the
user's language.
The second dependency is the CRT and MFC. If the .msi file is running on a
Japanese Windows system, it displays a small dialog and demands the user's
approval. Then at random it either executes a version of vcredist that was
built into the .msi, or it gets a download from Microsoft. If the .msi file
is running on a foreign language Windows system without Japanese fonts, it
displays just a few question marks and demands the user's approval. The
only problem that I noticed is the words for Runtime Library, but still,
it's essentially the same problem as the above.
Finally the .msi file installs my application. At this point, if I had not
changed the Visual Studio 2005 Setup project's properties from Japanese to
Neutral then the problem is the same as for the dependencies. However, if I
do change the project's language property from Japanese to Neutral, then
unlike the dependencies, this part of the .msi file does change. Instead of
displaying Japanese on Japanese Windows and question marks on foreign
Windows, it displays English on Japanese Windows and English on foreign
Windows. What kind of neutrality is this? If English dialogs on Japanese
Windows are neutral then shouldn't Japanese dialogs on English Windows be
neutral? Or if we're feeling really inventive, then maybe Japanese dialogs
on Japanese Windows and English dialogs on English Windows?
In all cases if the user approves installation then the result executes as
it should (except for one DLL from one supplier with a secret dependency).
Is there some way to use Visual Studio 2005 and duplicate the multilingual
installer capabilities that the old Visual Studio Installer had?