我尝试创建一个.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失败了。
答案 0 :(得分:3)
首先可以理解Windows应用程序有不同类型的安装程序(在Chocolatey术语中我们称之为本机安装程序),并且它们都接受具有不同参数的自定义目录位置(如果它们是有时根本不接受本土的自定义版本)。我们在https://github.com/chocolatey/choco/wiki/GettingStarted#overriding-default-install-directory-or-other-advanced-install-concepts上记录了这一点(根据您对安装参数的使用,您可能会阅读这些内容)。
/D location with out quotes even if spaces
,必须作为最后一个参数传递。/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”