Crystal Reports msi install

samuel.sippe's Avatar

samuel.sippe

Nov 02, 2017 @ 01:30 AM

Hi,

I'm trying to setup the build of our web app that has a legacy crystal reports dependency. To build on a developers machine we install http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_32bit_13_0_2.msi to get the required dependencies.

I've added the following lines to our appveyor.yml

install:
  - ps: (new-object net.webclient).DownloadFile('http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_32bit_13_0_2.msi', 'CRRuntime_32bit_13_0_2.msi')
  - ps: msiexec /i CRRuntime_32bit_13_0_2.msi /qn /norestart

I seems like the msi is not getting installing the required assemblies to the GAC and the build is failing.

Any suggestions on how to fix?

The resultant logs include:

Running Install scripts
(new-object net.webclient).DownloadFile('http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_32bit_13_0_2.msi', 'CRRuntime_32bit_13_0_2.msi')
msiexec /i CRRuntime_32bit_13_0_2.msi /qn /norestart
nuget restore SteelX.SMS\SteelX.SMS.Task.sln
MSBuild auto-detection: using msbuild version '15.4.8.50001' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\bin'.
Restoring NuGet package System.Web.Providers.Core.1.1.0.
Restoring NuGet package Autofac.Mvc5.3.2.1.
Restoring NuGet package Autofac.3.5.2.
Restoring NuGet package AutoMapper.3.1.1.
...
ResolveAssemblyReferences:
  Primary reference "CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL".
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1988,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\projects\sms-web\SteelX.SMS\SteelX.SMS.Interface\SteelX.SMS.Interface.csproj]
          For SearchPath "{HintPathFromItem}".
          Considered "..\..\..\..\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\13.0.2000.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll", but it didn't exist.
...
  Reporting\IReportManager.cs(88,9): error CS0246: The type or namespace name 'ReportDocument' could not be found (are you missing a using directive or an assembly reference?)
    148 Warning(s)
    45 Error(s)

ref: https://ci.appveyor.com/project/ssippe-sx/sms-web/build/1.0.25

  1. 1 Posted by samuel.sippe on Nov 02, 2017 @ 01:53 AM

    samuel.sippe's Avatar

    it would be helpful to see the output of this command

    "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil.exe" /l | findstr CrystalReports
    Command exited with code 1

    after the msi is run but i can't figure out the path to gacutil.exe on the build image.

  2. 2 Posted by Ilya Finkelshte... on Nov 02, 2017 @ 02:03 AM

    Ilya Finkelshteyn's Avatar

    We can try examine your project references, experiment with gacutil and also try to restart... but why not use Crystal.Reports.Essentials nuget package?

  3. 3 Posted by Ilya Finkelshte... on Nov 02, 2017 @ 03:09 AM

    Ilya Finkelshteyn's Avatar

    If you decide to stay with msi, you can try to put cmd /c start /wait before msiexec command, thus letting build to wait for installation to finish. Though I still think that long term nuget package is better approach :)

  4. 4 Posted by samuel.sippe on Nov 02, 2017 @ 03:55 AM

    samuel.sippe's Avatar

    i wasn't aware of the nguet package...i'll give it a go.

  5. Ilya Finkelshteyn closed this discussion on Aug 25, 2018 @ 02:20 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac