The table contains non-unique primary keys

Help
baptiste
2006-07-13
2012-07-18
  • baptiste

    baptiste - 2006-07-13

    Hello -

    I'm getting the following error when I am using xml2msi.exe:

    The table contains non-unique primary keys
    Location: table "_Streams", row 1

    I can repro this 100% of time. My steps:

    1.) use msi2xml to extract the files out of an msi:

    msi2xml -b streams -c files acp-en.msi

    2.) update a binary in the files folder

    3.) repackage the msi:

    xml2msi -m -o test.msi acp-en.xml

    this is the output of the last few lines. The MSI package is 15megs if that helps at all. Also I'm using version:
    xml2msi 2.1.12.952
    msi2xml 2.1.12.952

    thanks in advance for any help or suggestions.

    Populating table 'MIME'
    Populating table 'Media'
    Populating table 'ModuleComponents'
    Populating table 'ModuleDependency'
    Populating table 'ModuleExclusion'
    Populating table 'ModuleSignature'
    Populating table 'MoveFile'
    Populating table 'MsiAssembly'
    Populating table 'MsiAssemblyName'
    Populating table 'MsiDigitalCertificate'
    Populating table 'MsiDigitalSignature'
    Populating table 'MsiFileHash'
    Populating table 'ODBCAttribute'
    Populating table 'ODBCDataSource'
    Populating table 'ODBCDriver'
    Populating table 'ODBCSourceAttribute'
    Populating table 'ODBCTranslator'
    Populating table 'Patch'
    Populating table 'PatchPackage'
    Populating table 'ProgId'
    Populating table 'Property'
    Populating table 'PublishComponent'
    Populating table 'RadioButton'
    Populating table 'RegLocator'
    Populating table 'Registry'
    Populating table 'RemoveFile'
    Populating table 'RemoveIniFile'
    Populating table 'RemoveRegistry'
    Populating table 'Report'
    Populating table 'ReserveCost'
    Populating table 'SelfReg'
    Populating table 'ServiceControl'
    Populating table 'ServiceInstall'
    Populating table 'Shortcut'
    Populating table 'Signature'
    Populating table 'TextStyle'
    Populating table 'TypeLib'
    Populating table 'UIText'
    Populating table 'Upgrade'
    Populating table 'Verb'
    Populating table '_InstallValidate'
    Populating table '_Required'
    Populating table '_Sequence'
    Populating table '_Validation'
    The table contains non-unique primary keys
    Location: table "_Streams", row 1

    C:\acp>

     
    • Thomas Jackson

      Thomas Jackson - 2008-05-06

      I am using version 2.2.1.957 and I have still this problem..
      "Populating table 'UIText'
      Populating table 'Upgrade'
      Populating table '_MAKEMSI_Cabs'
      Populating table '_Validation'
      Populating table '_Streams'
      The table contains non-unique primary keys
      Location: table "_Streams", row 1"

      Do you have any idea?
      Thanks!

       
      • Daniel Gehriger

        Daniel Gehriger - 2008-05-07

        You are right, this is a regression in version 2.2.1.957 with respect to 2.2.0.953. I will have a closer look at this, but in the meantime, please download and use 2.2.0.

        • Daniel
         
    • Daniel Gehriger

      Daniel Gehriger - 2006-07-17

      Can you send me the file using <http://www.mailbigfile.com/?recipient=gehriger@linkcad.com> ?

       
    • Daniel Gehriger

      Daniel Gehriger - 2007-09-26

      Fixed in version 2.2.0

       

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks