I am building a msi package that is supporting multiple languages. Hence, I
am using license files of many different languages. I am building a wix ui
library of my own, with my own LicenseAgreementDlg.wxs. However, how should
I specify the sourcefile for my license text in order to be able to get a
msi with corresponding localized license file? Because i will be building
the wix ui library before building the main msi package, how should i
specify the license file? I do not wish to rebuild the wix ui lib with a
different sourcefile target for each of the language I am localizing,
neither do I wish to copy the license file of each corresponding language to
a specific directory before building the main msi package. Is there any way
i can achieve a result similar to the use of <Text
SourceFile="$(loc.LicenseFile)" /> where each language has a different
string for LicenseFile and the linking to the specific targetpath is only
done during the building of the main msi and not during the building of the
wix ui library?
From what I have read from the wix-feature requests in sourceforge.net
http://www.mail-archive.com/wix-...@lists.sourceforge.net/msg01037.html ,
in the comment :
--------------------------------------------------------------------
The method you describe below of putting a license.rtf file
in the same directory as the wxs source file no longer works
with the latest builds of the WixUIExtension. That method
is a bit dangerous because it could accidentally pickup a
file unintentionally and its also inflexible because you can
only specify one license.rtf file (which doesn't work for
localization as you've found out).
However, both of these issues are now solved. With the
latest builds, you can override the license text in one of
two ways:
In authoring:
<WixVariable Id="WixUILicenseRtf"
Value="$(env.WIX)\examples\data\test.txt" />
Via the command line:
light.exe
-dWixUILicenseRtf=c:\delivery\dev\wix\examples\data\test.txt
-----------------------------------------------------------------------
does not work for me. Since I am using a wix ui library, this
dWixUILicenseRtf=c:\delivery\dev\wix\examples\data\test.txt has to be
specify for each language during the building of my wix ui library and hence
I have to end up rebuidling the wix ui library over and over again for each
language that I have.
Does anyone have an idea of how should I go about doing?
Thanks in advance.
Regards,
Cindy
You should just be able to adjust the value of the path to the license
file in each of your localization files and pass the appropriate loc
file to the light command.
Sorry if I am mising something here.
If the problem is more serious than this you can always postprocess the
files and re-insert the appropriate rtf file into package's binary
table. The code to do this is fairly trivial (we use it for re-branding
InstallShield-built MSI packages).
Stephen