Microsoft KB Archive/168122

-

{| The information in this article applies to:
 * width="100%"|
 * ActiveX Data Objects (ADO) version 1.5

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 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  \                      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 ) ---  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.