如何设置Chocolatey以将应用程序安装到另一个驱动器上?

Haz*_*z22 34 windows chocolatey

我已经安装了Chocolatey,但我希望将程序安装到另一个驱动器而不是C.C只是一个小型SSD,但我有其他驱动器,我通常安装程序.

有任何想法吗?

fer*_*der 17

巧克力FOSS

对于每个应用程序,您需要知道在安装期间使用的命令行开关,以更改其安装目录并使用它来传递它--installArgs.请参阅安装命令(choco install)覆盖默认安装目录或其他高级安装概念.

确保不同驱动器的另一种方法是将您重新定位Program Files到不同的驱动器.你可能想看一下; 有可能做到.

Chocolatey许可版本

我们添加了无处不在的安装开关!如果您需要覆盖安装目录并且您不想完成确定该交换机的所有工作,则可以选择使用一个带有Chocolatey的交换机 - 无处不在的安装目录选项(仅限许可版本).

注意:我们需要以某种方式确保Chocolatey社区的寿命,那就是拥有FOSSium(免费增值)模型.Pro版本每月8美元(每年96美元),每月花费少于外出就餐,获得一些很棒的功能,并确保社区基础设施继续提供优质服务和改进.当您使用免费服务(社区存储库,又名https://chocolatey.org/packages)时,它不能免费提供该服务.因此,我们选择某些高级功能进入这些版本,以提供足够的价值以获得价格.

  • 没有跳到"我们还在吗?我们还在吗?" 赶时髦,这个功能有ETA吗?我知道它远非简单,但安装目录(IE:D:\ Programs)的全局变化会很好.那将是锦上添花......巧克力......蛋糕...... (15认同)

Ald*_*ldo 13

使用ChocolateyToolsLocation环境变量。\n程序本身保留在\xe2\x80\x99s 应该在的位置,但所有使用 choco 的安装都安装在D:\\tools.

\n

或者另一个环境变量:\n ChocolateyInstallD:\\ProgramData\\chocolatey

\n

环境变量

\n

来源:

\n\n


que*_*atl 12

我发现了另一个简单的技巧 - 像往常一样安装 choco,安装后立即将c:\programdata\chocolatey目录移动到您喜欢的任何位置,然后更新ChocolateyInstall环境变量并更新PATH环境变量,以便在移动后找到 choco 的 \bin 子文件夹。

当然,我不知道它是否适用于任何其他软件包,但我刚刚安装了 7zip 和 docker-machine,没有任何问题,所以似乎可以工作。


小智 8

您可以将Chocolatey目录移动到另一个位置,然后从默认位置创建硬符号链接 - 请参阅Windows上的"创建符号链接完整指南"(AKA符号链接).

mklink /J C:/ProgramData/chocolatey D:/my/new/location

但在做任何事情之前一定要创建通常的备份,还原点等.

  • 如果有帮助,对于 Windows 版本 10.0.17134.112,我不得不使用 `mklink /J "C:/ProgramData/chocolatey" D:/my/new/location`(注意添加的引号)。我的第二个目录无论如何都需要它们,所以我不知道它是否总是需要它们。希望它可以帮助某人。 (2认同)

ant*_*nio 5

对于MSI软件包(在Windows中通常是这种情况),请使用:

choco install package-name  --% -ia INSTALLDIR="c:\intall\path"
Run Code Online (Sandbox Code Playgroud)

若要查看该软件包是否是MSI软件包,请在Chocolatey软件包页面上的Files下,查找chocolateyInstall.ps1,然后寻找:

fileType = 'msi'
Run Code Online (Sandbox Code Playgroud)

它已经过草莓Perl测试。

当然,您始终可以使用付费的巧克力,并从无处不在的安装开关中受益。


vii*_*vii 5

总结和更正的解决方案(包括便利脚本)

对于免费版本,你必须通过该目录作为一个addtionalNPUT一个rgument:

choco install theapp -y --ia "folder switch"
Run Code Online (Sandbox Code Playgroud)

挑战在于开关因安装者而异。

继续确定安装程序

  1. 转到Chocolatey package repo并搜索您的应用程序
  2. 向下滚动到“列出文件”并打开tools\chocolateyInstall.ps1. 如果没有这样的文件,请返回搜索并使用“.installer”版本。
  3. 搜索fileType = exe。我测试的大多数应用程序都有这个扩展。如果是这种情况,请搜索silentArgs. 如果有:
  • /S: 使用--ia "/D=C:\new\path。注意:单反斜杠,双反斜杠对我不起作用。正如其他评论中所建议的那样,符号前也没有反斜杠=
  • /VERYSILENT: 使用--ia /DIR=C:\new\path。verysilent 开关属于 InnoSetup 安装程序。
  • something else:在谷歌上搜索“应用程序静默安装”,确定路径开关并相应地输入: --ia "..."
  1. fileType = msi: 使用--ia INSTALLDIR="C:\new\path"(我没有测试这个)

回退解决方案

进行非静默安装并在 ui 中指定路径: choco install theapp --notsilent

方便脚本

我创建了一个 Powershell 脚本,它允许安装带有自定义参数的常见应用程序(vlc、VS Code、python、git、Chrome...),包括。文件夹:

https://github.com/vii33/ChocoVanillaPackage


对其他评论的评论

(因为我的分数,我不能直接评论,抱歉)

  • @geisterfurz007感谢您的手册。
  • @quetzalcoatl这对我不起作用,因为应用程序没有安装在巧克力文件夹中。您的解决方案移动了巧克力二进制文件,包安装仍然在默认文件夹中完成。