Remova o registro Chocolatey sem desinstalar o aplicativo

22

Eu quero poder usar choco upgrade all -ypara atualizar quase todos os meus pacotes Chocolatey.

Alguns pacotes representam aplicativos que eu quero instalar, mas não quero mais que eles sejam atualizados, pelo menos não automaticamente pelo choco upgrade allcomando.

Posso remover um pacote do Chocolatey sem realmente desinstalar o aplicativo? Isso teria o efeito desejado.

Ou posso alcançar meu objetivo de uma maneira melhor?

Klas Mellbourn
fonte
3
Você pode usar o pino (veja choco pin -hpara detalhes) e o Chocolatey não tentará atualizar o pacote. github.com/chocolatey/choco/wiki/CommandsPin
ferventcoder 11/12/15
Uma nova opção é sincronizar no pro / negócio - chocolatey.org/docs/features-synchronize
ferventcoder

Respostas:

30

Você tem duas opções:

  1. Você pode usar pinos (ver choco pin -h para mais detalhes) e Chocolatey não tentará atualizar o pacote: choco pin add -n=packageName. Após esse comando choco upgrade all, pulará o pacote com o nome packageName.

  2. Você pode remover o aplicativo do banco de dados Chocolatey (você deve remover a pasta do aplicativo). Todas as aplicações de metadados estão armazenados na pasta C:\ProgramData\chocolatey\lib\<package-name>, exemplo: C:\ProgramData\chocolatey\lib\adobereader.

    Remova o diretório com cuidado, porque às vezes os aplicativos são instalados dentro da pasta de aplicativos com chocolate, por exemplo: C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0

agabrys
fonte
Parece que funciona. E isso não tem efeitos colaterais ruins para o chocolate? Não há arquivos de configuração que precisam ser modificados?
Klas Mellbourn
11
O Chocolatey armazena todos os dados dos pacotes na libpasta, para que você possa remover com segurança essas pastas.
precisa saber é
2
Opção 2, não vou editar isso (já que é a resposta aceita), mas você também pode fixar os pacotes que não deseja atualizar. É uma solução muito melhor do que ter que remover manualmente os arquivos.
Ferventcoder 11/12/15
@agabrys se você quiser que eu edite a resposta, posso adicionar os detalhes sobre o pino. Ou você pode editá-lo.
Ferventcoder 11/12/15
2
Eu modifiquei a resposta. Sempre à vontade para se estende quaisquer respostas;)
agabrys
28

Exemplo (remova o pacote myExamplePackagedo chocolatey sem desinstalar)

choco uninstall myExamplePackage -n --skipautouninstaller

Dos documentos com chocolate :

NOTA: Um pacote com uma desinstalação com falha pode ser removido com os -n --skipautouninstallersinalizadores. Isso removerá o pacote do chocolatey sem tentar desinstalar o programa.

Patrick Heck
fonte
Não consigo descobrir como usar o comando - você pode me dizer o comando completo de um pacote?
user598527
11
com certeza - adicionei um exemplo ao post.
Patrick Heck
Isto já não parece funcionar com a versão atual do Chocolatey
Mica
11
Funcionou perfeitamente para mim, obrigado!
Spongessuck 16/10/19