Reputation: 11
I'm new to this wix installer..i dont know what is the error happened.please suggest me
<Control Id="CompilePyc" Type="CheckBox" X="135" Y="60" Width="230" Height="50" Text="Compile .py files to byte code after installation" TabSkip="no" />
Upvotes: 0
Views: 1066
Reputation: 171
I encountered this issue today and managed to resolve this with the output from the dark.exe when exporting the xml/wxs file. The dark.exe generates a wxs and binary file output from an existing xml but is cautious where to place the property value. The property is in the dlls where the checkbox status is set in the code.
Output:
warning DARK1059 : The Control table contains a row with primary key(s) 'MySetup/CheckBox'
whose Property column contains a value, 'MySetup_SETUPVALUE', which specifies a foreign key
relationship with the CheckBox table. However, since the expected foreign row specified by
this value does not exist, this will result in some information being left out of the decompiled output.
Updated property in XML:
<Control Id="CheckBox" Type="CheckBox" Property="MySetup_SETUPVALUE" X="20" Y="132"
Width="330" Height="14" Text="Text for box"
TabSkip="no" />
So basically, dark.exe failed to update the property value but did provide the expected value for later input. Could be worth running it again to grab the output.
Upvotes: 1
Reputation: 32250
Basically, the error message suggests the following: if you add a checkbox control on a dialog, you have to specify the Windows Installer property, which is "tied" to that checkbox.
You can specify the property in two ways:
Property
attribute (The name of a defined property to be linked to this control. This column is required for active controls.)CheckBoxPropertyRef
attributeThe latter one is new for the most recent versions of WiX, and this is what the docs tell us:
This attribute is only valid for CheckBox controls. The value is the name of a Property that was already used as the Property for another CheckBox control. The Property attribute cannot be specified. The attribute exists to support multiple checkboxes on different dialogs being tied to the same property.
So, decide which way suits your needs, and add either attribute with proper value to your <Control>
element.
Upvotes: 2