Re: [WiX-users] Multiple languages issue: 'Error applying transforms' when select English in Danish 'Standards and format'

2010-01-19 Thread Blair
The "automatic match" based on the transform having the same name as the
locale id is officially unsupported by Windows Installer. Usually when
something is officially unsupported, something goes wrong when you try it at
some point in the system.

My recommendation is to always use the bootstrapper to select the transform
to use and to have them named something that makes sense to your
bootstrapper, not to the OS (such as en-US.mst, es-ES.mst, etc.). That way,
you don't have any "double-applications where two transforms are attempted
(one by automatic application, the other by you).

What "works" and what doesn't when following unsupported (and not officially
documented) features may vary by MSI version, by OS platform/edition, and by
OS culture/culture mixes. It becomes a expensive task to test all the
possible permutations you will create.

-Original Message-
From: little.forest [mailto:little.for...@ymail.com] 
Sent: Tuesday, January 19, 2010 1:48 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Multiple languages issue: 'Error applying transforms'
when select English in Danish 'Standards and format'

Our installer supports multiple languages. We are using the trick from
here(http://jpassing.com/2007/06/14/authoring-multi-language-msi-packages/).
Basically these are what we do:
- We compile the wxs files
- then link with different languages(we support en-US, es-ES, fr-FR, de-DE,
pt-BR and it-IT)
- then we get the transforms for each language
- then we stuff the transforms in the MSI and we associate the language with
the language ID
- we also have a bootstrapper which provides a way the end user can choose
the installing language, then internally, the bootstrapper will trigger the
MSI by using the right transform
- We even tested this case which works: in fr-FR(French) language
environment, select the it-IT(Italian) language. Don't ask me why we tested
this case, we just want to verify it works.

This worked quite well until recently. One of our Denmark users reported
this problem:
- She's using English version of XP. She goes to [Control Panel]->[Regional
and Language Options] and change the 'Standards and formats' to be 'Danish'.
- Then she installed the build by selecting the English language. 
- She got "Error applying transforms. Verify that the specified transform
paths are valid." error. Actually, it doesn't have to be English, by
choosing any other languages, the installation will be failed for this same
error.

Yes, we have 'Codepage="1252"' in the wxl files. 

I then made some tests:
1. If I just build the English version, it works. There is no error.
2. If I just build any of other languages, it works as well. Say, the fr-FR
one works in Danish environment.
3. But if I build the multiple language MSI, it fails. I mean, if I just run
it "msiexec.exe /i myinstaller.msi", then I got the "Error applying
transforms" error. If I run it "msiexec.exe /i myinstaller.msi
TRANSFORMS=":1046.mst"", I got the same error as well.
4. I also randomly tested it in some other "Standards and formats". Some
worked, some not. For example, it failed in Bulgarian environment as well.

Here I have a few questions:
1. What is the problem here? And how to fix it?
2. If the it-IT transform works in fr-FR environment, how come
es-ES(Spanish) doesn't work in Danish environment? I know we don't have
Danish in our supported language list. But at least the English one should
work in Danish format, correct? But it doesn't. Do you know why? 
3. I understand by not giving the transform("msiexec.exe /i
myinstaller.msi") the system will try to automatically 'match' the current
language. I also know a way to force it to use certain language("msiexec.exe
/i myinstaller.exe TRANSFORMS=:1046.mst"). Is there a way to force to use
English? I tried "msiexec.exe /i myinstaller.exe TRANSFORMS=:1033.mst" - but
it doesn't work.

This issue is quite important for us. 

Thanks in advance,
/Brian


  __
Ask a question on any topic and get answers from real people. Go to Yahoo!
Answers and share what you know at http://ca.answers.yahoo.com

--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for
Conference
attendees to learn about information security's most important issues
through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--

[WiX-users] Multiple languages issue: 'Error applying transforms' when select English in Danish 'Standards and format'

2010-01-19 Thread little.forest
Our installer supports multiple languages. We are using the trick from 
here(http://jpassing.com/2007/06/14/authoring-multi-language-msi-packages/). 
Basically these are what we do:
- We compile the wxs files
- then link with different languages(we support en-US, es-ES, fr-FR, de-DE, 
pt-BR and it-IT)
- then we get the transforms for each language
- then we stuff the transforms in the MSI and we associate the language with 
the language ID
- we also have a bootstrapper which provides a way the end user can choose the 
installing language, then internally, the bootstrapper will trigger the MSI by 
using the right transform
- We even tested this case which works: in fr-FR(French) language environment, 
select the it-IT(Italian) language. Don't ask me why we tested this case, we 
just want to verify it works.

This worked quite well until recently. One of our Denmark users reported this 
problem:
- She's using English version of XP. She goes to [Control Panel]->[Regional and 
Language Options] and change the 'Standards and formats' to be 'Danish'.
- Then she installed the build by selecting the English language. 
- She got "Error applying transforms. Verify that the specified transform paths 
are valid." error. Actually, it doesn't have to be English, by choosing any 
other languages, the installation will be failed for this same error.

Yes, we have 'Codepage="1252"' in the wxl files. 

I then made some tests:
1. If I just build the English version, it works. There is no error.
2. If I just build any of other languages, it works as well. Say, the fr-FR one 
works in Danish environment.
3. But if I build the multiple language MSI, it fails. I mean, if I just run it 
"msiexec.exe /i myinstaller.msi", then I got the "Error applying transforms" 
error. If I run it "msiexec.exe /i myinstaller.msi TRANSFORMS=":1046.mst"", I 
got the same error as well.
4. I also randomly tested it in some other "Standards and formats". Some 
worked, some not. For example, it failed in Bulgarian environment as well.

Here I have a few questions:
1. What is the problem here? And how to fix it?
2. If the it-IT transform works in fr-FR environment, how come es-ES(Spanish) 
doesn't work in Danish environment? I know we don't have Danish in our 
supported language list. But at least the English one should work in Danish 
format, correct? But it doesn't. Do you know why? 
3. I understand by not giving the transform("msiexec.exe /i myinstaller.msi") 
the system will try to automatically 'match' the current language. I also know 
a way to force it to use certain language("msiexec.exe /i myinstaller.exe 
TRANSFORMS=:1046.mst"). Is there a way to force to use English? I tried 
"msiexec.exe /i myinstaller.exe TRANSFORMS=:1033.mst" - but it doesn't work.

This issue is quite important for us. 

Thanks in advance,
/Brian


  __
Ask a question on any topic and get answers from real people. Go to Yahoo! 
Answers and share what you know at http://ca.answers.yahoo.com
--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users