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="&quot;${ant.project.name}Install.wxs&quot;"/>
         <arg value="-ext"/>
         <arg value="&quot;${wix.path}/WixUtilExtension.dll&quot;"/>
         <arg value="-ext"/>
         <arg value="&quot;${wix.path}/WixSqlExtension.dll&quot;"/>
         <arg value="-dCmndVer=&quot;${build.version}&quot;"/>
         <arg value="-dCmndWixVer=&quot;${wixver}&quot;"/>
      </exec>
      <!-- Run the light program to build the MSI installer file -->
      <exec executable="${light}" failonerror="true">
         <arg value="-out"/>
         <arg value="&quot;${ant.project.name}.msi&quot;"/>
         <arg value="&quot;${ant.project.name}Install.wixobj&quot;"/>
         <arg value="-ext"/>
         <arg value="&quot;${wix.path}/WixUtilExtension.dll&quot;"/>
         <arg value="-ext"/>
         <arg value="&quot;${wix.path}/WixSqlExtension.dll&quot;"/>
         <arg value="-ext"/>
         <arg value="&quot;${wix.path}/WixUIExtension.dll&quot;"/>
      </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&#174; 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

Reply via email to