Solutions for FileStream Provider and DocAve 6 RBS Provider Coexistence

Search and filter

KB Article ID: 10920

Product: DocAve 6 Suite
Product Version: 6.3.3.0
SharePoint Version: 2013

Details:

Background

If you only install FileStream Provider in a SharePoint 2013 environment, it works well. After installing a DocAve 6 Agent in this environment, the DocAve 6 RBS Provider works well but the FileStream Provider does not function. When you upload a file that meets your configured FileStream Provider rule to a SharePoint 2013 site, an error occurs:

Figure 1.pngThe Reason

The FileStream Provider is based on .Net framework 2.0. After installing the FileStream Provider, the FileStream Provider information is stored in the machine.config file in the …\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG directory. The DocAve 6 RBS Provider is based on .Net framework 4.0. After installing the DocAve 6 RBS Provider, the RBS Provider information is stored in the machine.config file in the …\Windows\Microsoft.NET\Framework64\v4.0.30319\Config directory. The latest version of .Net framework has the priority. When you install both providers in a SharePoint 2013 environment, only DocAve 6 RBS Provider information that related to .Net framework 4.0 (the latest version) is available.

Solutions

  • To enable the FileStream Provider, refer to Enabling the File Stream Provider.
  • To enable the two providers concurrently, refer to Enabling Both Providers.

Enabling the File Stream Provider

To enable the FileStream Provider only, uninstall the DocAve 6 RBS Provider from the environment. Refer to the following steps:

  1. Navigate to the …\AvePoint\DocAve6\Agent\bin directory on the server where only the FileStream Provider needs to be enabled, and find AgentToolSP2013StorageRBS.exe.
  2. Run the .exe as administrator.
  3. Click Uninstall on the right pane of the interface.
  4. When Uninstall successful. appears in the Remote Blob Storage Installation Status area, the DocAve 6 RBS Provider has been uninstalled successfully. Figure 2.png
  5. Perform the steps above on each Web front-end server.

Enabling Both Providers

To enable both providers in the same environment, modify the machine.config file in the …\Windows\Microsoft.NET\Framework64\v4.0.30319\Config and …\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG directories on each of the Web front-end servers. For detailed information, refer to the following steps:

  1. Navigate to the …\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG directory and find the machine.config file.
  2. Back up the machine.config file, and then open it with Notepad.
  3. Find the nodes <section name="remotefilestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> and <section name="filestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> under the  <sectionGroup name="Providers" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" > node, and then delete these two nodes.Dorothea07121.png
  4. Find the nodes <section name="remotefilestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> and <section name="filestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> under the <sectionGroup name="ProviderSpecificConfigKeys" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" > node, and then delete these two nodes. Dorothea07122.png
  5. Find the <remotefilestream> node and delete the nodes as shown below:Dorothea07123.png
  6. Save changes to this file and close it.
  7. Navigate to the …\Windows\Microsoft.NET\Framework64\v4.0.30319\Config directory and find the machine.config file.
  8. Backup the machine.config file, and then open it with Notepad.
  9. Find the <sectionGroup name="Providers" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" > node and insert the nodes <section name="remotefilestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> and <section name="filestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> under it as shown below:
       

    Dorothea07124.png

  10. Find the <sectionGroup name="ProviderSpecificConfigKeys" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" >  node and insert the nodes <section name="remotefilestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> and <section name="filestream" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> under it as shown below:Dorothea07125.png
  11. Find the <Providers> node under the <RemoteBlobStorage> node. Insert different nodes according to the version of the RBS.msi installed in your environment.
  12. If the RBS.msi you installed is the 2008 version, insert the following nodes under the <Providers> node:

    <remotefilestream>
    <add key="BlobStoreType" value="RemoteFilestream" />
    <add key="DllFile" value="C:\Program Files\Microsoft SQL Remote Blob Storage 10.50\Provider Libraries\Filestream Provider\\Microsoft.Data.BlobStores.FilestreamBlobStore.dll" />
    <add key="ClassName" value="Microsoft.Data.BlobStores.FilestreamBlobStore.RemoteFilestreamStoreLibrary" />
    <add key="ProviderVersion" value="1.0.0.0" />
    <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
    <add key="BlobStoreAbstractClassVersion" value="10.50.0.0" />
    <add key="EnumerationOptimizationLevelImplemented" value="2" />
    <add key="ConsistencyCheckLevelImplemented" value="2" />
    </remotefilestream>
    <filestream>
    <add key="BlobStoreType" value="Filestream" />
    <add key="DllFile" value="C:\Program Files\Microsoft SQL Remote Blob Storage 10.50\Provider Libraries\Filestream Provider\\Microsoft.Data.BlobStores.FilestreamBlobStore.dll" />
    <add key="ClassName" value="Microsoft.Data.BlobStores.FilestreamBlobStore.FilestreamStoreLibrary" />
    <add key="ProviderVersion" value="1.0.0.0" />
    <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
    <add key="BlobStoreAbstractClassVersion" value="10.50.0.0" />
    <add key="EnumerationOptimizationLevelImplemented" value="2" />
    <add key="ConsistencyCheckLevelImplemented" value="2" />
    </filestream>

  13. If the RBS.msi you installed is the 2012 version, insert the following nodes under the <Providers> node:

    <remotefilestream>
    <add key="BlobStoreType" value="RemoteFilestream" />
    <add key="DllFile" value="C:\Program Files\Microsoft SQL Remote Blob Storage 11.0\Provider Libraries\Filestream Provider\\Microsoft.Data.BlobStores.FilestreamBlobStore.dll" />
    <add key="ClassName" value="Microsoft.Data.BlobStores.FilestreamBlobStore.RemoteFilestreamStoreLibrary" />
    <add key="ProviderVersion" value="1.0.0.0" />
    <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
    <add key="BlobStoreAbstractClassVersion" value="10.50.0.0" />
    <add key="EnumerationOptimizationLevelImplemented" value="2" />
    <add key="ConsistencyCheckLevelImplemented" value="2" />
    </remotefilestream>
    <filestream>
    <add key="BlobStoreType" value="Filestream" />
    <add key="DllFile" value="C:\Program Files\Microsoft SQL Remote Blob Storage 11.0\Provider Libraries\Filestream Provider\\Microsoft.Data.BlobStores.FilestreamBlobStore.dll" />
    <add key="ClassName" value="Microsoft.Data.BlobStores.FilestreamBlobStore.FilestreamStoreLibrary" />
    <add key="ProviderVersion" value="1.0.0.0" />
    <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
    <add key="BlobStoreAbstractClassVersion" value="11.0.0.0" />
    <add key="EnumerationOptimizationLevelImplemented" value="2" />
    <add key="ConsistencyCheckLevelImplemented" value="2" />
    </filestream> 

  14. Find the <ProviderSpecificConfigKeys> node and insert the nodes as shown below:Dorothea07126.png
  15. Save changes to this file and close it.
  16.