【问题标题】:Why doesn't Uninstall-Package launch the Chocolatey uninstall script?为什么 Uninstall-Package 不启动 Chocolatey 卸载脚本?
【发布时间】:2015-10-23 09:18:58
【问题描述】:

所以我一直在尝试 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>

chocolateyinstall.ps1:

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

chocolateyuninstall.ps1:

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

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

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

【问题讨论】:

    标签: powershell nuget-package chocolatey oneget


    【解决方案1】:

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

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

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

    HTH

    【讨论】:

    • 好的,谢谢!我会继续使用choco,等待下一次更新。
    • 这似乎仍然是一个问题 - 对我来说基本上没有功能。 csi-windows.com/blog/all/74-powershell/… 描述了这些问题,但保持最新似乎无济于事。 GitHub repos 上似乎也没有太多活动,所以我认为这个提供者已经死了?
    • 嗨 Sam - 没有死,只是还没准备好,目前仍在优先处理中。我将编辑我的答案,因为希望的可用日期不再准确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多