I just started working with the
WixExtendedBootstrapperApplication.HyperlinkLicense yesterday, and there is
some functionality that I do not understand yet. But it seems like you
could use the BAFunction.dll template.
In the bundle you would do something like:
"
<Variable Name='EULA1' Type='string' Value='<url to eula1>'
bal:Overridable='yes'/>
<Variable Name='EULA2' Type='string' Value='<url to eula2>'
bal:Overridable='yes'/>
"
In the BAFunction OnPlan, do something like this:
LPWSTR sczEula1 = NULL;
LPWSTR sczEula2 = NULL;
BalGetStringVariable(L"WixBundleName", &sczEula1);
BalExitOnFailure(hr, "Failed to get variable.");
BalGetStringVariable(L"WixBundleName", &sczEula2);
BalExitOnFailure(hr, "Failed to get variable.");
LONGLONG llValue = 0;
if (SUCCEEDED(BalGetNumericVariable(L"RadioButton1", &llValue)) &&
llValue)
{
m_pEngine->SetVariableNumeric(L"RadioButton", 1);
BalExitOnFailure(hr, "Failed to set variable.");
hr = m_pEngine->SetVariableString(L"WixExtbaLicenseUrl",
sczEula1);
BalExitOnFailure(hr, "Failed to set variable.");
}
else if (SUCCEEDED(BalGetNumericVariable(L"RadioButton2", &llValue))
&& llValue)
{
m_pEngine->SetVariableNumeric(L"RadioButton", 2);
BalExitOnFailure(hr, "Failed to set variable.");
hr = m_pEngine->SetVariableString(L"WixExtbaLicenseUrl",
sczEula1);
BalExitOnFailure(hr, "Failed to set variable.");
}
else if (SUCCEEDED(BalGetNumericVariable(L"RadioButton3", &llValue))
&& llValue)
{
m_pEngine->SetVariableNumeric(L"RadioButton", 3);
BalExitOnFailure(hr, "Failed to set variable.");
hr = m_pEngine->SetVariableString(L"WixExtbaLicenseUrl",
sczEula2);
BalExitOnFailure(hr, "Failed to set variable.");
}
else
{
m_pEngine->SetVariableNumeric(L"RadioButton", 0);
BalExitOnFailure(hr, "Failed to set variable.");
hr = m_pEngine->SetVariableString(L"WixExtbaLicenseUrl",
sczEula1);
BalExitOnFailure(hr, "Failed to set variable.");
}
ReleaseNullStr(sczEula1); // Release string so it can be re-used
ReleaseNullStr(sczEula2); // Release string so it can be re-used
"
I am guessing that you might need to do something to reload the dialog,
which I don't know what is involved there. I have setting the vars and
reading them in the BAFuntion and changing them working, but I am not trying
to do anything with the Eula string at this time so I am not sure of the
dialog behavior in that regard. (For some reason I can't get the DelayStart
to actually show and delay the splashcreen, but that will need to be another
thread.)
Phill
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/is-there-a-way-to-set-a-variable-by-selecting-a-different-radiobutton-in-BURN-tp7587887p7587889.html
Sent from the wix-users mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users