Devolutions / Devolutions/UniGetUI
[BUG] WinGet's default installation location option does not install to the specified path correctly.
- 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
------
### package install option
Contributor 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