I am attempting to build an installer with a couple of modified standard screens in the FeatureTree UI: CustomizeDlg and WelcomeDlg. I copied the FeatureTree UI wxs file and modified it. The CustomizeDlg screen builds without any problems. I get an error on the WelcomeDlg - see below. I run the compile and link from an Ant script.
Is there a work-around I can do to get this installer to build? Thanks Mike Ant script fragment: <exec executable="${candle}" failonerror="true"> <arg value=""${ant.project.name}Install.wxs""/> <arg value="-ext"/> <arg value=""${wix.path}/WixUtilExtension.dll""/> <arg value="-ext"/> <arg value=""${wix.path}/WixSqlExtension.dll""/> <arg value="-dCmndVer="${build.version}""/> <arg value="-dCmndWixVer="${wixver}""/> </exec> <!-- Run the light program to build the MSI installer file --> <exec executable="${light}" failonerror="true"> <arg value="-out"/> <arg value=""${ant.project.name}.msi""/> <arg value=""${ant.project.name}Install.wixobj""/> <arg value="-ext"/> <arg value=""${wix.path}/WixUtilExtension.dll""/> <arg value="-ext"/> <arg value=""${wix.path}/WixSqlExtension.dll""/> <arg value="-ext"/> <arg value=""${wix.path}/WixUIExtension.dll""/> </exec> -build.msi.installer: [exec] Microsoft (R) Windows Installer Xml Compiler version 3.0.5210.0 [exec] Copyright (C) Microsoft Corporation. All rights reserved. [exec] [exec] EpiBuilder6RunTimeInstall.wxs [exec] Microsoft (R) Windows Installer Xml Linker version 3.0.5210.0 [exec] Copyright (C) Microsoft Corporation. All rights reserved. [exec] [exec] light.exe : error LGHT0001 : Item has already been added. Key in dictionary: 'MyWelcomeDlg/Title' Key being added: 'MyWelcomeDlg/Title' [exec] [exec] Exception Type: System.ArgumentException [exec] [exec] Stack Trace: [exec] at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) [exec] at System.Collections.Hashtable.Add(Object key, Object value) [exec] at Microsoft.Tools.WindowsInstallerXml.Binder.MergeUnrealTables(TableCollection tables) [exec] at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, String databaseFile) [exec] at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file) [exec] at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args) [exec] Binder temporary directory located at 'C:\Documents and Settings\MRerick\Local Settings\Temp\6obyciyj'. [exec] Validator temporary directory located at 'C:\Documents and Settings\MRerick\Local Settings\Temp\k_vzscgy'. I include the UI wxi file in my wxs installer file via: <UIRef Id="WixUI_ErrorProgressText" /> <?include project_WixUI_FeatureTree.wxi?> Here is the UI include file (the customized dialogs are at the end): <?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) Microsoft Corporation. All rights reserved. The use and distribution terms for this software are covered by the Common Public License 1.0 (http://opensource.org/licenses/cpl.php) which can be found in the file CPL.TXT at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software. --> <!-- First-time install dialog sequence: Maintenance dialog sequence: - WixUI_WelcomeDlg - WixUI_MaintenanceWelcomeDlg - WixUI_LicenseAgreementDlg - WixUI_MaintenanceTypeDlg - WixUI_CustomizeDlg - WixUI_CustomizeDlg - WixUI_VerifyReadyDlg - WixUI_VerifyReadyDlg - WixUI_DiskCostDlg --> <Include xmlns="http://schemas.microsoft.com/wix/2006/wi"> <!-- Make sure that these tables get created in the installer, even if they are empty --> <EnsureTable Id="ComboBox"/> <EnsureTable Id="ListBox"/> <UI Id="IWS_WixUI_FeatureTree"> <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" /> <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" /> <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> <Property Id="WixUI_Mode" Value="FeatureTree" /> <DialogRef Id="ErrorDlg" /> <DialogRef Id="FatalError" /> <DialogRef Id="FilesInUse" /> <DialogRef Id="MsiRMFilesInUse" /> <DialogRef Id="PrepareDlg" /> <DialogRef Id="ProgressDlg" /> <DialogRef Id="ResumeDlg" /> <DialogRef Id="UserExit" /> <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> <Publish Dialog="MyWelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="MyWelcomeDlg">1</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="IWS_CustomizeDlg">LicenseAccepted = "1"</Publish> <Publish Dialog="IWS_CustomizeDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="1">Installed</Publish> <Publish Dialog="IWS_CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2">NOT Installed</Publish> <Publish Dialog="IWS_CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="IWS_CustomizeDlg" Order="1"> NOT Installed OR WixUI_InstallMode = "Change" </Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="IWS_CustomizeDlg" Order="1"> (NOT OLDERVERSIONBEINGUPGRADED) OR (WixUI_InstallMode = "Change") </Publish> <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="IWS_CustomizeDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish> <Dialog Id="IWS_CustomizeDlg" Width="370" Height="270" Title="!(loc.CustomizeDlg_Title)" TrackDiskSpace="yes"> <Control Id="Tree" Type="SelectionTree" X="25" Y="85" Width="175" Height="115" Property="_BrowseProperty" Sunken="yes" TabSkip="no" Text="!(loc.CustomizeDlgTree)"/> <!--<Control Id="Browse" Type="PushButton" X="294" Y="210" Width="66" Height="17" Text="!(loc.CustomizeDlgBrowse)"> <Publish Event="SelectionBrowse" Value="BrowseDlg">1</Publish> <Condition Action="hide">Installed</Condition> <Condition Action="disable">Installed</Condition> </Control>--> <Control Id="Reset" Type="PushButton" X="10" Y="243" Width="81" Height="17" Text="!(loc.CustomizeDlgReset)"> <Publish Event="Reset" Value="0">1</Publish> <Subscribe Event="SelectionNoItems" Attribute="Enabled" /> </Control> <Control Id="DiskCost" Type="PushButton" X="91" Y="243" Width="100" Height="17" Text="!(loc.CustomizeDlgDiskCost)"> <Publish Event="SpawnDialog" Value="DiskCostDlg">1</Publish> <Subscribe Event="SelectionNoItems" Attribute="Enabled" /> </Control> <Control Id="Back" Type="PushButton" X="192" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" /> <Control Id="Next" Type="PushButton" X="248" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)"> <Subscribe Event="SelectionNoItems" Attribute="Enabled" /> </Control> <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.CustomizeDlgBannerBitmap)" /> <Control Id="Text" Type="Text" X="25" Y="55" Width="320" Height="20" Text="!(loc.CustomizeDlgText)" /> <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="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.CustomizeDlgDescription)" /> <Control Id="Title" Type="Text" X="15" Y="6" Width="210" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.CustomizeDlgTitle)" /> <Control Id="Box" Type="GroupBox" X="210" Y="81" Width="150" Height="118" /> <Control Id="ItemDescription" Type="Text" X="215" Y="90" Width="131" Height="50" Text="!(loc.CustomizeDlgItemDescription)"> <Subscribe Event="SelectionDescription" Attribute="Text" /> </Control> <Control Id="ItemSize" Type="Text" X="215" Y="140" Width="131" Height="50" Text="!(loc.CustomizeDlgItemSize)"> <Subscribe Event="SelectionSize" Attribute="Text" /> </Control> <Control Id="Location" Type="Text" X="90" Y="210" Width="200" Height="20" Text="!(loc.CustomizeDlgLocation)"> <Subscribe Event="SelectionPath" Attribute="Text" /> <Subscribe Event="SelectionPathOn" Attribute="Visible" /> <Condition Action="hide">Installed</Condition> </Control> <Control Id="LocationLabel" Type="Text" X="25" Y="210" Width="65" Height="10" Text="!(loc.CustomizeDlgLocationLabel)"> <Subscribe Event="SelectionPathOn" Attribute="Visible" /> <Condition Action="hide">Installed</Condition> </Control> </Dialog> <Dialog Id="MyWelcomeDlg" Width="370" Height="270" Title="!(loc.WelcomeDlg_Title)"> <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="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.WelcomeDlgBitmap)" /> <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" /> <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" /> <Control Id="Description" Type="Text" X="135" Y="80" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeDlgDescription)" /> <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeDlgTitle)" /> <Control Id="Title" Type="Text" X="135" Y="150" Width="220" Height="80" Transparent="yes" NoPrefix="yes" Text="WARNING: This program is protected by copyright law and international treaties." /> </Dialog> </UI> <UIRef Id="WixUI_Common" /> </Include> The information contained in this transmission contains potentially privileged, export controlled and/or confidential information of Imageware Systems, Inc. or its customers or partners. It is intended only to be read by the person(s) named above and for no other purpose. You are hereby notified that any dissemination, distribution, duplication of this communication or use of its contents for any purpose not authorized expressly by Imageware Systems, Inc. is strictly prohibited and could lead to both civil and/or criminal penalties. If you are not the intended recipient, you are prohibited to review the contents herein and please contact the sender by reply e-mail and destroy all copies of the original message. To reply to our e-mail administrator directly, please send an e-mail to emailad...@iwsinc.com ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users