Eliminar el registro de Chocolatey sin desinstalar la aplicación

22

Quiero poder usar choco upgrade all -ypara actualizar casi todos mis paquetes de Chocolatey.

Algunos paquetes representan aplicaciones que quiero tener instaladas, pero ya no quiero que se actualicen, al menos no automáticamente mediante el choco upgrade allcomando.

¿Puedo eliminar un paquete de Chocolatey sin desinstalar realmente la aplicación? Eso tendría el efecto deseado.

¿O puedo lograr mi objetivo de una mejor manera?

Klas Mellbourn
fuente
3
Puede usar el pin (ver choco pin -hpara más detalles) y Chocolatey no intentará actualizar el paquete. github.com/chocolatey/choco/wiki/CommandsPin
ferventcoder
Una nueva opción es sincronizar en pro / business - chocolatey.org/docs/features-synchronize
ferventcoder

Respuestas:

30

Tienes dos opciones:

  1. Puede usar el pin (ver choco pin -h para más detalles) y Chocolatey no va a tratar de actualizar el paquete: choco pin add -n=packageName. Después de ese comando choco upgrade allse saltará el paquete con nombre packageName.

  2. Puede eliminar la aplicación de la base de datos de Chocolatey (debe eliminar la carpeta de la aplicación). Todas las aplicaciones de metadatos se almacenan en la carpeta C:\ProgramData\chocolatey\lib\<package-name>, ejemplo: C:\ProgramData\chocolatey\lib\adobereader.

    Elimine el directorio con cuidado, porque a veces las aplicaciones se instalan dentro de la carpeta de aplicaciones chocolatey, por ejemplo: C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0

agabrys
fuente
Parece que eso funciona. ¿Y esto no tiene efectos secundarios negativos para el chocolate? ¿No hay archivos de configuración que deban modificarse?
Klas Mellbourn
1
Chocolatey almacena todos los datos de los paquetes en la libcarpeta, por lo que puede eliminar esas carpetas de forma segura.
agabrys
2
Opción 2, no editaré esto (ya que es la respuesta aceptada), pero también puede anclar los paquetes que no desea actualizar. Es una solución mucho mejor en lugar de tener que ir manualmente y eliminar los archivos.
ferventcoder
@agabrys si quieres que edite la respuesta, puedo agregar los detalles sobre el pin. O puedes editarlo.
ferventcoder
2
Modifiqué la respuesta. Siempre siéntase libre de extender cualquier respuesta;)
agabrys
28

Ejemplo (eliminar el paquete myExamplePackagede chocolate sin desinstalar)

choco uninstall myExamplePackage -n --skipautouninstaller

De los documentos de chocolate :

NOTA: Un paquete con una desinstalación fallida se puede eliminar con las -n --skipautouninstallerbanderas. Esto eliminará el paquete de chocolatey sin intentar desinstalar el programa.

Patrick Heck
fuente
No puedo entender cómo usar el comando. ¿Me puede decir el comando completo para un paquete?
user598527
1
seguro: agregué un ejemplo a la publicación.
Patrick Heck
Esto ya no parece funcionar con la versión actual de Chocolatey
Mica
1
Funcionó perfectamente para mí, gracias!
spongessuck