Rimuovi la registrazione Chocolatey senza disinstallare l'applicazione


22

Voglio essere in grado di utilizzare choco upgrade all -yper aggiornare quasi tutti i miei pacchetti Chocolatey.

Alcuni pacchetti rappresentano le applicazioni che voglio aver installato, ma non voglio più che vengano aggiornate, almeno non automaticamente dal choco upgrade allcomando.

Posso rimuovere un pacchetto da Chocolatey senza disinstallare effettivamente l'applicazione? Ciò avrebbe l'effetto desiderato.

O posso raggiungere il mio obiettivo in un modo migliore?


3
Puoi usare il pin (vedi choco pin -hper i dettagli) e Chocolatey non proverà ad aggiornare il pacchetto. github.com/chocolatey/choco/wiki/CommandsPin
ferventcoder l'

Una nuova opzione è sincronizzata in pro / business - chocolatey.org/docs/features-synchronize
ferventcoder

Risposte:


30

Hai due opzioni:

  1. È possibile utilizzare il perno (vedi choco pin -h per i dettagli) e Chocolatey non cercherà di aggiornare il pacchetto: choco pin add -n=packageName. Dopo quel comando choco upgrade allsalterà il pacchetto con il nome packageName.

  2. È possibile rimuovere l'applicazione dal database Chocolatey (è necessario rimuovere la cartella dell'applicazione). Tutte le applicazioni di metadati memorizzati nella cartella C:\ProgramData\chocolatey\lib\<package-name>, ad esempio: C:\ProgramData\chocolatey\lib\adobereader.

    Rimuovi attentamente la directory, perché a volte le applicazioni sono installate nella cartella delle applicazioni cioccolatini, ad esempio: C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0


Sembra che funzioni. E questo non ha effetti collaterali per il cioccolato? Nessun file di configurazione che deve essere modificato?
Klas Mellbourn,

1
Chocolatey memorizza tutti i dati dei pacchetti nella libcartella, in modo da poter rimuovere in modo sicuro quelle cartelle.
agabrys,

2
Opzione 2, non lo modificherò (poiché è già la risposta accettata), ma puoi anche bloccare i pacchetti che non vuoi aggiornare. È una soluzione molto migliore rispetto a dover andare manualmente e rimuovere i file.
ferventcoder,

@agabrys se vuoi che modifichi la risposta posso aggiungere i dettagli sul pin. Oppure puoi modificarlo.
ferventcoder,

2
Ho modificato la risposta.
Sentiti

28

Esempio (rimuovere il pacchetto myExamplePackageda Chocolatey senza disinstallarlo)

choco uninstall myExamplePackage -n --skipautouninstaller

Dai documenti cioccolatini :

NOTA: un pacchetto con una disinstallazione non riuscita può essere rimosso con i -n --skipautouninstallerflag. Ciò rimuoverà il pacchetto da Chocolatey senza tentare di disinstallare il programma.


Non riesco a capire come usare il comando: puoi dirmi il comando completo per un pacchetto?
user598527

1
certo - ho aggiunto un esempio al post.
Patrick Heck,

Questo non sembra più funzionare con l'attuale versione di Chocolatey
Mica, il

1
Ha funzionato perfettamente per me, grazie!
spongessuck,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.