3

I've been trying to insert a custom dialog into the WixUI_InstallDir UI sequence. I have a "main" file named Product.wxs and the custom dialog in another file named InstallTypeDlg.wxs - both of which are present in Installer.wixproj.

Within InstallTypeDlg.wxs, I have the following:

<?xml version="1.0" encoding="UTF-8"?>
  <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
      <UI>
        <Dialog Id="InstallTypeDlg" Width="370" Height="270" Title="Select Install Type">

          <Control Id="InstallTypeSelection" Type="RadioButtonGroup" X="20" Y="55" Width="330" Height="120" Property="InstallType">
            <RadioButtonGroup Property="InstallType">
              <RadioButton Text="Type 01" Value="1" X="5" Y="0" Width="250" Height="15" />
              <RadioButton Text="Type 02" Value="2" X="5" Y="20" Width="250" Height="15" />
            </RadioButtonGroup>
          </Control>

          <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
          <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" />
          <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
            <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
          </Control>

          <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.SetupTypeDlgBannerBitmap)" />
          <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
          <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
          <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.SetupTypeDlgTitle)" />
          <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.SetupTypeDlgDescription)" />
          <Control Id="TypicalText" Type="Text" X="60" Y="85" Width="280" Height="20" Text="!(loc.SetupTypeDlgTypicalText)" />
        </Dialog>
      </UI>
    </Fragment>
  </Wix>

I reference this custom dialog in Product.wxs thus:

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />

<UI Id="MyWixUI_InstallDir">
  <UIRef Id="WixUI_InstallDir" />

  <DialogRef Id="InstallTypeDlg" />

  <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="InstallTypeDlg" Order="4">1</Publish>
  <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallTypeDlg">1</Publish>
</UI>

Now, when I compile this project, I get the following error:

InstallTypeDlg.wxs(8,0): error LGHT0094: Unresolved reference to symbol 'Property:InstallType' in section 'Fragment:'.

I have no idea why. Have I forgotten something? :-/

I'm fairly new to WiX, having only picked it up yesterday. Any help would be much appreciated.

I am using Wix 3.5.2415.0.

1 Answer 1

6

Probably, you just need to define that property before using it, i.e.:

<Property Id="InstallType" Value="some default value" />
Sign up to request clarification or add additional context in comments.

4 Comments

Works, thanks! The tutorials I've read don't mention that, and I assumed the property was auto-created from the <Control> tag
Great it works. Usually, if you get the error like this, this means you have to define the entity being referenced.
Thanks. I had already defined the property, but didn't assign it a default value. That made all the difference.
Thanks. Same as bigfoot. Need to set the value of the property up front.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.