Usuń rejestrację Chocolatey bez odinstalowywania aplikacji

22

Chcę być w stanie choco upgrade all -yzaktualizować prawie wszystkie moje pakiety Chocolatey.

Niektóre pakiety reprezentują aplikacje, które chcę zainstalować, ale nie chcę, aby były one aktualizowane, przynajmniej nie automatycznie przez choco upgrade allpolecenie.

Czy mogę usunąć pakiet z Chocolatey bez deinstalacji aplikacji? Miałoby to pożądany efekt.

Czy mogę osiągnąć swój cel w lepszy sposób?

Klas Mellbourn
źródło
3
Możesz użyć choco pin -hkodu PIN (zobacz szczegóły), a Chocolatey nie spróbuje zaktualizować pakietu. github.com/chocolatey/choco/wiki/CommandsPin
ferventcoder
Nowa opcja to synchronizacja w wersji pro / business - chocolatey.org/docs/features-synchronize
ferventcoder,

Odpowiedzi:

30

Masz dwie opcje:

  1. Można użyć kołka (patrz Choco pin -h szczegóły) i Chocolatey nie spróbuje zaktualizować pakiet: choco pin add -n=packageName. Po tym poleceniu choco upgrade allpominie pakiet o nazwie packageName.

  2. Możesz usunąć aplikację z bazy danych Chocolatey (musisz usunąć folder aplikacji). Wszystkie aplikacje metadane są przechowywane w folderze C:\ProgramData\chocolatey\lib\<package-name>, np: C:\ProgramData\chocolatey\lib\adobereader.

    Usuń katalog ostrożnie, ponieważ czasami aplikacje są instalowane w folderze aplikacji Chocolatey, na przykład: C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0

agabrys
źródło
Wygląda na to, że to działa. I to nie ma żadnych niepożądanych skutków ubocznych dla Chocolatey? Brak plików konfiguracyjnych, które wymagają modyfikacji?
Klas Mellbourn,
1
Chocolatey przechowuje dane wszystkich pakietów w libfolderze, dzięki czemu można bezpiecznie usunąć te foldery.
agabrys,
2
Opcja 2, nie będę tego edytować (ponieważ jest to już zaakceptowana odpowiedź), ale możesz także przypiąć pakiety, których nie chcesz aktualizować. Jest to znacznie lepsze rozwiązanie niż konieczność ręcznego usuwania i usuwania plików.
ferventcoder,
@agabrys, jeśli chcesz, żebym edytował odpowiedź, mogę dodać szczegóły dotyczące pinezki. Lub możesz go edytować.
ferventcoder,
2
Zmodyfikowałem odpowiedź. Zawsze
śmiało udzielaj
28

Przykład (usuń pakiet myExamplePackagez Chocolatey bez odinstalowywania)

choco uninstall myExamplePackage -n --skipautouninstaller

Z czekoladowych dokumentów :

UWAGA: Pakiet z nieudaną dezinstalacją można usunąć za pomocą -n --skipautouninstallerflag. Spowoduje to usunięcie pakietu z Chocolatey bez próby odinstalowania programu.

Patrick Heck
źródło
Nie mogę wymyślić, jak użyć polecenia - czy możesz mi powiedzieć pełne polecenie dla pakietu?
user598527
1
jasne - dodałem przykład do wpisu.
Patrick Heck,
Wydaje się, że to już nie działa z aktualną wersją Chocolatey
Mica
1
Działa idealnie dla mnie, dzięki!
spongessuck