microsoft / mssql-docker

Official Microsoft repository for SQL Server in Docker resources
MIT License
1.71k stars 756 forks source link

Installl SQL 2016 on Windows Docker 1903 error #540

Open richardgavel opened 4 years ago

richardgavel commented 4 years ago

I've been trying to install SQL Server 2017 Developer Edition inside a Docker container based on windowsservercore:1903, but I get install errors on the initial piece, which is installing the SQL 2008 Support Files. The install works fine on Windows 1903 (actual OS, not Docker) and SQL 2017 works fine, but the problem we continue to use 2016 in our production application.

summary.txt error

Error description: An error occurred during the installation of assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.5500.0",version="10.0.0.0000",culture="neutral",public KeyToken="89845DCD8080CC91",processorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070002. Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=13.0.4001.0&EvtType=SqlSupport.msi%40CreateShortcuts%401935%3a0x800 70002

snippets from inside the detailed log file

SI (s) (C4:24) [20:08:52:490]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=57322331) 12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=800700b7 at FusionMoveDirectory, line 3199

12/05/2019 20:08:53.151 [7620]: Detailed info about C:\Windows\assembly\tmp\2WKMTETX

12/05/2019 20:08:53.151 [7620]: File attributes: 00000010

12/05/2019 20:08:53.151 [7620]: Security info:

12/05/2019 20:08:53.151 [7620]: Owner: S-1-5-18

12/05/2019 20:08:53.151 [7620]: Group: S-1-5-18

12/05/2019 20:08:53.151 [7620]: DACL information: 10 entries:

12/05/2019 20:08:53.151 [7620]: ACE[0]: Type = 0x00, Flags = 000, Mask = 001f01ff, SID = S-1-5-32-544

12/05/2019 20:08:53.151 [7620]: ACE[1]: Type = 0x00, Flags = 01b, Mask = 10000000, SID = S-1-5-32-544

12/05/2019 20:08:53.151 [7620]: ACE[2]: Type = 0x00, Flags = 000, Mask = 001f01ff, SID = S-1-5-18

12/05/2019 20:08:53.151 [7620]: ACE[3]: Type = 0x00, Flags = 01b, Mask = 10000000, SID = S-1-5-18

12/05/2019 20:08:53.151 [7620]: ACE[4]: Type = 0x00, Flags = 000, Mask = 001200a9, SID = S-1-5-32-545

12/05/2019 20:08:53.151 [7620]: ACE[5]: Type = 0x00, Flags = 01b, Mask = a0000000, SID = S-1-5-32-545

12/05/2019 20:08:53.151 [7620]: ACE[6]: Type = 0x00, Flags = 000, Mask = 001200a9, SID = S-1-15-2-1

12/05/2019 20:08:53.151 [7620]: ACE[7]: Type = 0x00, Flags = 01b, Mask = a0000000, SID = S-1-15-2-1

12/05/2019 20:08:53.151 [7620]: ACE[8]: Type = 0x00, Flags = 000, Mask = 001200a9, SID = S-1-15-2-2

12/05/2019 20:08:53.151 [7620]: ACE[9]: Type = 0x00, Flags = 01b, Mask = a0000000, SID = S-1-15-2-2

12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=800700b7 at FusionMoveDirectory, line 3200

12/05/2019 20:08:53.151 [7620]: Detailed info about C:\Windows\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox\10.0.0.0__89845dcd8080cc91

12/05/2019 20:08:53.151 [7620]: File attributes: ffffffff

12/05/2019 20:08:53.151 [7620]: Security info:

12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=80070002 at FusionMoveDirectory, line 3214

12/05/2019 20:08:53.151 [7620]: Detailed info about C:\Windows\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox\10.0.0.0__89845dcd8080cc91

12/05/2019 20:08:53.151 [7620]: File attributes: ffffffff

12/05/2019 20:08:53.151 [7620]: Security info:

MSI (s) (C4:24) [20:08:53:151]: Assembly Error:The system cannot find the file specified.

MSI (s) (C4:24) [20:08:53:151]: Note: 1: 1935 2: {543BB510-3829-46A8-918B-1BE3422516B4} 3: 0x80070002 4: IAssemblyCacheItem 5: Commit 6: Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.5500. 0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL" 12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=80070002 at CAssemblyCacheItem::LegacyCommit, line 1449

MSI (s) (C4:24) [20:08:53:168]: Product: Microsoft SQL Server 2008 Setup Support Files -- Error 1935. An error occurred during the installation of assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox,fi leVersion="10.0.5500.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070002. assemb ly interface: IAssemblyCacheItem, function: Commit, component: {543BB510-3829-46A8-918B-1BE3422516B4}

Error 1935. An error occurred during the installation of assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.5500.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD808 0CC91",processorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070002. assembly interface: IAssemblyCacheItem, function: Commit, component: {543BB510-3829-46A8-918B-1BE 3422516B4} 12/05/2019 20:08:53.184 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393

12/05/2019 20:08:53.184 [7620]: Detailed info about C:\Windows\assembly\tmp\ZJS8XAGZ\Microsoft.SqlServer.CustomControls.dll

12/05/2019 20:08:53.184 [7620]: File attributes: 00000080

12/05/2019 20:08:53.231 [7620]: Restart Manager Info: 1 entries

12/05/2019 20:08:53.231 [7620]: App[0]: (7620) Windows Installer (msiserver), type = 3

12/05/2019 20:08:53.231 [7620]: Security info:

12/05/2019 20:08:53.231 [7620]: Owner: S-1-5-18

12/05/2019 20:08:53.231 [7620]: Group: S-1-5-18

12/05/2019 20:08:53.231 [7620]: DACL information: 5 entries:

12/05/2019 20:08:53.231 [7620]: ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544

12/05/2019 20:08:53.231 [7620]: ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18

12/05/2019 20:08:53.231 [7620]: ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545

12/05/2019 20:08:53.231 [7620]: ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1

12/05/2019 20:08:53.231 [7620]: ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2

12/05/2019 20:08:53.231 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393

12/05/2019 20:08:53.231 [7620]: Detailed info about C:\Windows\assembly\tmp\8XZ3B8RB\Microsoft.SqlServer.CustomControls.dll

12/05/2019 20:08:53.231 [7620]: File attributes: 00000080

12/05/2019 20:08:53.279 [7620]: Restart Manager Info: 1 entries

12/05/2019 20:08:53.279 [7620]: App[0]: (7620) Windows Installer (msiserver), type = 3

12/05/2019 20:08:53.279 [7620]: Security info:

12/05/2019 20:08:53.279 [7620]: Owner: S-1-5-18

12/05/2019 20:08:53.279 [7620]: Group: S-1-5-18

12/05/2019 20:08:53.279 [7620]: DACL information: 5 entries:

12/05/2019 20:08:53.279 [7620]: ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544

12/05/2019 20:08:53.279 [7620]: ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18

12/05/2019 20:08:53.279 [7620]: ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545

12/05/2019 20:08:53.279 [7620]: ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1

12/05/2019 20:08:53.279 [7620]: ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2

12/05/2019 20:08:53.279 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393

12/05/2019 20:08:53.279 [7620]: Detailed info about C:\Windows\assembly\tmp\DD1ABHJQ\Microsoft.SqlServer.WizardFrameworkLite.dll

12/05/2019 20:08:53.279 [7620]: File attributes: 00000080

12/05/2019 20:08:53.342 [7620]: Restart Manager Info: 1 entries

12/05/2019 20:08:53.342 [7620]: App[0]: (7620) Windows Installer (msiserver), type = 3

12/05/2019 20:08:53.342 [7620]: Security info:

12/05/2019 20:08:53.342 [7620]: Owner: S-1-5-18

12/05/2019 20:08:53.342 [7620]: Group: S-1-5-18

12/05/2019 20:08:53.342 [7620]: DACL information: 5 entries:

12/05/2019 20:08:53.342 [7620]: ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544

12/05/2019 20:08:53.342 [7620]: ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18

12/05/2019 20:08:53.342 [7620]: ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545

12/05/2019 20:08:53.342 [7620]: ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1

12/05/2019 20:08:53.342 [7620]: ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2

12/05/2019 20:08:53.342 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393

12/05/2019 20:08:53.342 [7620]: Detailed info about C:\Windows\assembly\tmp\YQ81MENI\Microsoft.SqlServer.WizardFrameworkLite.dll

12/05/2019 20:08:53.342 [7620]: File attributes: 00000080

12/05/2019 20:08:53.391 [7620]: Restart Manager Info: 1 entries

12/05/2019 20:08:53.391 [7620]: App[0]: (7620) Windows Installer (msiserver), type = 3

12/05/2019 20:08:53.391 [7620]: Security info:

12/05/2019 20:08:53.391 [7620]: Owner: S-1-5-18

12/05/2019 20:08:53.391 [7620]: Group: S-1-5-18

12/05/2019 20:08:53.391 [7620]: DACL information: 5 entries:

12/05/2019 20:08:53.391 [7620]: ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544

12/05/2019 20:08:53.391 [7620]: ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18

12/05/2019 20:08:53.391 [7620]: ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545

12/05/2019 20:08:53.391 [7620]: ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1

12/05/2019 20:08:53.391 [7620]: ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2

...

MSI (s) (C4:24) [20:08:55:803]: Note: 1: 1708 MSI (s) (C4:24) [20:08:55:803]: Product: Microsoft SQL Server 2008 Setup Support Files -- Installation failed.

MSI (s) (C4:24) [20:08:55:803]: Windows Installer installed the product. Product Name: Microsoft SQL Server 2008 Setup Support Files. Product Version: 10.3.5500.0. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 1603.

Roemer commented 3 years ago

Did you ever find a solution for this?

jermicus commented 2 years ago

Old issue but in case anyone else comes across this, I found a workaround.

The summary.txt points to SqlSupport_KatmaiRTM_Cpu64_1_Local_1.log which reports 3 assemblies not installing due to HRESULT 0x80070002 which is "file not found".

The assemblies are the 10.x versions of Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll, Microsoft.SqlServer.CustomControls.dll and Microsoft.SqlServer.WizardFrameworkLite.dll and should be beneath C:\Windows\assembly\GAC_MSIL. The 13.x versions seem to be present.

To resolve, include in the DOCKERFILE commands to create needed folders and copy the missing dll files before starting the setup command. The needed dll files are available in the installation media under \1033_ENU_LP\x64\Setup\sql2008support\windows\gac, though they have scrambled filenames.

Below are the source files and destination paths/filenames where they should be copied to:

q2bdsrkb.dll > C:\Windows\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox\10.0.0.089845dcd8080cc91\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll -kku9gg-.dll > C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.CustomControls\10.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.CustomControls.dll yo4jf9kp.dll > C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.WizardFrameworkLite\10.0.0.089845dcd8080cc91\Microsoft.SqlServer.WizardFrameworkLite.dll

eshess commented 1 year ago

This appears to be present again in Server 2022 CU's. RTM installs fine across all container OS, but CUs fail on Server core 20h2 and 2022ltsc. 1809 works. The workaround is similar to what @jermicus described above. Copy these directories in from a completed CU installation ahead of the CU install (or SQL install with updates enabled): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox.resources' 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.SqlServer.CustomControls.resources'

IssacKramer commented 7 months ago

Thank you so much @eshess and @jermicus ! You are Life Saver! Worked 2 days to figure why my SQL Server 2022 cannot update CU11 into Docker Container. My luck that the 2 directories you said , Eli, were on my old SQL Server installation before i convert it To be containerize. We all need that Microsoft will return to Windows! YOU HEAR MICROSOFT! WINDOWS, NOT LINUX ! you are windows guys. cheers. Zahi.

jermicus commented 5 months ago

I just wanted to add that the needed files for SQL 2022 can be extracted from the CU installer without having to install it or even have a SQL Server. I wrote a short PS script to get the files and put them into a tar file that can be used in the image build: https://gist.github.com/jermicus/a117c6727894407161ba9ac72fd02bce

david-garcia-garcia commented 5 months ago

@jermicus thanks for the script, it made things much easier.