Почему Uninstall-Package не запускает сценарий удаления Chocolatey?

Поэтому я некоторое время пробовал 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

Я использую скрипт удаления только для проверки, запущен ли скрипт, но это не так. Когда я делаю то же самое со сценарием установки, я ясно вижу, что он попадает в сценарий и фактически создает текстовый файл.

Итак, мой вопрос: модуль oneget в Windows 10 вообще не использует файлы сценариев? Поскольку выполнение Uninstall-пакета, по-видимому, выполняет файл удаления, если предоставленное имя точно такое же, как в реестре. Например, выполнение команды Uninstall-package notepad++ удалит notepad++, даже если он был установлен с именем notepadplusplus.

1 ответ

Решение

Текущий поставщик OneGet Chocolatey - это не полностью функциональный прототип с марта 2014 года (да, 2014), написанный Microsoft. Официальный поставщик не сделан. Ищите это, чтобы закончить где-то в 2017 году. Команда Chocolatey использует график расстановки приоритетов, который позволяет быстро перераспределить приоритеты, когда требования меняются, поэтому сложно определить более точные даты для этого. Если кто-то заинтересован в том, чтобы закончить, пожалуйста, оставьте комментарий ниже.

Мы сделаем официальное объявление в списке рассылки и в бюллетене, когда он будет готов.

До тех пор, пока он не будет объявлен, я ожидаю, что это будет ранний предварительный просмотр, и я буду считать, что все в нем не работает (включая исправления безопасности, добавленные с 2014 года). В настоящее время он основан на Chocolatey почти два года назад и даже не полностью функционирует с доступными функциями.

НТН

Другие вопросы по тегам