Saltar al contenido

Contenedor Docker con soporte para Crystal Reports

Esta pregunta se puede tratar de diferentes formas, pero te dejamos la que en nuestra opinión es la solución más completa.

Solución:

Uso del contenedor completo de Windows 2019 mcr.microsoft.comwindows:1809 como base, el instalador funciona, lo que sugiere que solo se debe a la falta de componentes del sistema operativo.

No obtengo el ‘Error 1904’ registrado, pero tal vez estoy en un sistema operativo de host diferente.

El registro del instalador muestra que una acción personalizada EstablecerASPDotNetDllPath esta cayendo.

Si tu:

  • Abra el instalador MSI (por ejemplo, en Orca)
  • Localice y extraiga el binario de acción, guárdelo como dll
  • Inspeccionar sus importaciones (por ejemplo, con dumpbin)

Esto muestra una dependencia de oledlg.dll. Esta es su única dependencia que no está disponible en Server Core.

No es muy bueno, pero puede copiar esta versión desde el contenedor completo de Windows para solucionarlo:

FROM mcr.microsoft.com/windows:1809 as dll_source
FROM microsoft/iis

#hack in oledlg dll!!
COPY --from=dll_source /windows/system32/oledlg.dll /windows/system32/oledlg.dll 
COPY --from=dll_source /windows/syswow64/oledlg.dll /windows/syswow64/oledlg.dll 

RUN ["powershell.exe", "Install-WindowsFeature NET-Framework-45-ASPNET"]  
RUN ["powershell.exe", "Install-WindowsFeature Web-Asp-Net45"]

WORKDIR c:/temp
COPY CRRuntime_64bit_13_0_21.msi . 
RUN powershell.exe -Command Start-Process c:tempCRRuntime_64bit_13_0_21.msi -ArgumentList '/l*v c:tempinstall.log' -Wait

Voy a agregar una respuesta adicional, mientras que la respuesta de Peter funcionó perfectamente para instalar Crystal Reports, tuve un problema adicional con las fuentes faltantes al exportar a PDF desde Crystal Report.

Esto es con lo que he terminado. El key es el cambio en el nombre de la etiqueta de la imagen para que sea una versión anterior.

#windowsservercore-1803 required as it has the fonts we need in the report in order to export to PDF
FROM microsoft/iis:windowsservercore-1803

#install features we need
RUN ["powershell.exe", "Install-WindowsFeature NET-Framework-45-ASPNET"]
RUN ["powershell.exe", "Install-WindowsFeature Web-Asp-Net45"]

#hack in oledlg dll so that Crystal Runtime will install
COPY Resources/Files/64/oledlg.dll /windows/syswow64/oledlg.dll
COPY Resources/Files/32/oledlg.dll /windows/system32/oledlg.dll

#copy in Crystal MSI and install. Note it's 64bit version
WORKDIR c:/temp
COPY Resources/Files/CRRuntime_64bit_13_0_21.msi .
RUN powershell.exe -Command Start-Process c:tempCRRuntime_64bit_13_0_21.msi -ArgumentList '/quiet /l*v c:tempinstall64.log' -Wait

#Add website files
COPY ./bin/Release/Publish/ /inetpub/wwwroot

Por alguna razón, Microsoft ha eliminado muchas fuentes de la versión 1803 a la 1809. Solo puedo suponer que se reduce el tamaño de la imagen del sistema operativo.

Comentarios y puntuaciones

Si conservas alguna cuestión o capacidad de aumentar nuestro división puedes ejecutar una observación y con deseo lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *