-
Notifications
You must be signed in to change notification settings - Fork 174
Description
Checklist
- I added a descriptive title
- I searched open reports and couldn't find a duplicate
What happened?
I'm trying to install Anaconda 2024.06-1 on Windows using the official installer, in graphical mode, for "Just Me", but towards the end of the installation the installer shows Setting installation folder permissions...
, and after a very long time it finishes, having revoked my write permissions to the Anaconda installation folder. I am thus unable to install or update any packages on the base
environment, which is annoying. Checking the constructor
source code for this string shows that this step shouldn't even run if the installer was not running with UAC elevation. At no other point in the installation does this conditional check for UAC elevation succeed (i.e., it proceeds as if it was a "Just Me" installation). A very strange situation.
Note that this appears to be a different issue from #828, where the installer was custom-built rather than an official release, was running as SYSTEM
, and was run in the "All Users" installation mode.
The code in question that changes file permissions, found in constructor/constructor/nsis/main.nsi.tmpl
:
# To address CVE-2022-26526.
# Revoke the write permission on directory "$INSTDIR" for Users if this is
# being run with administrative privileges. Users are:
# AU - authenticated users
# BU - built-in (local) users
# DU - domain users
${If} ${UAC_IsAdmin}
${Print} "Setting installation directory permissions..."
AccessControl::DisableFileInheritance "$INSTDIR"
AccessControl::RevokeOnFile "$INSTDIR" "(AU)" "GenericWrite"
AccessControl::RevokeOnFile "$INSTDIR" "(DU)" "GenericWrite"
AccessControl::RevokeOnFile "$INSTDIR" "(BU)" "GenericWrite"
AccessControl::SetOnFile "$INSTDIR" "(BU)" "GenericRead + GenericExecute"
AccessControl::SetOnFile "$INSTDIR" "(DU)" "GenericRead + GenericExecute"
${EndIf}
Additional Context
No response