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?


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


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.