Windows Visual Studio 2015无人值守安装,使用软件包从共享驱动器进行

Windows Visual Studio 2015无人值守安装,使用软件包从共享驱动器进行,windows,visual-studio-2015,chocolatey,Windows,Visual Studio 2015,Chocolatey,我正在尝试创建一个巧克力包来执行Visual Studio 2015 Enterprise的无人值守安装。这将是我们内部使用的东西,因此我们有一个包含vs_enterprise.exe可执行文件的网络共享。网络共享还包含一个packages文件夹,其中包含安装Visual Studio时可以选择安装的Visual Studio软件包。例如:Windows开发工具、Xamarin SDK、FSharp SDK等 使用以下命令使用Chocolate安装,当它尝试从Microsoft下载软件包时,我收

我正在尝试创建一个巧克力包来执行Visual Studio 2015 Enterprise的无人值守安装。这将是我们内部使用的东西,因此我们有一个包含
vs_enterprise.exe
可执行文件的网络共享。网络共享还包含一个packages文件夹,其中包含安装Visual Studio时可以选择安装的Visual Studio软件包。例如:Windows开发工具、Xamarin SDK、FSharp SDK等

使用以下命令使用Chocolate安装,当它尝试从Microsoft下载软件包时,我收到一个错误:
choco install-fdv

这是日志中的错误:

[1E34:1D5C][2016-06-03T17:54:54]w343: Prompt for source of package: Preparation_Uninstall_vs_enterprise, payload: Preparation_Uninstall_vs_enterprise, path: C:\Users\myuser\AppData\Local\Temp\chocolatey\VisualStudio2015Enterprise\14.0.25123.00\packages\vs_enterprise\Preparation.exe
[1E34:1C6C][2016-06-03T17:54:54]i000: MUX:  Vital packages to be installed: 24
[1E34:1C6C][2016-06-03T17:54:54]i000: MUX:  Total packages to be installed: 141
[1E34:1D5C][2016-06-03T17:54:54]i000: MUX:  Next Source: Web, Attempted: 1, Limit:3
[1E34:1D5C][2016-06-03T17:54:54]i000: MUX:  Source retrieved: Web
[1E34:1C6C][2016-06-03T17:54:54]i000: MUX:  Updating progress percentages: Burn: 0.635617296502411, Secondary installer: 0.364382703497589
[1E34:1D5C][2016-06-03T17:54:54]i000: MUX:  Package:Preparation_Uninstall_vs_enterprise, PayloadId:Preparation_Uninstall_vs_enterprise Url: bits://go.microsoft.com/fwlink/?prd=12514&pver=Dev14&sbp=d14rel&plcid=0x409&clcid=0x409&ar=25123.00.00&sar=S80_RCPrep&o1=3B4A490AB282CB3A99A329F3C8715B20B7A0BFB1, Attempting count: 1
[1E34:1D5C][2016-06-03T17:54:54]i000: MUX:  Existing last unconfirmed source: Web
[1E34:1D5C][2016-06-03T17:54:54]i338: Acquiring package: Preparation_Uninstall_vs_enterprise, payload: Preparation_Uninstall_vs_enterprise, download from: bits://go.microsoft.com/fwlink/?prd=12514&pver=Dev14&sbp=d14rel&plcid=0x409&clcid=0x409&ar=25123.00.00&sar=S80_RCPrep&o1=3B4A490AB282CB3A99A329F3C8715B20B7A0BFB1
[0F1C:1850][2016-06-03T17:54:54]e000: Error 0x800b0003: Failed authenticode verification of payload: C:\ProgramData\Package Cache\.unverified\Preparation_Uninstall_vs_enterprise
[0F1C:1850][2016-06-03T17:54:54]e000: Error 0x800b0003: Failed to verify signature of payload: Preparation_Uninstall_vs_enterprise
[0F1C:1850][2016-06-03T17:54:54]e310: Failed to verify payload: Preparation_Uninstall_vs_enterprise at path: C:\ProgramData\Package Cache\.unverified\Preparation_Uninstall_vs_enterprise, error: 0x800b0003, delete: Yes
[0F1C:1850][2016-06-03T17:54:54]e000: Error 0x800b0003: Failed to cache payload: Preparation_Uninstall_vs_enterprise
[1E34:1D5C][2016-06-03T17:54:54]i000: MUX:  Set Result: Return Code=-2146762749 (0x800B0003), Error Message=, Result Detail=, Vital=False, Package Action=Verify, Package Id=Preparation_Uninstall_vs_enterprise
[1E34:1D5C][2016-06-03T17:54:54]e314: Failed to cache payload: Preparation_Uninstall_vs_enterprise from working path: C:\Users\myuser\AppData\Local\Temp\{675a5109-38d6-406c-9e75-d0e922f87a58}\Preparation_Uninstall_vs_enterprise, error: 0x800b0003.
[1E34:1D5C][2016-06-03T17:54:54]e349: Application requested retry of payload: Preparation_Uninstall_vs_enterprise, encountered error: 0x800b0003. Retrying...
但是,如果我通过双击网络共享上的vs_enterprise.exe文件手动安装,日志将显示软件包是从网络共享安装的,并且Visual Studio安装正确

[0AE8:081C][2016-06-03T17:21:59]i338: Acquiring package: Preparation_Uninstall_vs_enterprise, payload: Preparation_Uninstall_vs_enterprise, copy from: \\network\share\Visual Studio 2015 Enterprise with Update 2\packages\vs_enterprise\Preparation.exe
有没有一种方法可以强制无人参与安装在网络共享上查找软件包,而不是尝试下载它们?

无下载的Chocolate安装功能-安装Chocolate安装软件包 是的,这是受支持的,但您需要一个不同的助手。您没有发布脚本,因此我假设您正在使用
Install ChocolateyPackage
(您运行了
choco new visualstudio2015
来创建包,对吗?)

有关完整的参考资料,请参阅的文档

提到以下内容:

基于远程文件将软件安装到“程序和功能”中 下载。本地或嵌入时使用
安装巧克力安装包
文件

有一个名为的函数,它只在文件所在的位置使用该文件,无论是嵌入到包中还是本地文件共享中

不要打电话给choco安装nuspec 调用带有nuspec路径的choco install可能是您看到的错误的真正原因。这主要用于测试——choco必须编译软件包才能运行安装,并且它可能会尝试将东西本地化。因此,针对该nuspec运行
choco-pack
,首先编译包

建议您调用
choco安装visualstudio2015--source\\u-share\folder\u和\u-compiled\u-nupkgs

该文件夹中应该有一个已编译的visualstudio2015.version.nupkg,即已编译的nuspec

如果需要更深入的信息,请参阅


HTH

您是否验证(例如,使用
windiff
或第三方工具)安装介质的本地副本(出于某种原因,显然命名为“14.0.25123.00”,这似乎有些奇怪)与“Visual Studio 2015 Enterprise with Update 2”相同在网络文件夹上?还需要检查是否有可以传递给安装程序的命令行参数,以指定包的位置。如果有,您可以将其与Chocolate安装参数一起传递。不知道为什么它会在一种情况下工作,而不是在另一种情况下。可能是安装的工作目录造成了问题。为了记录在案,首先将安装介质复制到本地磁盘更安全,因为这样,网络故障不会导致安装程序在安装过程中死掉。这样的故障可能很难恢复,特别是对于VS这样大而丑陋的软件产品。但这是否是一个严重的问题取决于上下文,所以无论如何+1.:-)正确-始终最好利用当地资源!