如何在chocolateyinstall.ps1中引用软件包版本?

时间:2017-03-16 01:48:54

标签: chocolatey

我正在使用Chocolatey打包现有的安装程序。安装程序的格式为<appname>-<version>.exe,其中version为1.0.0。我正在使用Install-ChocolateyInstallPackage,但我不知道如何引用安装程序。我在nuspec中使用$version$将文件包含在包中。

有没有办法在安装/卸载脚本中获取版本,或者我是否必须执行类似gci .\Application-*.exe的操作才能获得完整路径?

1 个答案:

答案 0 :(得分:1)

如果安装程序版本与nuspec <version />匹配,则可以使用ChocolateyPackageVersion环境变量。有关完整列表,请参阅https://chocolatey.org/docs/helpers-reference#variables

包创建建议

FOSS

最好在创建包时使用choco new pkgid。它将为您设置一切并节省您相当多的时间,因为它带来了我们称之为“及时”文档的相当多的东西。当您运行choco new时,问题的某些部分已经得到解答,而且它可以帮助您取得成功。例如,您的下一个问题是“为什么我不能在包脚本中使用.\Application-*.exe?”我们建议您使用$toolsDir\Application-*.exe,当您运行choco new时,您会看到$toolsDir设置为什么(为清楚起见,您需要在本地创建$toolsDir变量并在包脚本中设置。)

Pro - Package Builder UI

Chocolatey Pro(适用于个人)具有Package Builder UI(减去自动检测),可以让您在包创建中使用一个很好的界面。它将为您提供choco new pkgid的所有元素,但也会提供更多的元素。

业务 - 包构建器(带自动检测)

Chocolatey for Business(C4B)附带Package Builder(包含choco new --file installer.exe的CLI和Package Builder UI)。 Package Builder在实际安装程序(MSI,EXE,7Z,ZIP,MSP,MSU)上执行自动检测,以在大约5-10秒内生成完全准备好的无人值守部署(程序包)。它支持右键单击并创建包。

https://chocolatey.org/docs/features-create-packages-from-installers