{"id":147246,"date":"2014-03-11T01:29:00","date_gmt":"2014-03-11T00:29:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/?p=147246"},"modified":"2021-02-11T23:28:42","modified_gmt":"2021-02-11T22:28:42","slug":"ketarin-software-updatemanager-fr-windows-systeme-ii","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2014\/03\/11\/ketarin-software-updatemanager-fr-windows-systeme-ii\/","title":{"rendered":"Ketarin: Software-\/Updatemanager f&uuml;r Windows-Systeme &#8211; II"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" title=\"win7\" style=\"border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: left; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px\" border=\"0\" alt=\"win7\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2012\/03\/win7_thumb1.jpg\" width=\"44\" align=\"left\" height=\"42\"\/>In Teil 1 des Blog-Beitrags hatte Blog-Leser Christian den Ketarin Update-Manager f\u00fcr Anwendungen vorgestellt. In Teil 2 zeigt er an einem Beispiel die M\u00f6glichkeiten dieses Update-Managers auf.<\/p>\n<p><!--more--><strong>Von Christian P.<\/strong>  <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/f8fce0a2b426443f96bb09e8c2404a38\" width=\"1\" height=\"1\"\/>Anhand eines einfachen Beispiels zeige ich einige M\u00f6glichkeiten von Ketarin auf. Daf\u00fcr habe ich Firefox ausgesucht. Nach dem Download der aktuellen Ketarin-Version  (170-b2) ist das Archiv zu entpacken und die <em>Ketarin.exe<\/em> zu starten. \u00dcber <b>File<\/b> \u2192 <b>Settings<\/b> gelangt man zu den allgemeinen Einstellungen von Ketarin. Diese sind mit wenigen Handgriffen erledigt.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/i.imgur.com\/damHz4X.jpg\"\/><br \/><em>globalvariables.png (Grundkonfiguration von Ketarin) <\/em><\/p>\n<p>In den allgemeinen Einstellungen lassen sich Funktionen einstellen, wie zum Beispiel ob beim Start von Ketarin automatisch nach Updates der Applikationen gesucht werden soll, ob Ketarin automatisch eine Sicherung der Datenbank anlegen soll, oder wie viele gleichzeitige Downloads erlaubt sein sollen. Zudem lassen sich globale Variablen und Hotkeys definieren.<\/p>\n<p>Globale Variablen und Hotkeys sind zwar nicht zwingend erforderlich aber sie erleichtern das Erstellen und Bearbeiten von Datenbankeintr\u00e4gen ungemein. So lassen sich hier Pfade zu weiteren Programmen eintragen die man h\u00e4ufig benutzt. Dazu geh\u00f6rt z.B. 7zip, curl, wget. Au\u00dferdem lassen sich hier auch Pfade zu Downloadverzeichnissen &#8211; auch in Kombination mit Windows-Umgebungsvariablen wie <strong>%ProgramFiles%<\/strong> oder <strong>%USERPROFILE% oder %SYSTEMROOT% &#8211; <\/strong>und bei Bedarf sogar Angaben zum User-Agent definieren.<\/p>\n<p>Um die Browserpr\u00fcfung seitens der Seitenbetreiber umgehen\/bestehen zu k\u00f6nnen, ben\u00f6tigt man gelegentlich auch Angaben zum User-Agent. Oftmals wird anhand der Browserinformationen mit der man normalerweise die Internetseite besucht definiert, ob der Download erlaubt ist oder f\u00fcr welches System dieser erlaubt ist (Linux, Windows 32- oder 64-bit System usw.). Manche Seiten verweigern den Download oder die Navigation der Seite, wenn man sie nicht mit dem Internet Explorer aufruft. Dies kommt zwar selten vor, aber bei meinen knapp 300 Softwareeintr\u00e4gen tauchte das Problem gelegentlich auf.<\/p>\n<p>Doch zur\u00fcck zu den globalen Variablen. F\u00fcr den Anfang definieren wir hier den Pfad zum Downloadverzeichnis. Da mein Verzeichnis im gleichen Verzeichnis liegt wie die Ketarin.exe, muss ich hier lediglich die Variable <b>downloads<\/b> eintragen und dieser den Namen meines Downloadverzichnisses (in diesem Fall <b>Downloads<\/b>) vergeben. Selbstverst\u00e4ndlich lassen sich auch andere Pfade wie D:\\Downloads\\Unterverzeichnis\\etc eintragen.<\/p>\n<p>Nun tragen wir die erste Anwendung in die Datenbank ein. Hierzu hat man die Wahl zwischen eines einfachen Downloads und Abspeicherns der Datei oder einer etwas \u00fcbersichtlicheren Kategorisierung und Versionierung des Downloads. Wir entscheiden uns der sp\u00e4teren besseren \u00dcbersicht und Flexibilit\u00e4t durch Variablen wegen f\u00fcr die zweite M\u00f6glichkeit.<\/p>\n<p>Dazu \u00fcber <b>Add new application \u2192 New&#8230; <\/b>einen Eintrag mit dem Namen der Applikation erstellen (in unserem Fall <b>Mozilla Firefox<\/b>), der Angabe einer Softwarekategorie (<b>Browser<\/b>), eines Downloadpfads <b>{url} <\/b>(dazu gleich mehr) sowie des Speicherpfads <b>{downloads}\\{category}\\{appname}-v{version}.{url:ext}<\/b> erstellen.<\/p>\n<p><a href=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2014\/03\/newapplication-1.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"newapplication-1\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"newapplication-1\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2014\/03\/newapplication-1_thumb.jpg\" width=\"439\" height=\"445\"\/><\/a><\/p>\n<p>Der Speicherpad f\u00fcgt sich also zusammen aus der zuvor erstellen globalen Variable <b>{downloads}<\/b>, der Kategorie <b>Browser,<\/b> die autotamisch als globale Variable <b>{category}<\/b> von Ketarin erkannt wird und auch als Name des Unterverzeichnisses genutzt wird, sowie des Namens der Anwendung <b>{appname}<\/b>, welcher ebenfalls von Ketarin automatisch als globale Variable erkannt wird. Die Variable <b>{url.ext}<\/b> in unserem Downloadpfad wird von Ketarin als Dateiendung der herunterzuladenden Datei ebenfalls automatisch generiert.<\/p>\n<p>Bleiben noch die Variablen <b>{version}<\/b> und die zuvor erw\u00e4hnte<b> {url}<\/b>. Dazu rechts neben dem URL-Pfad <b>Variables<\/b> anw\u00e4hlen und anschlie\u00dfend mit dem <b>+ <\/b>eine Variable namens <b>version<\/b> eintragen.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/i.imgur.com\/d7pDEvk.jpg\"\/><br \/><em>variables-1.png (benutzerdefinierte Variablen f\u00fcr den Download anlegen) <\/em><\/p>\n<p>Um auf die Version pr\u00fcfen zu k\u00f6nnen ben\u00f6tigen wir die Internetseite f\u00fcr den Download von Firefox mit der Angabe der aktuellen Version. F\u00fcr Firefox nutzen wir die zuvor ermittelte Adresse <a href=\"https:\/\/www.mozilla.org\/en-US\/firefox\/all\/\">https:\/\/www.mozilla.org\/en-US\/firefox\/all\/<\/a><\/p>\n<p>Dazu w\u00e4hlen wir f\u00fcr unsere Variable <b>version<\/b> die Option <b>Content from URL (Regular Expression)<\/b> aus und geben als Pfad die Adresse <a href=\"https:\/\/www.mozilla.org\/en-US\/firefox\/all\/\">https:\/\/www.mozilla.org\/en-US\/firefox\/all\/<\/a> an. Um nun auf die aktuelle Version des deutschsprachigen Firefox zu pr\u00fcfen, nutzen wir zum Beispiel folgenden regul\u00e4ren Ausdruck:<\/p>\n<p><b>(?&lt;=German.*?download win.*?firefox-)[0-9.]{2,}(?=-SSL&amp;amp;os=win&amp;amp;lang=de)<\/b><\/p>\n<p><em><a href=\"https:\/\/i.imgur.com\/saOhcjA.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/i.imgur.com\/saOhcjA.jpg\"\/><\/a><br \/>variables-2.png (Regular Expressions um bestimmte Attribute zu suchen) <\/em><\/p>\n<p>Dadurch wird der Quelltext der oben genannten Internetseite nach \u00fcbereinstimmenden Merkmalen gesucht. In unserem Fall nach Begriffen wie German, download win usw. Um sicherstellen zu k\u00f6nnen, dass wir nicht die falsche Sprachversion herunterladen, geben wir auch Merkmale an welche sich unmittelbar nach der gesuchten Versionangabe befinden; also os=win oder lang=de. Da mozilla.org die Version recht einfach darstellt \u2013 in unserem Fall 27.0.1 soll unser regul\u00e4rer Ausdruch mit [0-9.]{2,} nach Zeichenketten ausschlie\u00dflich mit Ziffern, Punkten und mindestens 2 Zeichen suchen. Falls die Suche durch die Regular Expressions Erfolg hatte, wird das Ergebnis blau hinterlegt angezeigt.<\/p>\n<p>Nun erstellen wir \u00fcber +<b> <\/b>eine zweite Variable namens <b>url<\/b>. Wie f\u00fcr die Variable <b>version <\/b>nutzen wir als Seite ebenfalls <a href=\"https:\/\/www.mozilla.org\/en-US\/firefox\/all\/\">https:\/\/www.mozilla.org\/en-US\/firefox\/all\/<\/a> und als regul\u00e4rer Ausdruck:<\/p>\n<p><b>(https[^\"]*lang=de)<\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2014\/03\/variables-3.jpg\" width=\"567\" height=\"372\"\/><\/p>\n<p>Dies sorgt daf\u00fcr, dass eine Downloadadresse im Quelltext der Seite gesucht wird welche mit https beginnt und lang=de endet. Wird ein Ergebnis gefunden, so wird dieses ebenfalls farblich dargestellt.<\/p>\n<p>Somit haben wir sowohl eine Variable f\u00fcr unsere Versionspr\u00fcfung als auch eine Variable f\u00fcr unseren Downloadlink definiert.<\/p>\n<p>Wie bereits erw\u00e4hnt, dienen Variablen der flexiblen Gestaltung der Datenbankeintr\u00e4ge und sorgen sp\u00e4ter, bei zunehmender Anzahl an Eintr\u00e4gen daf\u00fcr, dass man komfortabel aus bestehenden Eintr\u00e4gen Vorlagen f\u00fcr neue Eintr\u00e4ge generiert.<\/p>\n<p>Nun best\u00e4tigen wir das Variablen-Fenster mit OK und \u00f6ffnen den Reiter <b>Advanced Settings<\/b>. In der Zeile <b>Use the following variable as indicator for changes:<\/b> w\u00e4hlen wir die gerade erstellte Variable <b>version<\/b> aus. Damit stellen wir sicher, dass Ketarin auf der Seite nach der verf\u00fcgbaren Version sucht, diese mit der fr\u00fcher heruntergeladenen Version vergleicht und ggf. anhand der ermittelten Version die Datei herunterl\u00e4dt oder bei gleicher Version ignoriert. Damit w\u00e4re das Grundger\u00fcst f\u00fcr einen Download des Programms Mozilla Firefox fertig.<\/p>\n<p>Nun schlie\u00dfen wir Ketarin und navigieren in das Verzeichnis:<\/p>\n<p><b>C:\\Users\\BENUTZERNAME*\\AppData\\Roaming\\Ketarin\\<\/b><\/p>\n<p>*Benutzername durch den aktuell angemeldeten Windowsbenutzer ersetzen.<\/p>\n<p>Von hier verschieben wir die Datei jobs.db in das Verzeichnis in dem sich die Ketarin.exe befindet. Das dient dazu, dass man Ketarin anschlie\u00dfend portabal verwenden kann &#8211; also einfach das gesamte Ketarinverzeichnis auf USB-Datentr\u00e4ger kopieren und loslegen kann.<\/p>\n<h3>Weiterf\u00fchrende M\u00f6glichkeiten mit dem Download zu arbeiten<\/h3>\n<p>Soll Firefox nach dem Download automatisiert entpackt (siehe als Beispiel <em>application-3.png<\/em>), dem Setup AddOns hinzuf\u00fcgt und alles zu einem neuen Installer gepackt werden, so l\u00e4sst sich dies \u00fcber den Reiter <b>Commands<\/b> und da unter<b> Execute the following command after downloading <\/b>bewerkstelligen. M\u00f6chte man die Installation nach erfolgtem Download automatisiert ansto\u00dfen, so l\u00e4sst sich \u00fcber den Reiter <b>Setup<\/b> und da \u00fcber die Funktion <b>Add instruction <\/b>ein Installationsprozess (<b>Start process<\/b>) mit entsprechenden Installationsargumenten ansto\u00dfen.<\/p>\n<p><em><a href=\"https:\/\/i.imgur.com\/JrU8vx0.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/i.imgur.com\/JrU8vx0.jpg\"\/><\/a><br \/>install-1.png (Installationsprozesse ansto\u00dfen)<\/em><\/p>\n<p>Au\u00dferdem kann man bei Bedarf \u00fcber den Reiter <b>Commands<\/b> in den allgemeinen Einstellungen (<b>File \u2192 Settings<\/b>) eine ge\u00f6ffnete Instanz des Programms vor einer automatisierten Installation \u00fcber Batch-Kommandos schlie\u00dfen (<b>TASKKILL \/F \/IM filename.exe<\/b> im <b>Before updating an application<\/b> -Fenster) und nach der erfolgten Installation wieder starten (<b>START filename.exe <\/b>im<b> After updating an application <\/b>-Fenster). Auch kann man hier \u00fcber Batch pr\u00fcfen, ob bereits eine 32- oder eine 64-bit Version der zu installierenden Software auf dem Computer installiert ist.<\/p>\n<p>Die Kr\u00f6nung der Automatisierung ist das Starten von Ketarin mit Angabe der Datenbank und mit den Argumenten \/silent und \/exit; also Ketarin.exe \/database=DBFILENAME \/silent \/exit<\/p>\n<p>Dadurch startet man Ketarin, l\u00e4sst es im Hintergrund alle Updateprozesse durchlaufen, bei Bedarf Installationsprozesse durchf\u00fchren und nach getaner Arbeit wieder schlie\u00dfen. Die Angabe des Datenbanknamens ist praktisch wenn man verschiedene Kategorien gesondert behandeln will; also eine Datenbank f\u00fcr portable Anwendungen und eine f\u00fcr Installer. Denkbar w\u00e4re auch eine gesonderte Datenbank mit Sicherheits- und Rettungssoftware (Virenscanner, Malwarescanner, Recovery-Tools und all den anderen kleinen Helferlein wie Combofix, HijackThis, GMER, Farbar, AdwCleaner usw.), falls man tagt\u00e4glich mit entsprechenden befallenen Rechnern zu tun hat. Ebenfalls per Batch lassen sich die entsprechenden Programme dann auf andere (USB-)Laufwerke (vorzugsweise mit mechanischem Schreibschutz) kopieren und weiterverwenden.<\/p>\n<p>Wie man sieht, sind die M\u00f6glichkeiten vielf\u00e4ltig. Und auch wenn das Erstellen eines Eintrags zu Beginn ein wenig Zeit in Anspruch nimmt. Zum sp\u00e4teren Zeitpunkt, wenn sich die Datenbank f\u00fcllt, gehen, dank Vorlagen, viele Schritte sehr einfach von der Hand.<\/p>\n<p>Damit haben wir Firefox als immer aktuellen Download in unsere Datenbank aufgenommen. Mit jedem Start von Ketarin lassen wir nach einer neuen Version pr\u00fcfen und diese gegebenenfalls herunterladen. Selbstverst\u00e4ndlich kommt es auch vor, dass der Seitenbetreiber durch ein neues Seitendesign die Kriterien f\u00fcr die Suche nach Version und Downloadlink ver\u00e4ndern. Dann muss man die entsprechenden Links und\/oder RegEx anpassen. Allerdings meldet Ketarin umgehend wenn Fehler auftreten. Zu solchen Seiten geh\u00f6ren HP.com und die japanische Version von Sourceforge. Diese \u00e4ndern alle paar Wochen hier und da eine Kleinigkeit. Das ist allerdings zu verkraften, denn der Rekonfigurationsaufwand ist mit 1-2 Minuten minimal.<\/p>\n<p>Ich hoffe, ihr habt einen kleinen, hilfreichen Einblick in die Ketarin-Welt erhalten. Gerne stehe ich zudem bei Fragen und Problemen zur Verf\u00fcgung.<\/p>\n<p><strong>Artikelreihe:<\/strong><br \/>a1: <a href=\"https:\/\/borncity.com\/blog\/2014\/03\/10\/ketarin-software-updatemanager-fr-windows-systeme-i\/\">Ketarin: Software-\/Updatemanager f\u00fcr Windows-Systeme<\/a> &#8211; I<br \/>a2: <a href=\"https:\/\/borncity.com\/blog\/2014\/03\/11\/ketarin-software-updatemanager-fr-windows-systeme-ii\/\">Ketarin: Software-\/Updatemanager f\u00fcr Windows-Systeme<\/a> \u2013 II<\/p>\n<p>b1: <a href=\"https:\/\/borncity.com\/blog\/2014\/02\/27\/windows-programme-mit-ninite-aktuell-halten\/\">Windows-Programme mit Ninite aktuell halten<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Teil 1 des Blog-Beitrags hatte Blog-Leser Christian den Ketarin Update-Manager f\u00fcr Anwendungen vorgestellt. In Teil 2 zeigt er an einem Beispiel die M\u00f6glichkeiten dieses Update-Managers auf.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143,185],"tags":[3219,4315,4325],"class_list":["post-147246","post","type-post","status-publish","format-standard","hentry","category-tipps","category-update","tag-ketarin","tag-update","tag-windows"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/147246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=147246"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/147246\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=147246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=147246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=147246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}