为了制作安装脚本并理解现有脚本,我想知道典型的幕后发生了什么:
choco install notepadplusplus
我找到了以下here:
安装
- Chocolatey使用Nuget.Core从源代码中检索包。
- Choco确定它是自包含的还是具有自动化脚本 - PowerShell脚本(* .ps1文件),很快就会在0.9.10.x时间范围内对Scriptcs文件开放(我知道,对吧?!)。 / LI>
- Choco使用注册表快照供以后比较。
- 如果有自动化脚本,choco将运行这些脚本。它们可以包含您需要做的任何事情,如果它们是PowerShell,您拥有Posh(PowerShell)的全部功能,但您应该尽量确保它们与Posh v2 +兼容。
- Choco会比较快照并确定卸载程序信息并将其保存到.registry文件中。
- Choco根据当前包目录中的所有文件对文件夹进行快照。
- Choco在包文件夹中查找可执行文件,并在$ env:ChocolateyInstall \ bin文件夹中生成填充程序,以便这些项目在路径上可用。这些可以嵌入到包中或从某个地方(互联网,ftp,文件夹共享等)放下并放在那里。
醇>
那个,
如何获取.nupkg
包裹网址?一般来说,这似乎是这样的:
哪个是.nupkg
包下载目录?
默认情况下提取的.nupkg
包的内容在哪里?这很重要,因为chocolateyInstall.ps1
有时会使用Split-Path -Parent $MyInvocation.MyCommand.Definition
。
“0.9.10.x时间范围内的Scriptcs文件”相当神秘。你能提供一些参考资料吗?
Posh v2 +是Powershell的简称还是特定技术?
$env:ChocolateyInstall\lib
中有几个可执行文件没有$env:ChocolateyInstall\bin
中的链接。例如,mpv播放器的mpv.exe
未链接。
答案 0 :(得分:2)
lib\packageName
,这是内容被提取到的位置。mpv.exe.ignore
个文件。包中存在此文件可防止创建填充程序。