Help and Support
 

powered byLive Search

FILE: Install DCOM and MDAC Through a Windows Installer Package

Article ID:257604
Last Review:March 29, 2007
Revision:8.7
This article was previously published under Q257604

SUMMARY

The Microsoft Data Access Component (MDAC) merge module (MDAC.msm) that is included in Visual Studio Installer 1.0 only detects the presence of this system component. It does not install MDAC. This article provides a sample executable file that encapsulates the MDAC installation with a Microsoft Installer (MSI) package.

MORE INFORMATION

MDAC and DCOM are vital to many applications written for the Win32 platform. A requirement of the Application Specification for Microsoft Windows 2000 for Desktop Applications (http://msdn2.microsoft.com/en-us/library/ms954115.aspx) desktop applications is to use the Windows Installer. However, because MDAC and DCOM redistributable merge modules do not exist, DCOM and MDAC installation must be done outside of a Windows Installer .msi file. You can use this sample, Wrapper.exe, as-is or modify it to meet custom needs. The following file is available for download from the Microsoft Download Center:
WrapperSetup.exe (http://download.microsoft.com/download/vstudio60ent/msi/3/win98me/en-us/wrappersetup.exe)
Release Date: August 31, 2000

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 (http://support.microsoft.com/kb/119591/EN-US/) How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

Command Line Options

Wrapper.exe command line switches are the same as the Windows Installer, Msiexec.exe. For example, the following command line would install and create a verbose log file:
C:\Wrapper> Wrapper.exe /i MyMsi.MSI /l*v C:\Wrapper\MyLog.txt

For more information, visit the following Microsoft Web site: Command Line Options (http://msdn2.microsoft.com/en-us/library/aa367988.aspx)

To customize your wrapper and build in the command line parameters, modify the function call to RegWriteCmdLine in MTSetup.cpp as in the following example code:
if(!lstrcmp(__argv[1],"DCOMREBOOT"))
{
   ...
}
else if(!lstrcmp(__argv[1],"MDACREBOOT"))
{
   ...
}
else
{
   // Comment out the following line
   //RegWriteCmdLine(lpCmdLine);                                                        

   RegWriteCmdLine(TEXT("/i  MyInstallationPackage.MSI"));
}
				

Directory Structure

The following directory structure is required by Wrapper.exe:
DCOM98 and MDAC setup packages (DCOM95.EXE and MDAC_TYP.EXE) must be placed in the same folder as Wrapper.exe. Setup will fail if these files are not present
The Windows Installer redistributable files, InstMsi.exe, must be placed in different "WinNT" and "Win9x" subfolders of the folder where Wrapper.exe resides. Obtain the Windows Installer redistributables by downloading these files from the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=105dfc41-801e-4441-aa75-7696d794f109&DisplayLang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=105dfc41-801e-4441-aa75-7696d794f109&DisplayLang=en)
You can place the MSI package anywhere in the folder structure as long as the appropriate path is included on the command line.

MDAC

Wrapper.exe only checks for the presence of MDAC 2.1 or later. If a specific version is required for your application, you must customize the source code. The IsMDACPresent function in MDAC.cpp is the location of the check.

Wrapper.exe will install the version of MDAC (MDAC_TYP.exe) that you place in the Wrapper.exe folder. For example, if you place version 2.5 of MDAC in the Wrapper.exe folder, version 2.5 will be installed. Several different versions of MDAC are available from:
Universal Data Access Web Site (http://msdn.microsoft.com/dataaccess)
You must be a local administrator on the computer in order to install MDAC.

DCOM

DCOM must only be installed on computers running Windows 95. It is already present in Windows 98, Windows 98SE, Windows NT 4.0, and Windows 2000. The redistributable version of DCOM is available at the following Web site:
DCOM95 for Windows 95, version 1.3 (http://www.microsoft.com/com/dcom/dcom95/dcom1_3.asp)

Renaming the Executable

If you want to rename the executable file, do the following:
1.Modify the following variable in MTSetup.h:
static const TCHAR g_szAppName[] = TEXT("Wrapper");
2.On the Project menu, click Settings.
3.Select the Link tab.
4.In the Category list, select General.
5.Modify the output file name.
6.Recompile.

Installation Algorithm

Wrapper.exe performs the following detection and installation tasks:
1.On Windows 95, installs DCOM if it is not present and reboots the computer.
2.Uses Instmsi.exe to install the Windows Installer service if it is not present.
3.Installs MDAC if it is not present and reboots the computer.
4.Installs the MSI package specified by the command line.
The self-extracting file WrapperSetup.exe contains the following files:
FileSize
MTSetup.dsw537 bytes
MTSetup.dsp4.87 KB
MTSetup.cpp2.06 KB
MTSetup.h1.17 KB
DCOM.cpp2.47 KB
MDAC.cpp2.11 KB
Registry.cpp5.40 KB
MsgLoop.cpp780 bytes
Init.cpp1.44 KB
Security.cpp1.09 KB
Version.cpp965 bytes
Stdafx.cpp294 bytes
CmdLine.cpp960 bytes
Installer.cpp1.95 KB
InstallThread.cpp2.90 KB
Wrapper.exe28 KB
Msiexec.ico4.59 KB
Script1.rc2.79 KB
Stdafx.h773 bytes

What's New in WrapperSetup.exe (6/21/2000 and later)

1.The executable performs additional MDAC detection.
2.A RunOnce registry key bug was fixed.
3.An icon was added to the executable.
4.A version resource was added to the executable.
5.The executable will run from a root directory.
6.A long filename directory bug was fixed.

APPLIES TO
Microsoft Visual Studio Installer 1.0
Microsoft Windows Installer 1.1, when used with:
   the operating system: Microsoft Windows 2000
  Microsoft Windows 95
  Microsoft Windows 98 Standard Edition
  Microsoft Windows NT 4.0
   the hardware: DEC Alpha
Microsoft Windows Installer 1.0, when used with:
   the operating system: Microsoft Windows 2000
  Microsoft Windows 95
  Microsoft Windows 98 Standard Edition
  Microsoft Windows NT 4.0
   the hardware: DEC Alpha
Microsoft Visual Studio .NET 2003 Enterprise Architect
Microsoft Visual Studio .NET 2003 Enterprise Developer
Microsoft Visual Studio .NET 2003 Academic Edition
Microsoft Visual Studio .NET 2002 Professional Edition
Microsoft Visual Studio .NET 2002 Enterprise Architect
Microsoft Visual Studio .NET 2002 Enterprise Developer
Microsoft Visual Studio .NET 2002 Academic Edition

Back to the top

Keywords: 
kbdownload kbfile kbhowto kbsetup KB257604

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.