Hapus pendaftaran Chocolatey tanpa menghapus aplikasi

22

Saya ingin dapat menggunakan choco upgrade all -yuntuk memperbarui hampir semua paket Chocolatey saya.

Beberapa paket mewakili aplikasi yang ingin saya instal, tetapi saya tidak ingin lagi diperbarui, setidaknya tidak secara otomatis dengan choco upgrade allperintah.

Bisakah saya menghapus paket dari Chocolatey tanpa benar-benar menghapus instalasi aplikasi? Itu akan memiliki efek yang diinginkan.

Atau bisakah saya mencapai tujuan saya dengan cara yang lebih baik?

Klas Mellbourn
sumber
3
Anda dapat menggunakan pin (lihat choco pin -hdetailnya) dan Chocolatey tidak akan mencoba memperbarui paket. github.com/chocolatey/choco/wiki/CommandsPin
ferventcoder
Opsi baru disinkronkan dalam pro / bisnis - chocolatey.org/docs/features-synchronize
ferventcoder

Jawaban:

30

Anda memiliki dua opsi:

  1. Anda dapat menggunakan pin (lihat choco pin h untuk rincian) dan Cokelat tidak akan mencoba untuk meng-upgrade paket: choco pin add -n=packageName. Setelah itu perintah choco upgrade allakan melewati paket dengan nama packageName.

  2. Anda dapat menghapus aplikasi dari basis data Chocolatey (Anda harus menghapus folder aplikasi). Semua aplikasi metadata disimpan dalam folder C:\ProgramData\chocolatey\lib\<package-name>, misalnya: C:\ProgramData\chocolatey\lib\adobereader.

    Hapus direktori dengan hati-hati, karena kadang-kadang aplikasi diinstal di dalam folder aplikasi cokelat, contoh: C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0

agabrys
sumber
Sepertinya itu berhasil. Dan ini tidak memiliki efek samping yang buruk untuk cokelat? Tidak ada file konfigurasi yang perlu diubah?
Klas Mellbourn
1
Chocolatey menyimpan semua paket data dalam libfolder, sehingga Anda dapat menghapus folder-folder tersebut dengan aman.
agabrys
2
Opsi 2, saya tidak akan mengedit ini (karena sudah merupakan jawaban yang diterima), tetapi Anda juga dapat menyematkan paket yang tidak ingin ditingkatkan. Ini adalah solusi yang jauh lebih baik daripada harus secara manual pergi dan menghapus file.
ferventcoder
@agabrys jika Anda ingin saya mengedit jawaban saya dapat menambahkan rincian tentang pin. Atau Anda dapat mengeditnya.
ferventcoder
2
Saya mengubah jawabannya. Selalu merasa bebas untuk memperluas jawaban;)
agabrys
28

Contoh (hapus paket myExamplePackagedari cokelat tanpa menghapus instalan)

choco uninstall myExamplePackage -n --skipautouninstaller

Dari dokumen cokelat :

CATATAN: Paket dengan penghapusan instalasi yang gagal dapat dihapus dengan -n --skipautouninstallerbendera. Ini akan menghapus paket dari cokelat tanpa berusaha menghapus program.

Patrick Heck
sumber
Saya tidak tahu bagaimana cara menggunakan perintah - dapatkah Anda memberi tahu saya perintah lengkap untuk sebuah paket?
user598527
1
yakin - saya menambahkan contoh ke posting.
Patrick Heck
Ini sepertinya tidak lagi berfungsi dengan versi Chocolatey
Mica
1
Bekerja dengan sempurna untuk saya, terima kasih!
spongessuck