Issues with PVI Transfer inside docker container

I am attempting to generate a PIP file inside a docker container.

I have based my dockerfile on the one in here just without Jenkins: GitHub - BnR-DevOps-Package. See: dockerfile.zip (960 Bytes)

It is successfully able to compile a project using the AsProjectCompile.py from GitHub - BnR-Jenkins-Helper-Library. However, when I add the flag to build a Project Install Package using it, no additional PIP files are generated.

Upon further testing manually executing the PVI transfer command inside the docker container, no additional PIP files are generated, but the program returns instantly with no error code or console output (running C:\BrAutomation\PVI\V4.12\PVI\Tools\\PVITransfer\PVITransfer.exe -silent "C:\br_project\CreatePIP.pil”).

As further debugging, I have also copied the compiled binaries/RUC out of the docker container and onto the host and it seems to successfully generate a PIP using the same command.

This issue does seem to align with this one on the GitHub, however it is unresolved and the repo seems unmaintained. Problem with PVITransfer.exe · Issue #13 · br-automation-community/BnR-DevOps-Package · GitHub

Is anyone able to provide any advice as to why PVI Transfer doesn’t work inside this docker container?

Thanks!

@Wesley.Buchanan are you able to help? I noticed you created the original dockerfile and build scripts

Thanks in advance :smile:

1 Like

Could you add “-consoleOutput“ to the command to see if this gives then a proper error in the docker env

C:\BrAutomation\PVI\V4.12\PVI\Tools\\PVITransfer\PVITransfer.exe -silent -consoleOutput "C:\br_project\CreatePIP.pil”

Hi @job.franken,

Thanks for the quick response! I had tried that and unfortunately saw the same result. The program returned quickly, with no console output and no files generated.

If there is more testing I can do though, please let me know.

Just did a small test and it really doesnt report anyting usefull :frowning: .. But maybe the return code from the commando works.

But ive put this in a .bat file .. and it return 28320 which is correct :wink:

@echo off
.\PVITransfer.exe -silent -test.PIL 
echo Exit Code is %errorlevel%


1 Like

Thanks for your help @job.franken.

I have tried to do this, however received the error code -1073741515. I receive this even when I intentionally supply an invalid filename.

I believe this may correspond to STATUS_DLL_NOT_FOUND? I did attempt to look into this further, using this DLL dependency tool. This suggested that the missing DLLs are related to graphics DLLs unavailable in docker (oledlg.dll and gdiplus.dll)??

I am not sure if the DLL missing is on the right track, but please let me know if there is anything else I can look into!

That is really plausible. Did you also run the Third-party DTM devices give build error · Issue #15 · br-automation-community/BnR-DevOps-Package · GitHub ?

#COPY from C:\Windows\SysWOW64\ into dlls folder
COPY dlls/* C:/Windows/SysWow64/
RUN Start-Process C:/Windows/SysWOW64/regsvr32.exe -ArgumentList '/S','C:\Windows\SysWow64\oledlg.dll'
RUN Start-Process C:/Windows/SysWOW64/regsvr32.exe -ArgumentList '/S','C:\Windows\SysWow64\GdiPlus.dll'
RUN Start-Process C:/Windows/SysWOW64/regsvr32.exe -ArgumentList '/S','C:\Windows\SysWow64\msxml4.dll'
RUN Start-Process C:/Windows/SysWOW64/regsvr32.exe -ArgumentList '/S','C:\Windows\SysWow64\msxml4r.dll'

That worked perfectly. Thank you so much for your help!

Thanks,
Jackson

Thank you for your feedback, I added a post to the issue on GitHub with your finding.

1 Like