Skip to Content

Issue

A number of files shipping in SP1 have a dependency on specific versions of the Microsoft VC80 merge modules.

Using InstallShield
Use of incorrect VC80 merge modules with InstallShield will result in errors when attempting to retrieve the dependencies file. The dependencies relate to various Microsoft .dll’s (although only the GUIDs are listed):

ATL.97F81AF1_0E47_DC99_FF1F_C8B3B9A1E18E
ATL.Policy.66332652_9C28_58B1_FF1F_C8B3B9A1E18E
CRT.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
CRT.Policy.63E949F6_03BC_5C40_FF1F_C8B3B9A1E18E
MFC.9BAE13A2_E7AF_D6C3_FF1F_C8B3B9A1E18E
MFC.Policy.68B7C6D9_1DF2_54C1_FF1F_C8B3B9A1E18E
MFCLOC.74FD3CE6_2A8D_0E9C_FF1F_C8B3B9A1E18E
MFCLOC.Policy.D2730D3F_3C41_5884_FF1F_C8B3B9A1E18E
OpenMP.1E507087_0819_45E0_FF1F_C8B3B9A1E18E
OpenMP.Policy.04B9F3B6_9645_7658_FF1F_C8B3B9A1E18E

Using the VS .NET IDE
Use of incorrect VC80 merge modules when building a deployment package will appear to be successful, however when installing the deployment package, 31 files will fail to register during the install process, giving error 1904.

List of files that fail to register:

CEReportSource.dll  Saxmlserialize.dll 
Clientdoc.dll Saxserialize.dll
Commonobjectmodel.dll   Crtslv.dll
Cubedefmodel.dll  Undomanager.dll
Datadefmodel.dll Reportsourcebridge.dll 
Exportmodeller.dll Crqe.dll
Reportrenderer.dll Crlov.dll
Localcon.dll Querypanel.dll
Objectfactory.dll Personalcategory.dll
Prompt.dll Pluginmanager.dll
Crplugin.dll Infostor.dll
Rptcontroller.dll Enterpriseframework.dll
Pageobjectmodel.dll Overload.dll
Sacommlayer.dll Universe.dll
Sacorbaadapter.dll Rptdefmodel.dll
Requestmodel.dll  

Resolution

To resolve possible issues during build and deployment of your deployment package, the correct versions of the VC80 merge modules must be included in your project. The correct versions are as follows:

• Microsoft_VC80_ATL_x86.msm; version 8.0.50727.762
• Microsoft_VC80_CRT_x86.msm version 8.0.50727.762
• Microsoft_VC80_MFCLOC_x86.msm; version 8.0.50727.762
• Microsoft_VC80_MFC_x86.msm; version 8.0.50727.762
• Microsoft_VC80_OpenMP_x86.msm; version 8.0.50727.762
These merge modules can be obtained by installing Service Pack 1 for Visual Studio 2005. Alternatively, download the Visual C++ 2005 SP1 Redistributable Package from the following link:

http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en

and use the newly installed VC80 merge modules in your deployment package. Keep in mind this download is for an MSI installer package. It’s expected that this MSI is installed before the merge module setup package.
Note that the Crystal Reports 2008 MSI file (CRRuntime_12_1._mlb.msi) includes the correct dependency merge modules and installs without any issues.

 

** Update for users of VS .NET 2008. **

The how and why of the issues is discussed in the above blog. When the blog was originally created, I was only considering users of VS .NET 2005, not realizing that users of VS .NET 2008 were going to run into additional issue. Before proceeding, a bit of a recap is in order:

The CR 2008, SP 1 merge modules were built with dependencies on specific versions of the Microsoft VC80 merge modules. These VC80 merge modules can only be obtained by updating the VS .NET 2005 environment with the latest Microsoft Service Pack.
 
And thus the extra issue for developers using VS .NET 2008. How does the developer get these merge modules, as they are not provided anywhere else as a download by Microsoft? Notes 1353170 – How to build a setup package with Crystal Reports 2008 SP1 merge modules and Visual Studio .NET 2005? and 1352616 – How to build a setup package with Crystal Reports 2008 SP1 merge modules and Visual Studio .NET 2008? written by David Hilton address this issue in detail. Please note that these soluitions will work for Service Pack 2 and Service Pack 3.

An additional note, 1353170 – How to build a setup package with Crystal Reports 2008 SP1 merge modules and Visual Studio .NET 2005? also created by David contains further information for users of VS .NET 2005.

With the above information developers using VS .NET 2005 as well as VS .NET 2008 and Crystal Reports 2008 should be able to overcome the runtime issues introduced in CR 2008 Service Pack 1.

Related Useful Links

Microsoft  Blog which details when to include Visual C++ Libraries in your deployment project:

http://blogs.msdn.com/vcblog/archive/2007/10/12/how-to-redistribute-the-visual-c-libraries-with-your-application.aspx

InstallShield kbase; Build Error -4072 When Building a Project That Includes a Merge Module Created By Visual Studio .NET Installer:

http://kb.acresso.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q108917&sliceId=1&docTypeID=DT_ISSUE_1_1&dialogID=43513459&stateId=0%200%2043515042

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Ariel Pestana
    Hi, this seems to work in Windows XP, but I think this is not the case in Windows 7. Do you know anything about this?
    In XP the error did disappear, but not in 7.
    Can you help?
    I’m using Crystal Reports 2008 SP3 Merge Modules in Visual Studio 2008 IDE (Setup Project)
    (0) 

Leave a Reply