Docker build help and vcrun2017

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
MadHatter342
Newbie
Newbie
Posts: 2
Joined: Wed Apr 10, 2019 12:23 pm

Docker build help and vcrun2017

Post by MadHatter342 »

I'm trying to build a Docker image to run an Windows generated executable that requires vcrun2017 to be present. I'm running into the following error(s) trying to install vcrun2017

To note: I'm inside the docker image (dockerfile posted below) so that I can run the commands to test without having to wait 5 minutes for update to finish.

Code: Select all

root@3d9a98a3c0d6:/# winetricks -q vcrun2017
------------------------------------------------------
Running Wine/winetricks as root is highly discouraged. See https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F
------------------------------------------------------
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20190310-next - sha256sum: 908b1820d942393c188e4a714478b43f2d61f8ff8f914dcc0ee582a575241e56 with wine-4.0 and WINEARCH=win64
Executing w_do_call vcrun2017
Executing load_vcrun2017 
------------------------------------------------------
Working around wine bug 37781 
------------------------------------------------------
------------------------------------------------------
This may fail in non-XP mode, see https://bugs.winehq.org/show_bug.cgi?id=37781
------------------------------------------------------
Using native,builtin override for following DLLs: api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140
Executing wine regedit /S C:\windows\Temp\_vcrun2017\override-dll.reg
Executing wine64 regedit /S C:\windows\Temp\_vcrun2017\override-dll.reg
The operation completed successfully
Setting Windows version to winxp
Executing wine regedit /S C:\windows\Temp\_vcrun2017\set-winver.reg
Executing wine64 regedit /S C:\windows\Temp\_vcrun2017\set-winver.reg
------------------------------------------------------
Running /usr/bin/wineserver -w. This will hang until all wine processes in prefix=/root/.wine terminate
------------------------------------------------------
Executing cd /root/.cache/winetricks/vcrun2017
Executing wine VC_redist.x86.exe /q
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002a:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
002a:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
002a:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002a:fixme:advapi:DecryptFileW (L"C:\\users\\root\\Temp\\{404c9c27-8377-4fd1-b607-7ca635db4e49}\\", 00000000): stub
002c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
002c:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
002d:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
002d:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
0009:fixme:ole:CoInitializeSecurity (0x33f584,-1,(nil),(nil),6,2,(nil),12288,(nil)) - stub!
------------------------------------------------------
Note: command wine VC_redist.x86.exe /q returned status 120. Aborting.
------------------------------------------------------
Dockerfile

Code: Select all

FROM ubuntu:18.04

ARG DEBIAN_FRONTEND="noninteractive"
RUN dpkg --add-architecture i386 \
    && apt-get update \
    && apt-get install -y software-properties-common wget gnupg2 apt-utils
# Install wine
RUN wget -nc https://dl.winehq.org/wine-builds/winehq.key \
    && apt-key add winehq.key \
    && add-apt-repository 'https://dl.winehq.org/wine-builds/ubuntu/ bionic main' \
    && apt-get update \
    && apt install --install-recommends winehq-stable
# Download winetricks and cache files
RUN wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
       -O /usr/bin/winetricks \
    && chmod +rx /usr/bin/winetricks
# Clean up
RUN apt-get autoremove -y \
       software-properties-common \
    && apt-get autoclean \
    && apt-get clean \
    && apt-get autoremove

#RUN winetricks -q vcrun2015
Wine and winetricks version

Code: Select all

root@3d9a98a3c0d6:/# wine --version
wine-4.0
root@3d9a98a3c0d6:/# winetricks --version
20190310-next - sha256sum: 908b1820d942393c188e4a714478b43f2d61f8ff8f914dcc0ee582a575241e56
MadHatter342
Newbie
Newbie
Posts: 2
Joined: Wed Apr 10, 2019 12:23 pm

Re: Docker build help and vcrun2017

Post by MadHatter342 »

An update: I've been manually able to install vcrun2017 once I'm inside the container, but that's no good as I want the build to be entirely automated.

Steps

Code: Select all

docker run -it -v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 -e DISPLAY test-container /bin/bash
winetricks -q vcrun2017

root@3affe69d17e8:/# winetricks -q vcrun2017
------------------------------------------------------
Running Wine/winetricks as root is highly discouraged. See https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F
------------------------------------------------------
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20190310-next - sha256sum: 908b1820d942393c188e4a714478b43f2d61f8ff8f914dcc0ee582a575241e56 with wine-4.0 and WINEARCH=win64
Executing w_do_call vcrun2017
Executing load_vcrun2017 
Executing mkdir -p /root/.cache/winetricks/vcrun2017
Executing cd /root/.cache/winetricks/vcrun2017
Downloading https://download.visualstudio.microsoft.com/download/pr/11100229/78c1e864d806e36f6035d80a0e80399e/VC_redist.x86.exe to /root/.cache/winetricks/vcrun2017
--2019-04-10 20:44:02--  https://download.visualstudio.microsoft.com/download/pr/11100229/78c1e864d806e36f6035d80a0e80399e/VC_redist.x86.exe
Resolving download.visualstudio.microsoft.com (download.visualstudio.microsoft.com)... 93.184.215.201, 2606:2800:11f:7de:d31:7db:168f:1225
Connecting to download.visualstudio.microsoft.com (download.visualstudio.microsoft.com)|93.184.215.201|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14426128 (14M) [application/octet-stream]
Saving to: 'VC_redist.x86.exe'

VC_redist.x86.exe                                           100%[========================================================================================================================================>]  13.76M  3.68MB/s    in 4.4s    

2019-04-10 20:44:07 (3.10 MB/s) - 'VC_redist.x86.exe' saved [14426128/14426128]

Executing cd /
------------------------------------------------------
Working around wine bug 37781 
------------------------------------------------------
------------------------------------------------------
This may fail in non-XP mode, see https://bugs.winehq.org/show_bug.cgi?id=37781
------------------------------------------------------
Using native,builtin override for following DLLs: api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140
Executing wine regedit /S C:\windows\Temp\_vcrun2017\override-dll.reg
Executing wine64 regedit /S C:\windows\Temp\_vcrun2017\override-dll.reg
The operation completed successfully
Setting Windows version to winxp
Executing wine regedit /S C:\windows\Temp\_vcrun2017\set-winver.reg
Executing wine64 regedit /S C:\windows\Temp\_vcrun2017\set-winver.reg
------------------------------------------------------
Running /usr/bin/wineserver -w. This will hang until all wine processes in prefix=/root/.wine terminate
------------------------------------------------------
Executing cd /root/.cache/winetricks/vcrun2017
Executing wine VC_redist.x86.exe /q
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002b:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
002b:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
002b:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002b:fixme:advapi:DecryptFileW (L"C:\\users\\root\\Temp\\{404c9c27-8377-4fd1-b607-7ca635db4e49}\\", 00000000): stub
0009:fixme:ole:CoInitializeSecurity (0x33f584,-1,(nil),(nil),6,2,(nil),12288,(nil)) - stub!
0030:fixme:shell:SHAutoComplete stub
0030:err:richedit:ReadColorTbl malformed entry
0030:err:richedit:ReadColorTbl malformed entry
0030:err:richedit:ReadColorTbl malformed entry
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
0030:err:richedit:ReadStyleSheet skipping optional destination
002b:fixme:advapi:DecryptFileW (L"C:\\users\\root\\Temp\\{404c9c27-8377-4fd1-b607-7ca635db4e49}\\", 00000000): stub
0009:fixme:wuapi:automatic_updates_Pause 
0009:fixme:sfc:SRSetRestorePointW 0x33f458 0x33f668
0009:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0009:fixme:wuapi:automatic_updates_Resume 
Executing cd /root/.cache/winetricks/vcrun2017
Downloading https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe to /root/.cache/winetricks/vcrun2017
--2019-04-10 20:44:16--  https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe
Resolving download.visualstudio.microsoft.com (download.visualstudio.microsoft.com)... 93.184.215.201, 2606:2800:11f:7de:d31:7db:168f:1225
Connecting to download.visualstudio.microsoft.com (download.visualstudio.microsoft.com)|93.184.215.201|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15222904 (15M) [application/octet-stream]
Saving to: 'VC_redist.x64.exe'

VC_redist.x64.exe                                           100%[========================================================================================================================================>]  14.52M  3.11MB/s    in 5.1s    

2019-04-10 20:44:22 (2.83 MB/s) - 'VC_redist.x64.exe' saved [15222904/15222904]

Executing cd /root/.cache/winetricks/vcrun2017
------------------------------------------------------
Working around wine bug 30713 -- Manually extracting the 64-bit dlls
------------------------------------------------------
Executing cabextract -q --directory=/root/.wine/dosdevices/c:/windows/temp/_vcrun2017 VC_redist.x64.exe
Executing cabextract -q --directory=/root/.wine/dosdevices/c:/windows/temp/_vcrun2017 /root/.wine/dosdevices/c:/windows/temp/_vcrun2017/a10
/root/.wine/dosdevices/c:/windows/temp/_vcrun2017/a10: WARNING; possible 16128 extra bytes at end of file.
Executing cabextract -q --directory=/root/.wine/dosdevices/c:/windows/temp/_vcrun2017 /root/.wine/dosdevices/c:/windows/temp/_vcrun2017/a11
/root/.wine/dosdevices/c:/windows/temp/_vcrun2017/a11: WARNING; possible 16128 extra bytes at end of file.
Dockerfile

Code: Select all

FROM ubuntu:18.04

ARG DEBIAN_FRONTEND="noninteractive"
RUN dpkg --add-architecture i386 \
    && apt-get update \
    && apt-get install -y software-properties-common wget gnupg2 apt-utils cabextract \
# Install wine
    && wget -nc https://dl.winehq.org/wine-builds/winehq.key \
    && apt-key add winehq.key \
    && add-apt-repository 'https://dl.winehq.org/wine-builds/ubuntu/ bionic main' \
    && apt-get update \
    && apt-get install -y --install-recommends winehq-stable \
    && mkdir -p /root/.cache/wine/ \
    && mkdir -p /usr/share/wine/gecko \
	  && wget https://dl.winehq.org/wine/wine-mono/4.7.5/wine-mono-4.7.5.msi -O /root/.cache/wine/wine-mono-4.7.5.msi \
	  && chmod +x /root/.cache/wine/wine-mono-4.7.5.msi \
    && wget https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi -O /usr/share/wine/gecko/wine_gecko-2.47-x86.msi \
    && wget https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi -O /usr/share/wine/gecko/wine_gecko-2.47-x86_64.msi \
# Download winetricks
    && wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -O /usr/bin/winetricks \
    && chmod +rx /usr/bin/winetricks \
# Clean up
    && apt-get autoremove -y \
       software-properties-common \
    && apt-get autoclean \
    && apt-get clean \
    && apt-get autoremove

#RUN winetricks -q vcrun2017
I'd appreciate any suggestions at all to be able to just add the last commented out line in the dockerfile and have it install properly. Or any suggestions so that manual installation is not necessary
Locked