如何将Chocolatey软件包安装到另一个硬盘?

时间:2016-01-16 16:09:40

标签: batch-file chocolatey

我尝试创建一个.bat文件,以自动在虚拟机上安装多个应用程序。我使用Chocolatey,但我在安装3个应用程序时遇到一些困难:WinMerge,AdobeReader和Paint.net

我想在其他驱动器上安装这些应用:F:\Program Files。我尝试了很多命令,但都没有。

> choco upgrade adobereader -y -ia "INSTALLDIR=""F:\Program Files\Adobe"""
> choco upgrade paint.net   -y -ia "INSTALLDIR=""F:\Program Files\paint.net"""
> choco upgrade winmerge    -y -ia "INSTALLDIR=""F:\Program Files\WinMerge"""

Paint.net已安装但在C:\驱动器中。 Winmerge提取F:驱动器上的所有文件,但未安装。 Adobe Reader失败了。

3 个答案:

答案 0 :(得分:3)

首先可以理解Windows应用程序有不同类型的安装程序(在Chocolatey术语中我们称之为本机安装程序),并且它们都接受具有不同参数的自定义目录位置(如果它们是有时根本不接受本土的自定义版本)。我们在https://github.com/chocolatey/choco/wiki/GettingStarted#overriding-default-install-directory-or-other-advanced-install-concepts上记录了这一点(根据您对安装参数的使用,您可能会阅读这些内容)。

  • MSI-它是TARGETDIR或INSTALLDIR(就像你一样)。
  • NSIS - /D location with out quotes even if spaces,必须作为最后一个参数传递。
  • InnoSetup - /DIR="location"

我们有https://github.com/chocolatey/choco/issues/258(2011年原始https://github.com/chocolatey/chocolatey/issues/32)是有原因的,而且还有一个更好的理由我们还没有实现它 - 这并不容易做到不知道安装程序类型是什么提前。这是计划好的事情,因为如果我们能够支持一个开关来覆盖它们,那对每个人来说都是一个巨大的胜利。

答案 1 :(得分:1)

我终于运行了这3个命令并且它正在工作。

choco upgrade adobereader -y -ia "INSTALLDIR=""F:\Program Files\Adobe"""
choco upgrade paint.net   -y -ia "TARGETDIR=""F:\Program Files\paint.net"""
choco upgrade winmerge    -y -ia "/DIR=""F:\Program Files\WinMerge"""

答案 2 :(得分:-1)

搜索了一段时间后,我发现此功能仅适用于付费客户,不适用于免费用户。 :(

编辑:

mklink / j“ C:\ Program Files \ Docker”“ d:\ Program Files \ Docker”