I want to change the install path of winget(the package manager for windows) to D:\Program Files{insert folder name}, this is the command i was told to use on the documentation

winget install --id {insert program id} --location "D:\Program Files\{insert folder name}"

but what it instead does is it installs the file in D:\Program

So what i understood is it reads the location upto the space and creates the folder till there

To make sure i used a folder name without space and it installed correctly

I am very new to all this so please forgive my noob question

(I posted this question on stackoverflow initially but it got flagged as computer hardware/software and told me to post it here, how does this come under that ?)

Thanks in advance

2 Answers 2


This feature is proposed in Can the software installation path be set? #489.

The answer on Jul 11, 2020 was:

There is already a function in Winget, use winget install Software.Name --location "C:\Folder\Software.Name"

However the support is limited right now.

BUT, we also just got support for Interactive mode winget install Software.Name -i, which is a safer option then --location right now.

The location option is new and is likely to have bugs, and it seems that you have found one.

The best solution is perhaps to wait for this to be fixed, and to add a bug report to https://github.com/microsoft/winget-cli/issues.

If the -i solution is not an option, you might as temporary workaround move manually the contents of the folder on C to D and replace the C folder by a symbolic link to the D folder.

For more information see The Complete Guide to Creating Symbolic Links (aka Symlinks) on Windows.


you can use "Progra~1" for "Program Files" and "Progra~2" for "Program Files (x86)". this is an error caused by powershell or cmd syntax, and not because of winget. You need to convert your path to any form without spaces or any special characters, that should be a regular habit, if you don't want to face these kind of issues.

  • Avoid posting answers to old questions that already have well received answers unless you have something substantial and new to add.
    – Toto
    Jan 17 at 21:40
  • 1
    Using quotes didn't solve my issue and I used "Progra~1" to solve it, and this was the missing answer for this question. I think this is something new, right?
    – NJT145
    Jan 23 at 19:48
  • Well, it is actually winget's fault. WinGet needs to properly quote the install dir argument, which it does for Burn, Msi, Wix and Inno format install packages (and probably some others), but NOT for Nullsoft installers. See here: github.com/microsoft/winget-cli/blob/master/src/… Also, while using 8.3 names can be a quick & dirty workaround, you have to be really cautious with that. 8.3 can be disabled and the numbers aren't stable. (i.e. "Program Files" could be "PROGRA~2" or "PROGRA~4"). Never script winget with 8.3 names! Jan 30 at 22:24
  • This seems like something substantial to add. Up/down votes are supposed to take care of determining whether an answer is helpful. Why discourage potentially helpful input? Feb 16 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.