This project has moved and is read-only. For the latest updates, please go here.

EnvironmentSettingsExporter.exe and blank cells (ss:Index)

Topics: Bindings File, Settings Management and SSO
Oct 22, 2010 at 12:10 PM

Hello,

I found a bug in the EnvironmentSettingsExporter.exe that gives us some headache. Consider the SettingsFileGenerator.xml file in the Samples\BizTalk2009\BasicMasterBindings\BasicMasterBindings.Deployment\EnvironmentSettings folder.

Now open it and enter 'foobar' into the cell D8. Save. Now move the cell by draging the rectangle around D8 to E8 and save again.

If you now run EnvironmentSettingsExporter.exe you'll notice that 'foobar' is written to DEVL_settings.xml instead of 'QA_settings.xml'. This is because Excel now uses the attribute Index to skip blank colums:

<Cell ss:Index="5" ss:StyleID="s75"><Data ss:Type="String">foobar</Data></Cell>

EnvironmentSettingsExporter seems to ignore this property and interprets foobar at the wrong column.

The effect can be reproduced through various copy/cut'n'paste variations with empty fields as well.

Regards,
Eljakim

Oct 22, 2010 at 4:50 PM

Hi Eljakim,

Sorry that you ran into this issue.  It causes a lot of confusion.  If you grab EnvironmentSettingsExporter.exe from the latest source code download, you can overwrite your current version in order to fix this problem.

Thanks,
Tom

Jul 27, 2012 at 5:44 AM

This is fixed in V5.0 (Final).

Jan 3, 2013 at 1:18 AM
Edited Jan 3, 2013 at 1:19 AM

It still doesn't work with Index=... for the <Raw element.

Here

 

   <Row ss:Index="6">
      <Cell>
        <Data ss:Type="String">Settings:</Data>
      </Cell>
    </Row>
    <Row ss:Index="8">
      <Cell><Data ss:Type="String">SsoAppUserGroup</Data></Cell>...
it errors with "EXEC : error XMLPP102: The setting named 'SsoAppUserGroup' was not defined..."

 

If I change it to:

 

   <Row ss:Index="6">
      <Cell>
        <Data ss:Type="String">Settings:</Data>
      </Cell>
    </Row>
    <Row ss:Index="7">
      <Cell>
        <Data ss:Type="String"></Data>
      </Cell>
    </Row>
    <Row ss:Index="8">
      <Cell><Data ss:Type="String">SsoAppUserGroup</Data></Cell>...

it works fine.