Wie teile ich Chocolatey mit, dass sich ein Programm selbst aktualisiert hat?

Wie teile ich Chocolatey mit, dass sich ein Programm selbst aktualisiert hat?

Ich habe mit Choco ein Programm (Paint.Net) installiert. Damals war die Version 3.13, aber Paint.Net hat sich selbst auf 3.15 aktualisiert.

Wenn ich es jedoch ausführe choco outdated, denkt es immer noch, dass 3.13 installiert ist und möchte 3.15 (neu) installieren.

Gibt es eine Möglichkeit, den Inhalt der lokalen Choco-Datenbank installierter Pakete mit der tatsächlich aktuellen Version zu synchronisieren?

Dies ist die kostenlose Version von Choco.

Antwort1

Diese Option gibt es in Chocolatey, aber nur in der kostenpflichtigen Version. Sie heißt Synchronisierungsbefehl. Weitere Informationen zur Verwendung finden Sie unter dem obigen Link. Ein Video, das den Befehl beschreibt, finden Sie unter Youtube.

Chocolatey kann diese Synchronisierung auch automatisch durchführen, wie in
Mit Programmen und Funktionen synchronisieren (nur lizenzierte Editionen).


Ein kostenloser Programmmanager für Chocolatey, der die Synchronisierung durchführt, soll Bereitstellen, was Sie versuchen könnten.

Wenn Sie im Notfall nicht möchten, dass Chocolatey bestimmte Pakete aktualisiert und diese ignoriert, können Sie den Choco-Pin-Befehl.

Um Chocolatey auf installierte Anwendungen aufmerksam zu machen, ohne die Installationsskripte auszuführen, verwenden Sie den Parameter -n, --skippowershell, --skip-powershell, --skipscripts, --skip-scripts, --skip-automation-scripts (dies sind alles die gleichen Schalter). Siehe So installieren oder aktualisieren Sie ein Paket ohne Ausführen von Skripten.


Sie können Chocolatey auch mit dem PowerShell-Gegenstück von Microsoft zum Linux-apt-get verbinden: OneGet, jetzt umbenannt in Paketverwaltung. Package Manager ist der Name von Microsoft, während das zugrunde liegende Open-Source-Projekt immer noch OneGet heißt. Sie könnten dann PowerShell als einheitliche Schnittstelle sowohl für Windows als auch für Chocolatey verwenden.

Weitere Informationen zu OneGet finden Sie im Microsoft-Blog
Was ist neu in PowerShell: Erste Schritte mit OneGet in einer Zeile mit Windows PowerShell 5.0.

OneGet ist einManager von Paketmanagernund unterstützt Chocolatey als Paketanbieter. Sie können es in PowerShell installieren, indem Sie den Befehl „Find-PackageProvider“:

Bildbeschreibung hier eingeben

Sie können dann mit dem Befehl „Install-PackageProvider“ So richten Sie die Chocolatey-Oberfläche ein (aber Achtung, es handelt sich noch um einen Prototyp, Sie müssen sich also erst durchtasten):

Install-PackageProvider chocolatey -Scope CurrentUser

Hier ist ein PowerShell-Beispiel für die Installation von Notepad++ aus der Chocolatey-Galerie:

Bildbeschreibung hier eingeben

Weitere Informationen finden Sie in den folgenden Referenzen:

Antwort2

Diese Antwort basiert auf der Ausgabe des folgenden Befehls:

choco outdated

Ausgabe des veralteten Befehls „choco“

Wie in einer anderen Antwort erwähnt, gibt es in der Open Source-Version von Chocolatey keine automatische Möglichkeit, die Chocolatey-Paketversion zu aktualisieren, basierend auf der Version der Anwendung, die auf andere Weise aktualisiert wird. In einer lizenzierten Version von Chocolatey ist diesBesonderheitist verfügbar.

Wenn Sie die Erstinstallation einer Anwendung mit Chocolatey durchführen möchten, d.h.

choco install paint.net

und dann die Anwendung sich selbst aktualisieren zu lassen, dann wäre der beste Rat, das Paket mit demStift Befehl. Dies würde mit dem folgenden Befehl erfolgen:

choco pin add -n="paint.net"

Dies bedeutet, dass choco upgrade alldieses Paket bei der Ausführung des Befehls (sofern Sie ihn verwenden) nicht mehr für ein Upgrade in Betracht gezogen wird, selbst wenn eine neue Version gefunden wird. Darüber hinaus choco outdatedändert sich die Ausgabe des Befehls wie folgt:

Ausgabe von Choco nach Pin-Befehl veraltet

Wenn Sie den Eintrag WIRKLICH aus dem Bericht entfernen möchten choco outdated, sich aber auch auf die Fähigkeit der Anwendung verlassen möchten, sich selbst zu aktualisieren, sollten Sie den folgenden Befehl ausführen können:

choco upgrade paint.net --skip-automation-scripts

Dadurch wird Chocolatey angewiesen, das Paket auf die aktuell verfügbare Version zu aktualisieren. Allerdings wird dadurch auch die Ausführung der Datei chocolateyInstall.ps1 (und anderer Dateien) verhindert, was bedeutet, dass das Anwendungsinstallationsprogramm nie ausgeführt wird. Wie hier gezeigt:

Ausgabe vom Choco-Upgrade-Befehl beim Überspringen von Automatisierungsskripten

choco outdatedNach dem Ausführen des obigen Befehls lautet die Ausgabe des Befehls:

Ausgabe von Choco nach Upgrade veraltet

verwandte Informationen