Czy istnieje sposób na konwersję programu nie zainstalowanego w Chocolatey na program zainstalowany w Chocolatey?

30

Mam kilka programów, które zostały zainstalowane przy użyciu metod innych niż Chocolatey (pakiety .msi, setup.exe itp.). Niedawno zacząłem używać Chocolatey i chciałbym użyć go do aktualizacji tych programów.

Czy mogę to zrobić, czy muszę odinstalować programy i zainstalować je ponownie przy użyciu Chocolatey?

robingrindrod
źródło

Odpowiedzi:

20

Wierzę, że odpowiedź brzmi „to zależy”. :-)

Większość pakietów w Chocolatey to po prostu owijki do bazowych plików MSI i EXE, które ostatecznie uruchomisz samodzielnie, po prostu zautomatyzuje ten proces.

Teoretycznie, jeśli uruchomisz Chocolatey dla pakietu, który jest już zainstalowany, po uruchomieniu MSI lub EXE, powinien wykryć, że jest już zainstalowany i wyjść. Jednak, jak czysto to się stanie, wpłynie na to, jak zareaguje Chocolatey. Jeśli zakończy się to z kodem błędu, Chocolatey zgłosi, że instalacja nie powiodła się, nawet jeśli jest już zainstalowana. Jeśli zakończy się czysto, Chocolatey „dowie się” o instalacji i wszystko będzie szczęśliwe.

Możesz mieć kłopoty, gdy pakiet Chocolatey wykonuje „inne rzeczy” w ramach instalacji, tj. Ustawia klucze rejestru, rozpakowuje pliki do określonych lokalizacji itp. W zależności od liczby pakietów, o których tu mówimy, osobiście pokusiłbym się odinstaluj je ręcznie, a następnie Chocolatey wykona pracę.

AKTUALIZACJA:

Oprócz powyższego warto sprawdzić nowe funkcje wersji licencjonowanej Chocolatey.

Gary Ewan Park
źródło
1
To jest poprawne. Widziałem wiele kodów czekoladowych pakietów i powiedziałbym, że byłoby to rzadkie i zaskakujące, gdyby ręcznie ustawili klucze rejestru lub ręcznie wyodrębnili pliki do lokalizacji, ale oczywiście nie mogę uwzględnić wszystkich pakietów w repozytorium. W większości są to bardzo proste programy, które automatyzują istniejących instalatorów. Przypadki, w których byłbym bardziej ostrożny, to to, gdy wydawca publikuje prosty plik * .zip lub przenośny plik exe.
Jonathan