Skip to content

Docker Desktop 4.7.0 Update and Installer Fails #12650

Closed

Description

@ffimnsr

Actual behavior

When you run or update your current Docker Desktop using the "Update and restart" button it just silently fails. Also tried installing the latest update using installer that came from this link also fails.

https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-amd64

Expected behavior

When you run the update it should continue and update to the latest version of Docker Desktop.

Information

  • Docker Desktop (Installed) - 4.6.1
  • Docker Desktop (Trying to Install/Update) - 4.7.0

Output of Docker Desktop Installer.exe in Command Prompt

Version: 4.7.0 (77141)
Sha1:
Started on: 2022/04/08 03:08:30.471
Resources: D:\TestUser\Downloads\resources
OS: Windows 10 Home Single Language
Edition: CoreSingleLanguage
Id: 2009
Build: 19044
BuildLabName: 19041.1.amd64fre.vb_release.191206-1406
File: C:\Users\TestUser\AppData\Local\Docker\install-log.txt
CommandLine: "Docker Desktop Installer.exe"
You can send feedback, including this log file, at https://github.com/docker/for-win/issues
[2022-04-08T03:08:30.747627300Z][ManifestAndExistingInstallationLoader][Info   ] No install path specified, looking for default installation registry key
[2022-04-08T03:08:31.312804500Z][Installer         ][Info   ] Existing installation found: build=76265, version=4.6.1, basePath=C:\Program Files\Docker\Docker, channelUrl=https://desktop.docker.com/win/main/amd64/appcast.xml
[2022-04-08T03:08:31.325801900Z][ManifestAndExistingInstallationLoader][Info   ] Not run as admin, relaunching with UAC prompt

Unhandled Exception: System.Exception: Paths contain symlinks
   at Docker.Core.PermissionUtils.CheckPath(String path, Boolean allowDockerAppData) in C:\workspaces\PR-17669\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 250
   at Docker.Core.PermissionUtils.ApplyACLOnChildren(ILogger logger, String path, Int32 recurse) in C:\workspaces\PR-17669\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 46
   at Docker.Core.PermissionUtils.RemoveGlobalWrite(ILogger logger, String path) in C:\workspaces\PR-17669\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 21
   at CommunityInstaller.Program.Main(String[] args)

Activity

  1. mat007 commented on Apr 8, 2022

    @mat007
    Member

    Hi, sorry for the inconvenience.
    We have restricted the use of symlinks in Docker Desktop 4.7.0 due to security risks (we’ll publish a CVE shortly).
    Do you happen to have any symlink inside %PROGRAMDATA%\DockerDesktop?

  2. CJCombrink commented on Apr 8, 2022

    @CJCombrink

    I am also seeing a similar issue.
    It seems however that my upgrade was successful but running with Windows Containers throws the exception
    See #12652

    I do not have any symlinks inside %PROGRAMDATA%\DockerDesktop

  3. ebriney commented on Apr 8, 2022

    @ebriney
    Member

    @ffimnsr Can you run this command in an admin cmd.exe please:
    dir /AL /S C:\ProgramData\DockerDesktop

  4. ebriney commented on Apr 8, 2022

    @ebriney
    Member

    @ffimnsr I have a build with a patch that seems to work, can you test it and give me your feedback:
    https://desktop-stage.docker.com/win/main/amd64/77294/Docker%20Desktop%20Installer.exe

    Thanks, have a good week-end.

  5. ffimnsr commented on Apr 11, 2022

    @ffimnsr
    Author

    @ffimnsr Can you run this command in an admin cmd.exe please: dir /AL /S C:\ProgramData\DockerDesktop

    Sorry, for the late reply. Its weekend so I didn't open my workstation. Here is the reply:

    Volume in drive C is Acer
    Volume Serial Number is AC20-2F22
    File Not Found
    
  6. ffimnsr commented on Apr 11, 2022

    @ffimnsr
    Author

    @ffimnsr I have a build with a patch that seems to work, can you test it and give me your feedback: https://desktop-stage.docker.com/win/main/amd64/77294/Docker%20Desktop%20Installer.exe

    Thanks, have a good week-end.

    Thanks, you too!
    Here is the response from running it under the command line :

    Version: 4.7.0 (77294)
    Sha1:
    Started on: 2022/04/11 03:10:48.818
    Resources: D:\TestUser\Downloads\resources
    OS: Windows 10 Home Single Language
    Edition: CoreSingleLanguage
    Id: 2009
    Build: 19044
    BuildLabName: 19041.1.amd64fre.vb_release.191206-1406
    File: C:\Users\TestUser\AppData\Local\Docker\install-log.txt
    CommandLine: "Docker Desktop Installer.exe"
    You can send feedback, including this log file, at https://github.com/docker/for-win/issues
    [2022-04-11T03:10:49.266348500Z][ManifestAndExistingInstallationLoader][Info   ] No install path specified, looking for default installation registry key
    [2022-04-11T03:10:50.683949500Z][Installer         ][Info   ] Existing installation found: build=76265, version=4.6.1, basePath=C:\Program Files\Docker\Docker, channelUrl=https://desktop.docker.com/win/main/amd64/appcast.xml
    [2022-04-11T03:10:50.717931000Z][ManifestAndExistingInstallationLoader][Info   ] Not run as admin, relaunching with UAC prompt
    
    Unhandled Exception: System.Exception: Path contains symlink: C:\ProgramData\DockerDesktop\tmp-d4w
       at Docker.Core.PermissionUtils.CheckPath(String path, Boolean allowDockerAppData) in C:\workspaces\PR-17719\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 274
       at Docker.Core.PermissionUtils.CheckACLBeforeRestrictAndCheckSymlink(ILogger logger, String path) in C:\workspaces\PR-17719\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 93
       at Docker.Core.PermissionUtils.ApplyACLOnChildren(ILogger logger, String path, Int32 recurse) in C:\workspaces\PR-17719\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 48
       at Docker.Core.PermissionUtils.ApplyACLOnChildren(ILogger logger, String path, Int32 recurse) in C:\workspaces\PR-17719\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 62
       at Docker.Core.PermissionUtils.RemoveGlobalWrite(ILogger logger, String path) in C:\workspaces\PR-17719\src\github.com\docker\pinata\win\src\Docker.Core\PermissionUtils.cs:line 21
       at CommunityInstaller.Program.Main(String[] args)
    
  7. ffimnsr commented on Apr 11, 2022

    @ffimnsr
    Author

    What I did, since you've mentioned its in ProgramData; is delete the symlink there, which probably caused the issue. And now it works. Thanks!

  8. mr-davidc commented on Apr 11, 2022

    @mr-davidc

    Hi @ebriney, I am trying to upgrade Docker Desktop from v2.5.0.1 to v.4.7.0 using the Docker Desktop Installer and it fails for me too with the same error. Here is my output for the dir /AL /S C:\ProgramData\DockerDesktop command:

    Microsoft Windows [Version 10.0.19044.1586]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\WINDOWS\system32>dir /AL /S C:\ProgramData\DockerDesktop
     Volume in drive C is Windows
     Volume Serial Number is ACF6-CDB7
    
     Directory of C:\ProgramData\DockerDesktop\version-bin
    
    12/04/2022  08:06 AM    <SYMLINK>      docker [C:\Program Files\Docker\Docker\resources\docker]
    12/04/2022  08:06 AM    <SYMLINK>      docker.exe [C:\Program Files\Docker\Docker\resources\bin\com.docker.cli.exe]
                   2 File(s)              0 bytes
    
         Total Files Listed:
                   2 File(s)              0 bytes
                   0 Dir(s)  306,601,742,336 bytes free
    

    Could you please advise what next steps I should take. Just wondering if there's any special steps I should take since I'm upgrading from a quite old version of Docker Desktop. Should I uninstall my current Docker Desktop and start with a fresh install? 🤷‍♂️ Or do I just delete the symlinks like ffimnsr did?

    Thanks

  9. mat007 commented on Apr 12, 2022

    @mat007
    Member

    Hi @mr-davidc

    We will release a Docker Desktop 4.7.1 shortly to address this, but in the meanwhile you can just delete C:\ProgramData\DockerDesktop\version-bin and re-run the 4.7.0 installer.

  10. mumarnaeem commented on Apr 12, 2022

    @mumarnaeem

    I am also facing this issue in Docker Desktop 4.7.0 and its so frustrating because I have no symlinks in my ProgramData. I have to re-install Docker over and over and load my saved images from tarballs.

  11. lbrpsoftware commented on Apr 12, 2022

    @lbrpsoftware

    Here you can download older versions in the mean time.
    https://docs.docker.com/desktop/windows/release-notes/

  12. keisss commented on Apr 12, 2022

    @keisss

    I face same issue in 4.7.0 when select Docker to Windows container , use 4.6.1 is well. I also check C:\ProgramData\DockerDesktop and C:\ProgramData\Docker, there is any symlinks

  13. ebriney commented on Apr 12, 2022

    @ebriney
    Member

    Hello, can someone test this build and confirm it fixes the issue (it includes windows container patch also): https://desktop-stage.docker.com/win/main/amd64/77466/Docker%20Desktop%20Installer.exe

  14. alexiacovlev commented on Apr 12, 2022

    @alexiacovlev

    It worked, thanks. Installed over 4.7.0, it started without symlink errors.

  15. 9 remaining items

  16. y2kcoder commented on Apr 13, 2022

    @y2kcoder

    Saved me as well. I manually chose to update after applying other system updates and rebooting to get back to a clean updated state. I first deleted the folder manually as mentioned, and then ran the custom 4.7.1 installer mentioned above. Once updated, the app ran again without error.

    I was really not liking the prospect of a factory reset to correct it :(.

  17. ebriney commented on Apr 14, 2022

    @ebriney
    Member

    @mr-davidc : https://desktop-stage.docker.com/win/main/amd64/77618/Docker%20Desktop%20Installer.exe
    It was before we fixed permissions on version-bin, this build should work

  18. mr-davidc commented on Apr 14, 2022

    @mr-davidc

    Thanks @ebriney. That latest installer worked and the upgrade process was successful. I'm now running the latest 4.7.1! 😀

  19. palarnab commented on Apr 14, 2022

    @palarnab

    Hello, can someone test this build and confirm it fixes the issue (it includes windows container patch also): https://desktop-stage.docker.com/win/main/amd64/77466/Docker%20Desktop%20Installer.exe

    Worked for me too

  20. maxz1985 commented on Apr 16, 2022

    @maxz1985

    Hello, can someone test this build and confirm it fixes the issue (it includes windows container patch also): https://desktop-stage.docker.com/win/main/amd64/77466/Docker%20Desktop%20Installer.exe

    This worked for me - the version shown is 4.7.1 (77466)

  21. ebriney commented on Apr 19, 2022

    @ebriney
    Member

    Thanks for your help, we will do a patch release today.

  22. afortaleza commented on Apr 19, 2022

    @afortaleza

    Hello, can someone test this build and confirm it fixes the issue (it includes windows container patch also): https://desktop-stage.docker.com/win/main/amd64/77466/Docker%20Desktop%20Installer.exe

    It fixes the issue, thank you, but this build is much slower than regular builds, waiting for the release build.

  23. ebriney commented on Apr 19, 2022

    @ebriney
    Member
  24. Xilef11 commented on Apr 27, 2022

    @Xilef11

    I'm having the same issue trying to update to 4.7.1: the install fails silently and get the following error from .NET about an unhandled exception in the event viewer

    System.Exception
       à Docker.Core.PermissionUtils.CheckPath(System.String, Boolean)
       à Docker.Core.PermissionUtils.CheckACLBeforeRestrictAndCheckSymlink(Docker.Core.ILogger, System.String)
       à Docker.Core.PermissionUtils.ApplyACLOnChildren(Docker.Core.ILogger, System.String, Int32)
       à Docker.Core.PermissionUtils.ApplyACLOnChildren(Docker.Core.ILogger, System.String, Int32)
       à Docker.Core.PermissionUtils.RemoveGlobalWrite(Docker.Core.ILogger, System.String)
       à CommunityInstaller.Program.Main(System.String[])
    

    C:\ProgramData\DockerDesktop does not have a version-bin file or folder, but the whole folder is a symlink to a different drive (since there's no way to choose the installation path in the installer)

  25. mat007 commented on May 3, 2022

    @mat007
    Member

    Hi @Xilef11, can you try this internal build?

  26. Xilef11 commented on May 3, 2022

    @Xilef11

    It still fails, but at least there is an error message:

    For security reasons, C:\ProgramData\DockerDesktop cannot be a symlink

    Is there a list of which folders can or can't be symlinks? I would rather minimize the amount of data stored on C:

  27. docker-robott commented on Jun 2, 2022

    @docker-robott
    Collaborator

    Closed issues are locked after 30 days of inactivity.
    This helps our team focus on active issues.

    If you have found a problem that seems similar to this, please open a new issue.

    Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
    /lifecycle locked

  28. locked and limited conversation to collaborators on Jun 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions