. . . . <Dialog Id="WelcomeDlg" Width="440" Height="175" Title="[ProductName] [Setup]" NoMinimize="yes"> <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="440" Height="175" TabSkip="no" Text="[DialogBitmap]" /> <Control Id="Description" Type="Text" X="160" Y="110" Width="220" Height="30" Transparent="yes" NoPrefix="yes"> </Control> <Control Id="LanguageChooseComboBox" Type="ComboBox" X="160" Y="90" Width="156" Height="10" ComboList="yes" Property="SETUPLANGLIST" Sorted="no" RightToLeft="yes"> </Control> <Control Id="Next" Type="PushButton" X="276" Y="158" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]"> <Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish> </Control> <Control Id="Cancel" Type="PushButton" X="334" Y="158" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]"> <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish> </Control> <Control Id="Title" Type="Text" X="160" Y="65" Width="220" Height="60" Transparent="yes" NoPrefix="yes"> <Text>Select language.</Text> </Control> </Dialog> . . . . <Dialog Id="LicenseAgreementDlg" Width="370" Height="270" Title="[ProductName] License Agreement" NoMinimize="yes"> <Control Id="Buttons" Type="RadioButtonGroup" X="20" Y="187" Width="330" Height="40" Property="IAgree" /> <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]"> <Publish Event="NewDialog" Value="WelcomeDlg">1</Publish> </Control> <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]"> <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish> <Publish Event="NewDialog" Value="SetupTypeDlg"><![CDATA[IAgree = "Yes"]]></Publish> <Condition Action="disable"><![CDATA[IAgree <> "Yes"]]></Condition> <Condition Action="enable">IAgree = "Yes"</Condition> </Control> <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]"> <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish> </Control> <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" /> <Control Id="AgreementText" Type="ScrollableText" X="20" Y="60" Width="330" Height="120" Sunken="yes" TabSkip="no"> <Text SourceFile="..\License.rtf" /> </Control> <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes"> <Text>[string[SETUPLANGLIST]]</Text> </Control> </Dialog> <ComboBox Property="SETUPLANGLIST"> <ListItem Text="English" Value="eng" /> <ListItem Text="Italian" Value="ita" /> </ComboBox> . . . . <Property Id="SETUPLANGLIST">eng</Property> <Property Id="stringeng">English translate</Property> <Property Id="stringita">Traduzione italiana</Property>
In this way, the first dialog, choose the languages and the [SETUPLANGLIST] variable will be "eng" or "ita", if we write [string[SETUPLANGLIST]] in second dialog, the output will like [stringeng] or [stringita]... how a variables.
I have tested with wix 3.5.2201.0 and wix 3.6... This code have an error in light compile: "ICE03: Invalid format string; etc.." but it WORKS!
Could i have problem in future for this error...!?