BizTalk RFID: Deploying of DSPI provider

Damir Dobric Posts

Next talks:



Follow me on Twitter: #ddobric




Deploying of DSPI provider is operation which can be performed in more or less two steps:

  1. Register DSPI provider
  2. Copy the provider to the provider's system folder.


1. Register DSPI Provider

After installation of BizTalk RFID, all bits are installed in folders specified by environment variables: RFIDDATADIR, RFIDINSTALLDIR and RFIDLOGLOCATIONDIR.
Following examples show typical folders respectively:

RFIDDATADIR=C:\Program Files\Microsoft BizTalk RFID\
RFIDINSTALLDIR=C:\Program Files\Microsoft BizTalk RFID\
RFIDLOGLOCATIONDIR=C:\Program Files\Microsoft BizTalk RFID\Logs

First step by deploying of DSPI provider is registering of the provider. To do that use RfidClientConsole tool as shown below:

>RfidClientConsole.exe registerprovider "Daenet.FileWatcher" "Daenet.Rfid.FileProvider"

This example registers the provider with name "Daenet.FileWatcher", which is implemented in the assembly "Daenet.Rfid.FileProvider.dll".
After executing of this command the tool creates the folder RFIDDATADIR\Providers\Daenet.FileWatcher which contains the installation of the provider's "Web Site". Additionally, on ApplicationPool is created DaenetFileWatcher9f23c337-d960-4152-9dbb-8c81743b39a9 and corresponding web site with the same name DaenetFileWatcher9f23c337-d960-4152-9dbb-8c81743b39a9. Note that identity of application pool is set on DEPLOYINGMACHINE\RFIDWorkerProcessAcc account.

It is interesting, that last command didn't look for the specified assembly Daenet.Rfid.FileProvider.dll. This sounds strange, but it is not very important, because the provider at this point is not functioning yet. If you open the RFID console you will see that the provider is registered. However, if you try to start it following error will occur:

"The specified provider assembly Daenet.Rfid.FileProvider could not be loaded. Verify that the file exists, has read permissions, and is a valid .NET assembly. "

2. Copy provider's assembly

To install manually provider, open the folder RFIDDATADIR\Providers and copy there the assembly which implements your provider. The same can be performed by using of the tool RfidClientConsole. Following example shows how to copy the provider.

>RfidClientConsole.exe copyproviderfile "Daenet.FileWatcher" " "Daenet.Rfid.FileProvider.dll"

Note that after this operation the provider with the free name (in this case Daenet.FileWatcher) is just copied. The assembly will be copied to the folder RFIDDATADIR\Providers\Daenet.FileWatcher\bin\.

Personally I would recommend using of this tool. At this point it is important to know that Visual Studio does exactly the same operation is done by Visual Studio. For more information see take a look at "Post-Build event command" of your DSPI project.

Optionally if provider is already registered, before executing of step 1 the provider can be stopped:

rfidclientconsole.exe StopProvider %ProviderName%

or after step 2 started:

rfidclientconsole.exe StartProvider %ProviderName%

Provider can also be started directly from RFID console.

To be sure that all works fine open the browser and navigate to following page: http://localhost/DaenetFileWatcher9f23c337-d960-4152-9dbb-8c81743b39a9/hosting.svc
After this you will see the typical WCF service page, which by default has MEX contract disabled.

If you are interested on deploying of processes and methods I would recommend Anush's post, written by Janakiram Goteti.

Posted Oct 03 2007, 12:52 AM by Damir Dobric
Filed under: is a .Net Community Blog powered by daenet GmbH.