Attempting to add Database sample code to wix project -> Duplicate Symbol Error

309 views
Skip to first unread message

Ben St. Pierre

unread,
Jun 19, 2014, 2:29:23 PM6/19/14
to msi...@googlegroups.com
I tried following the tutorial here 


and got this error

Error 272 Duplicate symbol 'ControlEvent:ExitDialog/Finish/EndDialog/Return/1' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique. C:\CODE\Epicentral\WixIntaller\SqlPrompt.wxi 26 1 WixIntaller
Error 274 Duplicate symbol 'Property:DefaultUIFont' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique. C:\src\wix38\src\ext\UIExtension\wixlib\WixUI_InstallDir.wxs 38 1 WixIntaller
Error 273 Location of symbol related to previous error. C:\src\wix38\src\ext\UIExtension\wixlib\WixUI_InstallDir.wxs 55 1 WixIntaller
Error 275 Location of symbol related to previous error. C:\Users\dblock\source\msiext\dblock\src\WixExtensions\CommonUiExtension\wixlib\Common.wxs 17 1 WixIntaller

Now if I remove this line

    <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish

the error becomes this

Error 272 Duplicate symbol 'Property:DefaultUIFont' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique. C:\src\wix38\src\ext\UIExtension\wixlib\WixUI_InstallDir.wxs 38 1 WixIntaller

Error 273 Location of symbol related to previous error. C:\Users\dblock\source\msiext\dblock\src\WixExtensions\CommonUiExtension\wixlib\Common.wxs 17 1 WixIntaller

But I cannot find what else is wrong causing this second error? My .wxs project looks like this

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
      xmlns:DataSource="http://schemas.appsecinc.com/wix/DataSourceExtension">
  <Product Id="6882B804-67B3-4F5E-AE07-55C2503641C0" Name="Epicentral" Language="1033"
           Version="1.0.0.0" Manufacturer="TransAct Technologies Incorporated" UpgradeCode="27A165D6-8514-493D-A9B4-F2E2E9E8ED93">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />
    <UIRef Id="WixUI_InstallDir" />
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="EpicentralInstallDir" Name="Epicentral">
          <Directory Id="ServerManagerInstallDir" Name="Server Manager">
            <Component Id="ServerManagerFiles" Guid="1D565F3C-82B0-4088-8E7C-E93EC6DDD63D">
              <File Source="$(var.Server Manager.TargetDir)\AutoMapper.dll" />
              <File Source="$(var.Server Manager.TargetDir)\AutoMapper.xml" />
              <File Source="$(var.Server Manager.TargetDir)\catalystRealTime.Reposit.dll" />
              <File Source="$(var.Server Manager.TargetDir)\EntityFramework.dll" />
              <File Source="$(var.Server Manager.TargetDir)\EntityFramework.xml" />
              <File Source="$(var.Server Manager.TargetDir)\ServerManager_V_2_0.exe" />
              <File Source="$(var.Server Manager.TargetDir)\ServerManager_V_2_0.exe.config" />
            </Component>
          </Directory>
          <Directory Id="CouponManagerInstallDir" Name="Coupon Manager">
            <Component Id="CouponManagerFiles" Guid="E34E5056-FD04-4748-8B67-5CCFB2BD5470">
              <File Source="$(var.Coupon Manager.TargetDir)\AxInterop.POSPRINTERLib.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\C1.C1Pdf.2.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\C1.C1Pdf.2.xml"/>
              <File Source="$(var.Coupon Manager.TargetDir)\CouponManager.exe"/>
              <File Source="$(var.Coupon Manager.TargetDir)\CouponManager.exe.config"/>
              <File Source="$(var.Coupon Manager.TargetDir)\CouponManager.vshost.exe"/>
              <File Source="$(var.Coupon Manager.TargetDir)\CouponManager.vshost.exe.manifest"/>
              <File Source="$(var.Coupon Manager.TargetDir)\CPPCompress.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\DocToolkit.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\FunBmpHelper3.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\LayoutEditor.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\MultiLanguageSupport.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\PreUplodObjects.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\SmartPrintObjects.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\SmartThreadPool.dll"/>
              <File Source="$(var.Coupon Manager.TargetDir)\TransGDSPrinter.dll"/>
            </Component>
          </Directory>
          <Directory Id="PrintCenterFiles" Name="Print Center">
            <Component Id="PrintCenterFiles" Guid="0676F42A-32B6-4BD2-A5BD-D5F1C1E94363">
              <File Id="PC_AxInterop.POSPRINTERLib.dll" Source="$(var.Print Center.TargetDir)\AxInterop.POSPRINTERLib.dll"/>
              <File Id="PC_C1.C1Pdf.2.dll" Source="$(var.Print Center.TargetDir)\C1.C1Pdf.2.dll"/>
              <File Id="PC_C1.C1Pdf.2.xml" Source="$(var.Print Center.TargetDir)\C1.C1Pdf.2.xml"/>
              <File Id="PC_CPPCompress.dll" Source="$(var.Print Center.TargetDir)\CPPCompress.dll"/>
              <File Id="PC_DocToolkit.dll" Source="$(var.Print Center.TargetDir)\DocToolkit.dll"/>
              <File Id="PC_FunBmpHelper3.dll" Source="$(var.Print Center.TargetDir)\FunBmpHelper3.dll"/>
              <File Id="PC_Interop.POSPRINTERLib.dll" Source="$(var.Print Center.TargetDir)\Interop.POSPRINTERLib.dll"/>
              <File Id="PC_LayoutEditor.dll" Source="$(var.Print Center.TargetDir)\LayoutEditor.dll"/>
              <File Id="PC_MultiLanguageSupport.dll" Source="$(var.Print Center.TargetDir)\MultiLanguageSupport.dll"/>
              <File Id="PC_PreUplodObjects.dll" Source="$(var.Print Center.TargetDir)\PreUplodObjects.dll"/>
              <File Id="PC_SmartPrintObjects.dll" Source="$(var.Print Center.TargetDir)\SmartPrintObjects.dll"/>
              <File Id="PC_SmartThreadPool.dll" Source="$(var.Print Center.TargetDir)\SmartThreadPool.dll"/>
              <File Id="PC_TransGDSPrinter.dll" Source="$(var.Print Center.TargetDir)\TransGDSPrinter.dll"/>
              <File Id="PC_PrintCenter_GUI.exe" Source="$(var.Print Center.TargetDir)\PrintCenter_GUI.exe"/>
              <File Id="PC_PrintCenter_GUI.exe.config" Source="$(var.Print Center.TargetDir)\PrintCenter_GUI.exe.config"/>
            </Component>
          </Directory>
          <Directory Id="DatabaseFiles" Name="Database">
            <Component Id="MSSQLDatabaseMsiComponent" Guid="6E19D55B-2215-40AD-B052-CD74CA0CF259">
              <CreateFolder/>
              <DataSource:MSSQLDatabase Id="MSSQLDemoDatabase" Name="DemoDatabase" ConnectionId="DemoSQLServerConnection"
               CreateOnInstall="yes" DropOnUnInstall="no" CheckIfExists="yes">
              </DataSource:MSSQLDatabase>
            </Component>
          </Directory>
        </Directory>
      </Directory>
    </Directory>
    <DataSource:ODBCConnection Id="DemoSQLServerConnection" ConnectionString="[ODBC_CONNECTION_STRING]" />
    
    <?include SqlPrompt.wxi ?>
    
    <Property Id="WIXUI_INSTALLDIR" Value="EpicentralInstallDir" />
    <Feature Id="DefaultFeature" Level="1">
      <ComponentRef Id="ServerManagerFiles"/>
      <ComponentRef Id="CouponManagerFiles"/>
      <ComponentRef Id="PrintCenterFiles"/>
      <ComponentRef Id="MSSQLDatabaseMsiComponent"/>
    </Feature>
  </Product>
</Wix>

And the SqlPrompt include looks like this

<?xml version="1.0" encoding="utf-8"?>
<Include>
  <Property Id="CREATE_DATABASE_LOGON_TYPE" Value="WinAuthCurrentUser" />
  <Property Id="CHECK_CREATE_DATABASE_PERMS" Value="yes" />
  <Property Id="RUNTIME_DATABASE_LOGON_TYPE" Value="WinAuth" />
  <Property Id="CHECK_RUNTIME_DATABASE_PERMS" Value="yes" />
  <Property Id="RUNTIME_DATABASE_NAME" Value="Northwind" />
  <Property Id="RUNTIME_DATABASE_PERMS_TABLE" Value="Authors" />
  <UI>
    <DialogRef Id="SelectDbDlg" />
    <DialogRef Id="DbCreateCredDlg" />
    <DialogRef Id="GenericErrorDlg" />
    <DialogRef Id="WelcomeDlg" />
    <DialogRef Id="VerifyReadyDlg" />
    <DialogRef Id="ErrorDlg" />
    <DialogRef Id="FatalError" />
    <DialogRef Id="FilesInUse" />
    <DialogRef Id="UserExit" />
    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SelectDbDlg">NOT Installed</Publish>
    <Publish Dialog="SelectDbDlg" Control="Next" Event="NewDialog" Value="DbCreateCredDlg">NOT Installed</Publish>
    <Publish Dialog="SelectDbDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">NOT Installed</Publish>
    <Publish Dialog="DbCreateCredDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">NOT Installed</Publish>
    <Publish Dialog="DbCreateCredDlg" Control="Back" Event="NewDialog" Value="SelectDbDlg">NOT Installed</Publish>
    <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="DbCreateCredDlg">NOT Installed</Publish>
    <Publish Dialog="ExitDialog" Control="Back" Event="EndDialog" Value="VerifyReadyDlg">1</Publish
<!--    <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> -->
  </UI>
</Include>

Is it possible that the Datasource Extensions are not compatible with the latest Wix release (3.8?).

Daniel Doubrovkine

unread,
Jun 20, 2014, 8:43:23 AM6/20/14
to msi...@googlegroups.com
It's possible, although I am pretty sure I've seen these things before. It's saying that these exist in WIX CommonUI extensions.

I would start by upgrading MsiExt to Wix 3.8. That would be useful and we can figure out if there're issues. Notice https://github.com/dblock/msiext/issues/9, someone has begun working on it, but never finished.


--
You received this message because you are subscribed to the Google Groups "msiext" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msiext+un...@googlegroups.com.
To post to this group, send email to msi...@googlegroups.com.
Visit this group at http://groups.google.com/group/msiext.
For more options, visit https://groups.google.com/d/optout.



--

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg - artsy.net - github/dblock

Reply all
Reply to author
Forward
0 new messages