Skip to content

Commit 8b071b8

Browse files
committed
Fix a regression where operations wouldn't work when UniGetUI was run as administrator and manager was WinGet (fix #3391)
1 parent 80e1d74 commit 8b071b8

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/UniGetUI.PackageEngine.Operations/PackageOperations.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ protected override void ApplyRetryAction(string retryMode)
8383

8484
protected sealed override void PrepareProcessStartInfo()
8585
{
86-
bool admin = false;
86+
bool admin = CoreTools.IsAdministrator();
8787
Package.SetTag(PackageTag.OnQueue);
8888
string operation_args = string.Join(" ", Package.Manager.OperationHelper.GetParameters(Package, Options, Role));
8989

@@ -96,14 +96,18 @@ protected sealed override void PrepareProcessStartInfo()
9696
}
9797

9898
if (Package.Manager is WinGet)
99+
{
99100
RedirectWinGetTempFolder();
101+
}
100102

101103
process.StartInfo.FileName = CoreData.ElevatorPath;
102104
process.StartInfo.Arguments = $"\"{Package.Manager.Status.ExecutablePath}\" {Package.Manager.Properties.ExecutableCallArgs} {operation_args}";
103105
}
104106
else if (CoreTools.IsAdministrator() && Package.Manager is WinGet)
105107
{
106108
RedirectWinGetTempFolder();
109+
process.StartInfo.FileName = Package.Manager.Status.ExecutablePath;
110+
process.StartInfo.Arguments = $"{Package.Manager.Properties.ExecutableCallArgs} {operation_args}";
107111
}
108112
else
109113
{

0 commit comments

Comments
 (0)