DSS Contract Information Tool (DssInfo.exe)

Microsoft Robotics

Glossary Item Box

Microsoft Robotics Developer StudioSend feedback on this topic

DSS Contract Information Tool (DssInfo.exe)

The Decentralized Software Services (DSS) Contract Information tool allows inspecting one or more service assemblies for information about which services it contains and the service definitions. This tool can also be used to generate a static Web site representing the DSS Service Description Directory of a set of services which can be published online for discovery and notification of new services published.

dssinfo.exe [options] [Files]


Argument Description


One or more DLLs (of type "*.dll") to load. Wildcards may be used.

Option Short Name Description



Overwrites any output files that exist without prompting the user. Note that when overwriting an HTML index, any unlinked html files will remain in the output path.



Save DSS summary to the following directory.



Search all matches and subdirectores thereof.



Use XML or HTML format to save the DSS summary. If HTML is specified, a Web site will be created consisting of separate HTML pages for each service contract, together with an index page and the related files. If there is already an index page in the output path, it will be merged with the resulting output. Using the -force parameter will overwrite the existing index.



Filename of XSLT to apply before generating the HTML output. If no XSLT is specified a default transform will be used.


Name of a text file containing arguments. Multiple arguments per line are allowed. An unquoted hash (#) comments out the remainder of a line. An argument file is processed by removing comments, leading and trailing spaces and tabs, processing quotation marks and escape sequences, and then processing the arguments as if they were on the command line.


Open a Microsoft Robotics Developer Studio Command Prompt window to run the following examples. Note that the DssInfo tool is designed to create documentation. Therefore it does not normally output anything to the console apart from status messages as it processes DLLs. You can create documentation either in XML or HTML format (with RSS Atom Feeds).

This example extracts information from the service assembly "ServiceTutorial1.Y2006.M06.dll" and writes the result to an XML file in the c:\temp directory. Note that an output path must be specified, but XML is the default format and does not have to be specified in this case although it is for clarity.

dssinfo /outputPath:"c:\temp" /summary:xml bin\ServiceTutorial1.Y2006.M06.dll

The following example creates a Web site containing an index of services and individual service description pages, i.e. HTML documentation, for all service proxies in the bin folder into a folder called ServiceInfo. (You must create this folder because DssInfo will not create it). This example uses the abbreviations for the command line qualifiers.

dssinfo /o:ServiceInfo /s:html bin\*.proxy.dll

To view the output, open index.html in the ServiceInfo folder using a web browser. If you place the web pages on a web server and view them from there, the RSS Feed should become active. In Microsoft Internet Explorer 7 and later versions the Feed button turns on when the page is viewed through HTTP (but not when viewed from the local hard disk). Also when you click the Feed button, the index is displayed using the browser’s default Feed view.

When you generate HTML code, DssInfo creates web pages with names that are a hashed versions of the service contact identifiers. A particular service will always hash to the same HTML filename as long as you do not change the contract identifier, so you can run DssInfo selectively to overwrite the documentation for services that have changed. This also means that there might be multiple HTML files generated from one DLL if it contains more than one service. Running DssInfo on a DLL that does not contain any services will not generate any HTML files.

Here is an example that creates a Web site containing descriptions of only the specified service assemblies, or overwrites existing descriptions if they are already there. The output files are saved in C:\Summaries.

dssinfo /s:html /o:"C:\Summaries" bin\DssRuntime.dll bin\Utility.Y2006.M08.dll

To view the generated site you can open the index page directly from the hard disk as below:

start c:\Summaries\index.html

Alternatively, if you want to see how the RSS Feed works you can open the web pages via the ASP.NET Development Web Server that comes with Visual Studio. To start the web server enter the following command:

WebDev.WebServer /port:8080 /path:"C:\Summaries"

If you find that this command does not work, you might have to locate the development web server on your system because it is not on the search path. The server should be in one of the following locations:

C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.EXE

On 64-bit operating systesm, the location should be:

C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.EXE

Once the web server is running, you can access the index page by browsing to the following URL. Note that the port number must match what you typed in the command line.


Viewing the web pages via a web server (not directly from your hard drive) is necessary if you want to test the Feed button in Internet Explorer version 7 or higher.

DSS User Guide: DSS Service ComponentsAnnouncing DSS Services



© 2012 Microsoft Corporation. All Rights Reserved.