[WiX-users] XmlConfig in multiple MergeModules

2011-06-15 Thread Stelios Kyprou
Hello,
I was wondering if it is possible to use XmlConfig in multiple merge modules, 
that will later be used in a single installer.
For example, I have MergeModule1, which has:
Fragment
  Component Id=appConfigEdit Guid={1F53A85E-07AD-47B5-890E-D6768A65E343} 
Directory=MANAGEMENTTOOLFOLDER KeyPath=yes
  util:XmlConfig Id='Modules'
  On='install'
  Action='create'
  Sequence='1'
  File='[#appConfigFile]'
  
ElementPath=//configuration/appSettings/add[\[]@key='Modules'[\]]
  Node=value
  Name=value
  Value='[MODULES]'/
  util:XmlConfig Id='ConnectorServiceRelativePathDefinition'
  On='install'
  Action='create'
  Sequence='2'
  File='[#appConfigFile]'
  
ElementPath=//configuration/appSettings/add[\[]@key='ConnectorServiceFolderName'[\]]
  Node=value
  Name=value
  Value='..\!(loc.ConnectorFolderName)'/
/Component
  /Fragment

MergeModule2 has the following Component:

  Fragment
Component Id=appConfigEditing 
Guid={BC70F9B6-6CE1-4C49-8AB3-F7C36B616129} Directory=CONNECTORFOLDER 
KeyPath=yes
  util:XmlConfig Id='ModulesDefinition'
  On='install'
  Action='create'
  Sequence='1'
  File='[#file_E1F5BC4046FD48ADB558DE10AA3F4B50]'
  
ElementPath=//configuration/appSettings/add[\[]@key='Modules'[\]]
  Node=value
  Name=value
  Value='[MODULES]'/
  util:XmlConfig Id='GcwaRelativePathDefinition'
  On='install'
  Action='create'
  Sequence='2'
  File='[#file_E1F5BC4046FD48ADB558DE10AA3F4B50]'
  
ElementPath=//configuration/appSettings/add[\[]@key='PrivateApiFileServerRelativePath'[\]]
  Node=value
  Name=value
  Value='..\!(loc.GcwaFolderNme)'/
/Component
  /Fragment

This doesn't seem to work when I use both merge modules in an installer, and I 
get a warning when compiling:
warning LGHT1055: The InstallExecuteSequence table contains an action 
'SchedXmlConfig' which cannot be merged from the merge module 'blah'.  This 
action is likely colliding with an action in the database that is being 
created.  The colliding action may have been authored in the database or merged 
in from another merge module.  If this is a standard action, it is likely 
colliding due to a difference in the condition for the action in the database 
and merge module.  If this is a custom action, it should only be declared in 
the database or one merge module.
warning LGHT1056: The CustomAction table contains a row with primary key(s) 
'SchedXmlConfig' which cannot be merged from the merge module 'blah'.  This is 
likely due to collision of rows with the same primary key(s) (but other 
different values in other columns) between the database and the merge module.
warning LGHT1056: The CustomAction table contains a row with primary key(s) 
'ExecXmlConfig' which cannot be merged from the merge module 'blah'.  This is 
likely due to collision of rows with the same primary key(s) (but other 
different values in other columns) between the database and the merge module.
warning LGHT1056: The CustomAction table contains a row with primary key(s) 
'ExecXmlConfigRollback' which cannot be merged from the merge module 'blah'.  
This is likely due to collision of rows with the same primary key(s) (but other 
different values in other columns) between the database and the merge module.

Obviously, when I try to install I get an error saying:
SchedXmlConfig:  Error 0x8007007a: failed to copy XmlConfig record Id
SchedXmlConfig:  Error 0x8007007a: failed to read XmlConfig table
Error 25540. There was a failure while configuring XML files.

Any tips on how to resolve this? It's far easier to have the configuration 
within the merge module instead of the installer, since the MM's are used in 
multiple installers, and would not like to add the XmlConfig in every single 
installer if I can define it once in the MM and know that it will apply 
anywhere it's used

Thanks,
Stel


This message is confidential and may be privileged. It is intended solely for 
the named addressee. If you are not the intended recipient, please inform us. 
Any unauthorised dissemination, distribution or copying hereof is prohibited. 
Formicary Limited registered office in England and Wales, address 1 Taillar 
Road, Hedon, East Yorkshire HU12 8GU, registration number 3894343, VAT number 
747644304, does not guarantee that the integrity of this communication has been 
maintained nor that this 

Re: [WiX-users] XmlConfig in multiple MergeModules

2011-06-15 Thread Stelios Kyprou
Figured this out. It was as simple as reducing the length an XmlConfig Id 
('ConnectorServiceRelativePathDefinition') which was too long to handle

 -Original Message-
 From: Stelios Kyprou [mailto:stelios.kyp...@formicary.net]
 Sent: 15 June 2011 12:35
 To: General discussion for Windows Installer XML toolset.
 Subject: [WiX-users] XmlConfig in multiple MergeModules

 Hello,
 I was wondering if it is possible to use XmlConfig in multiple merge modules,
 that will later be used in a single installer.
 For example, I have MergeModule1, which has:
 Fragment
   Component Id=appConfigEdit Guid={1F53A85E-07AD-47B5-890E-
 D6768A65E343} Directory=MANAGEMENTTOOLFOLDER KeyPath=yes
   util:XmlConfig Id='Modules'
   On='install'
   Action='create'
   Sequence='1'
   File='[#appConfigFile]'

 ElementPath=//configuration/appSettings/add[\[]@key='Modules'[\]]
   Node=value
   Name=value
   Value='[MODULES]'/
   util:XmlConfig Id='ConnectorServiceRelativePathDefinition'
   On='install'
   Action='create'
   Sequence='2'
   File='[#appConfigFile]'

 ElementPath=//configuration/appSettings/add[\[]@key='ConnectorService
 FolderName'[\]]
   Node=value
   Name=value
   Value='..\!(loc.ConnectorFolderName)'/
 /Component
   /Fragment

 MergeModule2 has the following Component:

   Fragment
 Component Id=appConfigEditing Guid={BC70F9B6-6CE1-4C49-8AB3-
 F7C36B616129} Directory=CONNECTORFOLDER KeyPath=yes
   util:XmlConfig Id='ModulesDefinition'
   On='install'
   Action='create'
   Sequence='1'
   File='[#file_E1F5BC4046FD48ADB558DE10AA3F4B50]'

 ElementPath=//configuration/appSettings/add[\[]@key='Modules'[\]]
   Node=value
   Name=value
   Value='[MODULES]'/
   util:XmlConfig Id='GcwaRelativePathDefinition'
   On='install'
   Action='create'
   Sequence='2'
   File='[#file_E1F5BC4046FD48ADB558DE10AA3F4B50]'

 ElementPath=//configuration/appSettings/add[\[]@key='PrivateApiFileSer
 verRelativePath'[\]]
   Node=value
   Name=value
   Value='..\!(loc.GcwaFolderNme)'/
 /Component
   /Fragment

 This doesn't seem to work when I use both merge modules in an installer,
 and I get a warning when compiling:
 warning LGHT1055: The InstallExecuteSequence table contains an action
 'SchedXmlConfig' which cannot be merged from the merge module 'blah'.
 This action is likely colliding with an action in the database that is being
 created.  The colliding action may have been authored in the database or
 merged in from another merge module.  If this is a standard action, it is 
 likely
 colliding due to a difference in the condition for the action in the database
 and merge module.  If this is a custom action, it should only be declared in
 the database or one merge module.
 warning LGHT1056: The CustomAction table contains a row with primary
 key(s) 'SchedXmlConfig' which cannot be merged from the merge module
 'blah'.  This is likely due to collision of rows with the same primary key(s) 
 (but
 other different values in other columns) between the database and the
 merge module.
 warning LGHT1056: The CustomAction table contains a row with primary
 key(s) 'ExecXmlConfig' which cannot be merged from the merge module
 'blah'.  This is likely due to collision of rows with the same primary key(s) 
 (but
 other different values in other columns) between the database and the
 merge module.
 warning LGHT1056: The CustomAction table contains a row with primary
 key(s) 'ExecXmlConfigRollback' which cannot be merged from the merge
 module 'blah'.  This is likely due to collision of rows with the same primary
 key(s) (but other different values in other columns) between the database
 and the merge module.

 Obviously, when I try to install I get an error saying:
 SchedXmlConfig:  Error 0x8007007a: failed to copy XmlConfig record Id
 SchedXmlConfig:  Error 0x8007007a: failed to read XmlConfig table Error
 25540. There was a failure while configuring XML files.

 Any tips on how to resolve this? It's far easier to have the configuration
 within the merge module instead of the installer, since the MM's are used in
 multiple installers, and would not like to add the XmlConfig in every single
 installer if I can define it once in the MM and know that it will apply 
 anywhere
 it's used

 Thanks,
 Stel
 

 This message is confidential and may be privileged. It is intended solely for
 the named addressee. If you are not the intended recipient