Devolutions / Devolutions/UniGetUI

[BUG] WinGet's default installation location option does not install to the specified path correctly.

Open
#4,973 3 comments 4 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
26.1k
Forks
924
Avg merge
15h 52m
Merged PRs (30d)
52

Description

### Please confirm these before moving forward

- [x] I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
- [x] I have tested that this issue has not been fixed in the latest [(beta or stable) release](https://github.com/Devolutions/UniGetUI/releases/).
- [x] I have checked the [FAQ](https://github.com/Devolutions/UniGetUI#frequently-asked-questions) section for solutions.
- [x] This issue is about a bug (if it is not, please use the [correct template](https://github.com/Devolutions/UniGetUI/issues/new/choose)).

### UniGetUI Version

2026.2.1

### Windows version, edition, and architecture

Windows 11 Pro 26200.8655 x64

### Describe your issue

After selecting a specific folder as the default install location, the installation path changes from the expected `E:\WinGet\xxx` to `E:\WinGetxxx`. The slash `/` between segments appears to be ignored, causing the path separator to fail. The default setting does not allow fixing this slash issue. I also tried the standalone package install option (where the install location can be edited manually); after changing the install path to `E:\WinGet\xxx` manually, the package installs correctly to the expected directory. This bug appears to be caused by the concatenation behavior in `E:\WinGetBit/%PACKAGE%`, where the `/` before `%PACKAGE%` is ignored or not recognized as a path separator.

### Steps to reproduce the issue

_No response_

### UniGetUI Log

```text
[2026/6/21 23:48:12] WinGet package BitSum.ProcessLasso is installed on a system-wide scope, forcing administrator rights...
[2026/6/21 23:48:12] Loaded operation parameters for package id=BitSum.ProcessLasso on manager Winget and operation Install: install --id "BitSum.ProcessLasso" --exact --source winget --accept-source-agreements --disable-interactivity --silent --location "E:\WinGet/BitSum.ProcessLasso" --accept-package-agreements --force
[2026/6/21 23:52:49] Command pinget.exe was not found on the system
[2026/6/21 23:52:49] Command pinget.exe was not found on the system
[2026/6/21 23:56:24] WinGet package BitSum.ProcessLasso is installed on a system-wide scope, forcing administrator rights...
[2026/6/21 23:56:24] Loaded operation parameters for package id=BitSum.ProcessLasso on manager Winget and operation Install: install --id "BitSum.ProcessLasso" --exact --source winget --accept-source-agreements --disable-interactivity --silent --location "E:\WinGet\BitSum.ProcessLasso" --accept-package-agreements --forc
```

### Package Managers Logs

```text
——————————————————————————————————————————
Logged native task on manager Winget. Task type is LoadPackageVersions
Process start time: 2026/6/21 23:48:09
Process end time: 2026/6/21 23:48:09

-- Task information
18.2.2.10

The task reported success

——————————————————————————————————————————
Logged native task on manager Winget. Task type is ListSources
Process start time: 2026/6/21 23:52:49
Process end time: 2026/6/21 23:52:49

-- Task information
Found source msstore with argument https://storeedgefd.dsx.mp.microsoft.com/v9.0
Found source winget with argument https://cdn.winget.microsoft.com/cache
Found source winget-font with argument https://cdn.winget.microsoft.com/fonts

The task reported success

——————————————————————————————————————————
Logged native task on manager Winget. Task type is LoadPackageVersions
Process start time: 2026/6/21 23:56:24
Process end time: 2026/6/21 23:56:24

-- Task information
18.2.2.10

The task reported success

——————————————————————————————————————————
```

### Relevant information

_No response_

### Screenshots and videos

### default option
Image

Image

------

### package install option
Image

Contributor guide

Open the contributing guide

Research direction

Start by tracing the WinGet installation command construction from the logged install operation, comparing the malformed `E:\WinGet/BitSum.ProcessLasso` argument with the manually corrected path. Confirm the fix preserves the path separator for the default installation location and verify that generated WinGet commands install packages in the selected directory.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.