为什么 Uninstall-Package 不启动 Chocolatey 卸载脚本?

Why doesn't Uninstall-Package launch the Chocolatey uninstall script?

所以我一直在试用 OneGet 一段时间并想创建包。我遇到的最大问题 运行 是 OneGet 似乎并没有实际执行包中提供的卸载脚本。

这是我测试过的 .nuspec 文件和脚本文件:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>notepadplusplus</id>
        <version>6.8.5</version>
        <title>Notepad++</title>
        <authors>Notepad ppl</authors>
        <owners>King Kong</owners>
        <projectUrl>https://notepad-plus-plus.org/</projectUrl>
        <iconUrl>http://i1-win.softpedia-static.com/screenshots/icon-60/Notepad-plus-plus.png</iconUrl>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>Notepad++ is a free (as in "free speech" and also as in "free beer") source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License.</description>
        <summary>Notepad++</summary>
        <tags>notepad notepad++ texteditor text editor</tags>
    </metadata>
    <files>
        <file src="tools\chocolateyInstall.ps1" target="tools\chocolateyInstall.ps1" />
    <file src="tools\chocolateyUninstall.ps1" target="tools\chocolateyUninstall.ps1" />
    </files>
</package>

巧克力安装。ps1:

Install-ChocolateyPackage 'notepadplusplus' 'exe' '/S' 'https://notepad-plus-plus.org/repository/6.x/6.8.5/npp.6.8.5.Installer.exe'

巧克力卸载。ps1:

Get-WmiObject -Class Win32_Product | Select-Object -Property Name > C:\foo.txt

我使用卸载脚本只是为了测试脚本是否正常 运行 但事实并非如此。当我对安装脚本执行相同操作时,我可以清楚地看到它点击了脚本并实际创建了文本文件。

所以我的问题是 Windows10 中的 oneget 模块是否根本不使用脚本文件?因为如果提供的名称与注册表中的名称完全相同,则执行卸载程序包似乎会执行卸载文件。例如,执行命令 Uninstall-package notepad++ 将卸载 notepad++,即使它是使用名称 notepadplusplus 安装的。

当前的 OneGet Chocolatey 提供程序是 2014 年 3 月(是的,2014 年)的非全功能原型,由 Microsoft 编写。官方提供者没有完成。期待在 2017 年的某个时候完成。 Chocolatey 团队使用优先级排序表,可以在需求发生变化时快速重新确定优先级,因此很难就此提供更好的估计日期。如果有人有兴趣把它捡起来完成,请在下面评论。

准备就绪后,我们将在邮件列表和时事通讯中发布正式公告。

在宣布之前,我希望它是一个早期预览版,并且几乎认为它的所有内容都已损坏(包括自 2014 年以来添加的安全修复程序)。它目前基于近两年前的 Chocolatey,甚至还没有完全发挥当时可用的功能。

HTH