-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Package Issue]: Microsoft.PowerShell GDPR consent problem: telemetry is forcefully enabled on either install or upgrade (even if it was already disabled) #149014
Comments
@cinnamon-msft / @denelon - This seems like it might be more an issue with the PowerShell installer than with WinGet? @denelon - Do |
The PowerShell 7 MSI installer supports parameters equivalent to those checkboxes during the manual installation... but the installer does not seem to preserve the install settings from the previous version when upgrading, so IMHO it falls to WinGet to pass the appropriate parameters to the installer, especially since Microsoft recommends the use of WinGet to handle both the initial installation or the upgrades of PowerShell 7. quotes from that page: Install the MSI package from the command line
/quotes |
Fundamentally all WinGet does is download and run the installer. There is no way for WinGet to know what settings a user previously installed with, especially if PowerShell was installed oustide of WinGet. If you were to download the MSI and run it from the commandline with the Yes, it is true that WinGet can pass some pre-defined switches to installers, but they are generally applied to every install. Either way, WinGet wouldn’t be able to detect the application level setting and change its behavior based on that. Therefore, it really needs to be the PowerShell installer that (when running unattended) checks for previous install settings and respects them |
So I was working on reproduction and reproduced it for winget, had same MSI and did winget install via cmd.exe but in same cmd.exe session launched pwsh.exe and was on 7.4.2 and Still investigating |
@R-Adrian thanks for creating this issue. The following PR may address the issue: PowerShell/PowerShell#20420 |
A work around is to do |
Hello @R-Adrian, This issue has been identified as requiring a fix from a third party or external repository. Since there has been no recent activity on this issue, it will be automatically closed. Template: msftbot/noRecentActivity/areaExternal |
Please confirm these before moving forward
Category of the issue
Installation issue.
Brief description of your issue
Microsoft.PowerShell 7 (currently at v7.4.2) forcefully enables telemetry for either initial installation via winget or for updates.
Steps to reproduce
related PowerShell issue: PowerShell/PowerShell#21467
(e.g. 7.4.1 in our case here
https://github.com/PowerShell/PowerShell/releases/download/v7.4.1/PowerShell-7.4.1-win-x64.msi
)$env:POWERSHELL_TELEMETRY_OPTOUT
environment variable(it shows 1 in my case)
winget upgrade Microsoft.PowerShell
- and update pwsh to version 7.4.2 (https://github.com/PowerShell/PowerShell/releases/download/v7.4.2/PowerShell-7.4.2-win-x64.msi
)$env:POWERSHELL_TELEMETRY_OPTOUT
environment variable again - after the winget silent/unattended update it shows no optout (i.e. the telemetry is now forcefully enabled again)Actual behavior
winget install Microsoft.PowerShell
, PowerShell 7 telemetry is forcefully enabled (default state) without any explicit consent requested or given about it.Expected behavior
when upgrading - the telemetry optout preference should be preserved, not wiped as it does now.
when installing - in Europe (GDPR) - the telemetry should probably default to off (passed via the
DISABLE_TELEMETRY
MSI installer flag) as required by Article 6 of the GDPR.Environment
(environment not relevant - this is an issue with the MSI installer and the parameters passed by the winget package manager to it)
Screenshots and Logs
PowerShell telemetry reference:
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_telemetry?view=powershell-7.4
PowerShell 7.4.1 manual installation of the MSI file, with telemetry disabled:
checking before upgrade...
and running
winget upgrade Microsoft.PowerShell
(using the old Windows PowerShell instead of cmd.exe as a console window)... PowerShell 7 telemetry optout is now disabled and the variable is not defined anymore - this means that telemetry was forcefully enabled during the upgrade.
The text was updated successfully, but these errors were encountered: