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='&lt;url to eula1>'
bal:Overridable='yes'/>
<Variable Name='EULA2' Type='string' Value='&lt;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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to