Microsoft Knowledge Base Email Alertz

This article explains the various settings required to launch custom business objects over HTTP or the Distributed Component Object Model (DCOM) using Remote Data Services (RDS).

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 191741 - Last Review: March 14, 2005 - Revision: 4.3

INFO: RDS Registry/Security Settings for Custom Business Objects

This article was previously published under Q191741

On This Page

SUMMARY

This article explains the various settings required to launch custom business objects over HTTP or the Distributed Component Object Model (DCOM) using Remote Data Services (RDS).

RDS is used to transport Active Data Object recordsets from a server to a client computer. The resulting recordset is cached on the client computer and disconnected from the server. RDS contains a server-side business object (ActiveX DLL) called the RDSDataFactory (RDF) that sends SQL statements to a database management system (DBMS), and passes the results back across the Internet or an Intranet. The DataFactory object of RDS enables Web applications to provide live data with little programming.

RDS can also be used to work with custom business objects.

RDS business objects can be launched in the server either over HTTP or DCOM. To launch custom business objects using RDS there are certain registry and security settings required at the server as well as the client.

MORE INFORMATION

Settings for Running Business Objects over HTTP

Settings on the Server:
  1. Register the Business Object.
  2. Add required Business Object Registry entry. Add a key with the progID of the Business object as the text under the following:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\ 
             Services\W3SVC\Parameters\ADCLaunch.
    					
Settings on the Client:

There are no settings required on the client.

Settings for Running Business Object over DCOM

DCOM through RDS does not require Internet Information Server at the server side.

Settings on the Server:
  1. Register the Business Object.
  2. If the Business object is an In-Process COM Server, then a surrogate process needs to be set to host the business object.

    This can be done using the Oleview utility or by adding a LocalServer key for the business object and setting it to the path of the default surrogate process Dllhost.exe. This .exe file is in SYSTEM32 directory. Here are the steps for setting up a surrogate process:
    1. Run the OleView Tool (Oleview.exe) that comes with Visual C++.
    2. Select the object in the left pane treeview for which you want the surrogate process to be set.
    3. Go to the Implementation tab in the right pane and select the Use Surrogate Process check box.
    4. Enter "c:\winnt\system32\dllhost.exe" (this is the default surrogate given with Windows NT) in the "Path to Custom Surrogate" edit box.
  3. Set the launching permission to the launching user. Security can be modified by using the utility "DCOM configuration" (Dcomcnfg.exe) on the Server.
Settings on the Client:
  1. An entry key under HKEY_CLASSES_ROOT must contain a mapping of the ProgID to the ClsID. For example:
    HKEY_CLASSES_ROOT\<BusinessObjectPROGID> = <BusinessObjectCLSID>
    
    					
  2. Under the following key there needs to be proper subkeys to set the business object safe for scripting and initialization as explained in the RDS online documentation:
    HKEY_CLASSES_ROOT\CLSID\<BusinessObject ClassID>\Implemented
            Categories
    
    					
    [HKEY_CLASSES_ROOT\CLSID\<ClassID Of BusinessObject>\Implemented
              Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
    
    					
    [HKEY_CLASSES_ROOT\CLSID\<ClassID Of BusinessObject>\Implemented
              Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
    					

Special Considerations when Invoking an Object on the Same Computer

If you use RDS.DataSpace to create an instance of a business object on the same computer as the client by giving the name of the computer, it fails to create the object. For example, if the client and server are on the same computer called "MyServer" using the following fails:
Dim ds as New RDS.DataSpace
   ds.CreateObject("YourBusinessObjectProgID", "MyServer")
				
If the business object is on the same computer as the client, you should invoke the object locally by specifying an empty string for the second argument rather than a server name. For example:
ds.CreateObject("YourBusinessObjectProgID", "")
				

REFERENCES

For additional information, please see the following article in the Microsoft Knowledge Base:
183315  (http://kbalertz.com/Feedback.aspx?kbNumber=183315/EN-US/ ) HOWTO: Write and Validate a Custom Business Object with RDS

APPLIES TO
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Keywords: 
kbinfo KB191741
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate