System i Navigator Installer Corrupts Db Provider Factories

The IBM System i Navigator installer usually corrupts the DbProviderFactories node in the machine.config file. We have experienced this with both Version 6 and Version 7.

Possible Symptoms

  • Unable to use the IBM.Data.DB2.iSeries driver. Exception mentions DbProviderFactories.
  • Cannot see all of the Data Provider options when selecting a data source in a .NET application. OLE DB and SQL Server is usually available but custom providers such as IBM.Data.DB2.iSeries is not.
  • When connecting to a Team Foundation Server Project in Visual Studio get the following Error:
    • TF31001: Cannot connect to Team Foundation Server at xyz. The server returned the following error: Configuration system failed to initialize. Retry.
  • Any error related to DbProviderFactories

The problem

The installer usually leaves a hanging closing tag in the machine.config file, which corrupts your XML. Since your app.configs/web.configs inherit from this file, your configuration is corrupted also. Re-installing does not work.

The Solution

Check the following files for corrupted XML.

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.Config
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Machine.Config

The bad XML usually, but not always, looks like this. Remove the repeating closing tags and re-start your app.

Example of a corrupted machine.config file.
System i Series Navigator installer usually corrupts the machine.config file.