chocolatey / ChocolateyGUI

A delicious GUI for Chocolatey
https://docs.chocolatey.org/en-us/chocolatey-gui/
Apache License 2.0
1.61k stars 249 forks source link

Chocolatey GUI not displaying error output when running as non-admin through Background Service #967

Closed pauby closed 3 months ago

pauby commented 1 year ago

NOTE: This issue is a duplicate of https://github.com/chocolatey/chocolatey-licensed-issues/issues/327 - adding this here as it potentially needs fixed in multiple places.

What You Are Seeing?

When installing a package through Chocolatey GUI. With the background service enabled and logged into the PC as a non-admin user. Chocolatey GUI says their is an error but does not give you the full content of the error message.

What is Expected?

It would help in troubleshooting if the full error was emitted within Chocolatey GUI instead of having to dig into the chocolatey log to ascertain the contents of the actual error that occurred.

How Did You Get This To Happen? (Steps to Reproduce)

  1. Run choco new throw-message --version 1.0.0
  2. Edit the chocolateyinstall.ps1 file of the package to contain the following code
    $ErrorActionPreference = 'Stop'; # stop on all errors
    throw "Fails check immediately"
  3. Compile the package using choco pack against the .nuspec file to generate the throw-message.1.0.0.nupkg
  4. Add where this file lives as a local source. In my case i did the following choco source add -n Local -s C:\temp --allow-self-service the self-service will be needed for non-admin testing of the package.
  5. Ensure you have the Background Service feature enabled choco feature enable -n useBackgroundService, the chocolatey-agent package installed, and the useBackgroundServiceWithNonAdministratorsOnly feature enabled.
  6. Logged in as an administrative user to the PC, run choco install throw-message -y. You should get the following output: image
  7. Open chocolateygui. Logged in as that same admin user to the PC. Attempt to install the throw-message package. You should get the following output: image
  8. Now log into the PC as a non-admin user.
  9. Open powershell and run the same choco install throw-message -y now being logged in to the PC as a non-admin user. The output from this: image
  10. Open chocolateygui while logged into the PC as the non-admin user and attempt to install the throw-message package. the output from this: image

As you can see the GUI output from the 2 users is different. One shows the complete error where as the non-admin does not. Also if you look into the CLI output more you can notice the admin user's is highlighted red to indicate an error. Where the non-admin's same output is in white text, usually indicating standard/info output.

Reproduction Enviornment

OS Version: Windows 10 V 10.0.19045.0 Powershell Version: 5.1.19041.1682 Chocolatey Version: 1.1.0

choco list -lo output from system:

chocolatey 1.1.0
chocolatey-agent 1.1.1
chocolatey-compatibility.extension 1.0.0
chocolatey-core.extension 1.4.0
chocolatey-dotnetfx.extension 1.0.1
chocolatey-misc-helpers.extension 0.0.4
chocolatey-windowsupdate.extension 1.0.5
chocolatey.extension 4.2.0
chocolateygui 1.1.0
chocolateygui.extension 1.0.1
DotNet4.5.2 4.5.2.20140902
dotnetfx 4.8.0.20220524
GoogleChrome 107.0.5304.88
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
microsoft-windows-terminal 1.15.2874.0
notepadplusplus 8.4.5
notepadplusplus.install 8.4.5
vcredist140 14.32.31332
vcredist2015 14.0.24215.20170201
vscode 1.72.2
vscode.install 1.72.2

Related Tickets and Issues

JPRuskin commented 5 months ago

@pauby We've another customer who's come across this issue. I've added a link to your list of tickets, above.

corbob commented 3 months ago

I have put up a PR for this issue to handle that the messages coming from Chocolatey Agent are different than a normal Chocolatey installation. However, I encountered issue #998 which is that after one Install attempt, subsequent installs do not have any log information getting intercepted by Chocolatey GUI, and so failures do not have information to report to the user.

gep13 commented 3 months ago

@corbob thanks for digging into this, and fixing up the problem!

corbob commented 2 months ago

:tada: This issue has been resolved in version 2.1.1 :tada:

The release is available on:

Your GitReleaseManager bot :package: :rocket: