@@ -78,45 +78,44 @@ protected override void ApplyRetryAction(string retryMode)
7878 throw new InvalidOperationException ( $ "Retry mode { retryMode } is not supported in this context") ;
7979 }
8080 Metadata . OperationInformation = "Retried package operation for Package=" + Package . Id + " with Manager=" +
81- Package . Manager . Name + "\n Updated installation options: " + Options . ToString ( ) ;
81+ Package . Manager . Name + "\n Updated installation options: " + Options . ToString ( )
82+ + "\n Overriden options: " + Package . OverridenOptions . ToString ( ) ;
8283 }
8384
8485 protected sealed override void PrepareProcessStartInfo ( )
8586 {
86- bool admin = CoreTools . IsAdministrator ( ) ;
87+ bool IsAdmin = CoreTools . IsAdministrator ( ) ;
8788 Package . SetTag ( PackageTag . OnQueue ) ;
8889 string operation_args = string . Join ( " " , Package . Manager . OperationHelper . GetParameters ( Package , Options , Role ) ) ;
90+ string FileName , Arguments ;
8991
90- if ( RequiresAdminRights ( ) )
92+ if ( RequiresAdminRights ( ) && IsAdmin is false )
9193 {
92- admin = true ;
94+ IsAdmin = true ;
9395 if ( Settings . Get ( "DoCacheAdminRights" ) || Settings . Get ( "DoCacheAdminRightsForBatches" ) )
9496 {
9597 RequestCachingOfUACPrompt ( ) ;
9698 }
9799
98- if ( Package . Manager is WinGet )
99- {
100- RedirectWinGetTempFolder ( ) ;
101- }
102-
103- process . StartInfo . FileName = CoreData . ElevatorPath ;
104- process . StartInfo . Arguments = $ "\" { Package . Manager . Status . ExecutablePath } \" { Package . Manager . Properties . ExecutableCallArgs } { operation_args } ";
100+ FileName = CoreData . ElevatorPath ;
101+ Arguments = $ "\" { Package . Manager . Status . ExecutablePath } \" { Package . Manager . Properties . ExecutableCallArgs } { operation_args } ";
105102 }
106- else if ( CoreTools . IsAdministrator ( ) && Package . Manager is WinGet )
103+ else
107104 {
108- RedirectWinGetTempFolder ( ) ;
109- process . StartInfo . FileName = Package . Manager . Status . ExecutablePath ;
110- process . StartInfo . Arguments = $ "{ Package . Manager . Properties . ExecutableCallArgs } { operation_args } ";
105+ FileName = Package . Manager . Status . ExecutablePath ;
106+ Arguments = $ "{ Package . Manager . Properties . ExecutableCallArgs } { operation_args } ";
111107 }
112- else
108+
109+ if ( IsAdmin && Package . Manager is WinGet )
113110 {
114- process . StartInfo . FileName = Package . Manager . Status . ExecutablePath ;
115- process . StartInfo . Arguments = $ "{ Package . Manager . Properties . ExecutableCallArgs } { operation_args } ";
111+ RedirectWinGetTempFolder ( ) ;
116112 }
117113
114+ process . StartInfo . FileName = FileName ;
115+ process . StartInfo . Arguments = Arguments ;
116+
118117 ApplyCapabilities (
119- admin ,
118+ IsAdmin ,
120119 Options . InteractiveInstallation ,
121120 ( Options . SkipHashCheck && Role is not OperationType . Uninstall ) ,
122121 Package . OverridenOptions . Scope ?? Options . InstallationScope
@@ -165,8 +164,9 @@ protected override Task HandleSuccess()
165164
166165 protected override void Initialize ( )
167166 {
168- Metadata . OperationInformation = "Package install operation for Package=" + Package . Id + " with Manager=" +
169- Package . Manager . Name + "\n Installation options: " + Options . ToString ( ) ;
167+ Metadata . OperationInformation = "Package install operation for Package=" + Package . Id + " with Manager="
168+ + Package . Manager . Name + "\n Installation options: " + Options . ToString ( )
169+ + "\n Overriden options: " + Package . OverridenOptions . ToString ( ) ;
170170
171171 Metadata . Title = CoreTools . Translate ( "{package} Installation" , new Dictionary < string , object ? > { { "package" , Package . Name } } ) ;
172172 Metadata . Status = CoreTools . Translate ( "{0} is being installed" , Package . Name ) ;
@@ -219,7 +219,8 @@ protected override async Task HandleSuccess()
219219 protected override void Initialize ( )
220220 {
221221 Metadata . OperationInformation = "Package update operation for Package=" + Package . Id + " with Manager=" +
222- Package . Manager . Name + "\n Installation options: " + Options . ToString ( ) ;
222+ Package . Manager . Name + "\n Installation options: " + Options . ToString ( )
223+ + "\n Overriden options: " + Package . OverridenOptions . ToString ( ) ;
223224
224225 Metadata . Title = CoreTools . Translate ( "{package} Update" , new Dictionary < string , object ? > { { "package" , Package . Name } } ) ;
225226 Metadata . Status = CoreTools . Translate ( "{0} is being updated to version {1}" , Package . Name , Package . NewVersionString ) ;
@@ -265,7 +266,8 @@ protected override Task HandleSuccess()
265266 protected override void Initialize ( )
266267 {
267268 Metadata . OperationInformation = "Package uninstall operation for Package=" + Package . Id + " with Manager=" +
268- Package . Manager . Name + "\n Installation options: " + Options . ToString ( ) ;
269+ Package . Manager . Name + "\n Installation options: " + Options . ToString ( )
270+ + "\n Overriden options: " + Package . OverridenOptions . ToString ( ) ;
269271
270272 Metadata . Title = CoreTools . Translate ( "{package} Uninstall" , new Dictionary < string , object ? > { { "package" , Package . Name } } ) ;
271273 Metadata . Status = CoreTools . Translate ( "{0} is being uninstalled" , Package . Name ) ;
0 commit comments