14

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 instead it installs the file in D:\Program

So what I understood is it reads the location up to the space and creates the folder until there. To make sure I used a folder name without space and it installed correctly.

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?

Franck Dernoncourt
  • 24,246
  • 64
  • 231
  • 400
Chaotic
  • 143

2 Answers2

17

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.

harrymc
  • 498,455
1

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.

NJT145
  • 127