所以我一直在尝试OneGet并且想要创建包。我遇到的最大问题是OneGet似乎并没有真正执行包中提供的卸载脚本。
这是.nuspec文件和我一直在测试的脚本文件:
Install-ChocolateyPackage 'notepadplusplus' 'exe' '/S' 'https://notepad-plus-plus.org/repository/6.x/6.8.5/npp.6.8.5.Installer.exe'
chocolateyinstall.ps1:
Get-WmiObject -Class Win32_Product | Select-Object -Property Name > C:\foo.txt
chocolateyuninstall.ps1:
Uninstall-package notepad++
我使用卸载脚本来测试脚本是否运行,但事实并非如此。当我对安装脚本执行相同操作时,我可以清楚地看到它触及脚本并实际创建文本文件。
所以我的问题是Windows 10中的oneget模块根本不使用脚本文件吗?如果提供的名称与注册表中的名称完全相同,则执行卸载程序包似乎执行卸载文件。例如,执行命令{{1}}将卸载notepad ++,即使它安装时名称为notepadplusplus。
答案 0 :(得分:0)
目前的OneGet Chocolatey提供商是2014年3月(是的,2014年)的非全功能原型,由微软编写。官方提供商尚未完成。寻找在2017年某个时候完成的。 Chocolatey团队使用优先顺序计划,允许在需求变化时快速重新确定优先级,因此很难在此提供更好的估计日期。如果有人有兴趣选择完成,请在下面评论。
我们将在邮件列表和简报中正式发布公告。
在宣布之前,我希望它是一个早期预览,并且几乎考虑到它的一切(包括自2014年以来添加的安全修复)。它近两年前以Chocolatey为基础,甚至还没有完全适用于当时可用的功能。
HTH