HOWTO: Redistributing ADO 1.0 or ADO/R 1.0 with OLE/DB 1.1

Last reviewed: October 10, 1997
Article ID: Q168122
The information in this article applies to:
  • ActiveX Data Objects (ADO) included with: - Microsoft Active Server Pages, versions 1.0, 1.0b - Microsoft Transaction Server 1.0 - Microsoft Visual C++, 32-bit Editions, versions 4.2, 5.0 - Microsoft Visual InterDev, version 1.0 - Microsoft Visual Basic Professional and Enterprise Editions for

         Windows, versions 4.0, 5.0
    
    - Microsoft Visual J++, versions 1.0, 1.1

SUMMARY

Microsoft ActiveX Data Objects (ADO) represents the natural evolution of data access object models for Internet, intranet, and client/server applications. At this time there is no mechanism (or documentation) in place for re-distributing ADO components. This article describes the steps needed to re-distribute ADO 1.0 (along with it's underlying engine, OLE-DB version 1.1).

MORE INFORMATION

The OLE-DB SDK has the complete set of files needed to redistribute both OLE-DB 1.1 as well as ADO located in the \Oledbsdk\Redist folder. You can download the OLE-DB SDK from the Web site mentioned in the REFERENCES section of this article, or use the file list below to assemble the files from the locations they are installed on your machine.

ADO Licensing, however, does not permit addition of the ADO License registry key during redistribution. Any code using ADO that is redistributed must pass the License key when you create the first ADO object.

Detailed File List

All DLL's that need to be registered can be done so with Regsvr32.exe as shown below:

   regsvr32 /s <filename>

There are three sets of files that need to be installed for ADO to work on a machine. This first set details what is needed for ActiveX Data Objects (ADO):

   Filename      Install To                              Description
   ------------  -------------------------------------   ----------------
   msado10.dll   Program Files\Common Files\System\ADO   ADO/OLE DB Library
                 (needs to be registered here)

   msader10.dll  Program Files\Common Files\System\ADO   ADO/OLE DB errors
                 (needs to be registered here)           Library. Note:
                                                         this needs to be
                                                         localized.

   msado10.hlp   Program Files\Common Files\System\ADO   On-line ADO/OLE DB
   msado10.cnt                                           Help and contents
                                                         files

   Hlp95en.dll   <windows>\<system>                      Office help DLL
                 (if it doesn't exist)                   makes Help work.

   Adovbs.inc    Program Files\Common Files\System\ADO   Include file of
                                                         constants & values
                                                         for VBScript
                                                         users.

   Adojavas.inc  Program Files\Common Files\System\ADO   Include file for
                                                         use in ASP files
                                                         utilizing
                                                         JavaScript.

NOTE: Active Server Pages shipped with the Adovbs.inc and Adojava.inc files in their \Samples folder as well as the ADO location specified above. Since these are application specific folders, ADO has no way of knowing to update these include files in future versions of ADO that other ADO host applications may distribute. Thus, ADO host applications can also provide these include files in a common folder for their application.

This set of files details what is required for OLE Database Provider (KAGERA):

   Filename      Install To                                Description
   ------------  -------------------------------------     ----------------
   Msdasql.hlp   Program Files\Common Files\System\ADO     ODBC Provider
   Msdasql.cnt                                             help contents

   Msdasql.dll   Program Files\Common Files\System\OLE DB  ODBC Provider
                 (needs to be registered here)

   Msdasqlr.dll  Program Files\Common Files\System\OLE DB  ODBC Provider
                                                           Resource Library

This set of files details what is required for OLE-Database(OLE-DB):

   Filename                 Install To                      Description
   ------------  ----------------------------------------  ----------------
   Msdadc.dll    Program Files\Common Files\System\OLE DB  OLE DB SDK Data
                 (needs to be registered here)             Conversion

   Msdaenum.dll  Program Files\Common Files\System\OLE DB  OLE DB SDK Root
                 (needs to be registered here)             Enumerator
                                                           Object

   Msdaer.dll    Program Files\Common Files\System\OLE DB  OLE DB Error
                 (needs to be registered here)             Library

   Msdaerr.dll   Program Files\Common Files\System\OLE DB  OLE DB Error
                                                           Object
                                                           Resource Library

   Msdatl.dll    Program Files\Common Files\System\OLE DB  OLE DB File

   Msdatt.dll    Program Files\Common Files\System\OLE DB  OLE DB Temporary
                 (needs to be registered here)             Table Service
                                                           Provider.

Msadenum.dll is not required to run KAGERA, but if you intend to use any other provider, you will need it.

Dependencies

This section lists the dependencies for installing ADO/OLE DB: both software and file dependencies.

Software dependencies:

ADO is available for Visual Basic for Applications (VBA) 96 users but, as a result, does not run with VBA94a. VBA96 is available in of Office 97 and Visual Basic 5.0.

The Help files packaged with ADO/OLE DB require the internal help file, Hlp95en.dll, to make the Help files work.

File dependencies:

Msvcrt.dll is required for ADO. Previous dependencies of INTEL ADO on Msvcrt20.dll, Msvcrt40.dll, and Msvirt.dll are no longer applicable.

For Intel: Msvcrt.dll is required for Retail. The Debug version requires Msvcrtd.dll and Msvcirtd.dll

For RISC: Msvcrt40 is required for Retail. The Debug version requires Msvcrt40.dll.

All file dependencies are platform independent unless otherwise noted.

   File Name      Depends Upon (dumpbin /imports <filename>)
   ------------   -------------------------------------------------------
   Msado10.dll    Kernal32.dll, User32.dll, Advapi.dll, Ole32.dll,
                  Oleaut32.dll

                  INTEL: Msvcrt.dll
                  RISC:  Msvcrt40.dll

                  INTEL Debug: Msvcrtd.dll, Msvcirtd.dll
                  RISC Debug:  Msvcr40d.dll

   Msader10.dll   Kernel32.dll, User32.dll, Advapi32.dll, Ole32.dll,
                  Oleaut32.dll

                  INTEL: Msvcrt.dll
                  RISC:  Msvcrt40.dll

   Msador10.dll   Kernel32.dll, User32.dll, Ole32.dll, Oleaut32.dll

                  ALPHA and PowerPC: Advapi32.dll, Kernel32.dll,
                                     User32.dll, Ole32.dll, Oleaut32.dll

ADO License Key

ADO is freely redistributable, however, the license key for ADO is not included with the OLE-DB SDK. Only the OLE-DB SDK, and Active Server Pages are authorized to automatically install the ADO license key during setup.

You will need to pass the ADO License Key value when you create the first instance of an ADO object in your program. The value of the license key is given below:

   gxwaezucfyqpwjgqbcmtsncuhwsnyhiohwxz

ADO License Key and Registry Permissions

If installed by the OLE-DB SDK or Internet Information Server 3.0, it is important that the registry permissions of the ADO License key be viewable by everyone. This can only be set in Regedt32.exe, and not Regedit.exe. The following steps demonstrate how to confirm the minimum necessary permissions:

  1. Start Regedt32.

  2. Open the HKEY_CLASSES_ROOT hive, and move to the LICENSES\CEDD4F80-B43C-11cf-837C-00AA00573EDE registry key.

  3. Open the Security menu, and select Permissions.

  4. Ensure that user name "Everyone" has "Read" permissions. If not, add this user for this registry key.

If the registry permissions for the registry key are not set correctly, it causes ADO to fail to initialize. The error message returned varies by product. An sample failure message is shown below for Active Server Pages within Internet Information Server 3.0:

   Server object error 'ASP 0177:80040112'
   Server.CreateObject Failed [Filename], line [line number]
   The call to Server.CreateObject failed. The requested object
   instance cannot be created.

REFERENCES

For more information on redistribution of OLE-DB, see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q156130
   TITLE     : OLE Database Redistributable Components

For more information on either OLE-DB or ADO, see the following Web sites:

   http://www.microsoft.com/data/ado
   http://www.microsoft.com/oledb


Additional query words: ADO
Keywords : adoall adoengall adoEngor VCGenIss
Technology : kbInetDev
Version : 1.0 1.1 4.0 5.0
Platform : WINDOWS
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 10, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.