<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Paketierung Archives - Workplace Management Blog</title>
	<atom:link href="https://www.wpm-blog.de/tag/paketierung/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.wpm-blog.de/tag/paketierung/</link>
	<description>... ideas and solutions making workplace management easier</description>
	<lastBuildDate>Wed, 19 Nov 2025 13:36:38 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.7</generator>
	<item>
		<title>Reboot Werte &#8211; Empirum Setup.inf</title>
		<link>https://www.wpm-blog.de/reboot-werte-empirum-setup-inf/</link>
					<comments>https://www.wpm-blog.de/reboot-werte-empirum-setup-inf/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 21 Apr 2024 18:14:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Setup.inf]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2960</guid>

					<description><![CDATA[<p>Gerne bekomme ich die Frage gestellt: Warum fordert mein Empirum Paket einen Neustart an, obwohl ich Reboot=0 in der Setup.inf gesetzt habe? Dieser Frage möchte ich im heutigen Beitrag heute nachgehen. Reboot Möglichkeiten Fangen wir &#8230; <a href="https://www.wpm-blog.de/reboot-werte-empirum-setup-inf/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/reboot-werte-empirum-setup-inf/">Reboot Werte &#8211; Empirum Setup.inf</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Gerne bekomme ich die Frage gestellt: Warum fordert mein Empirum Paket einen Neustart an, obwohl ich Reboot=0 in der Setup.inf gesetzt habe? Dieser Frage möchte ich im heutigen Beitrag heute nachgehen.<span id="more-2960"></span></p>
<h3>Reboot Möglichkeiten</h3>
<p>Fangen wir vorne an. Es gibt in der Empirum Setup.inf mindestens zwei Möglichkeiten einen Neustart aus dem Paket heraus anzufordern. Wie das Ganze dann vom Empirum UEM Agenten dann verarbeitet wird, liegt dann zusätzlich an den Agenten Einstellungen, dem Agent-Template.<br />
In der [Application] Sektion gibt es den Paramter Reboot=[Wert von 1 bis 5] für die Anforderung eines Neustarts. Zusätzlich kann man im Verlauf der Setup.inf mit dem Befehl SetReboot [Wert] eine Reboot-Anforderung setzen.</p>
<h3>Wo ist der Unterschied?</h3>
<p>In der [Application] Sektion setzt man einen Wert für die Installation und Deinstallation, ganz gleich, wie der Verlauf des Paketes ist. Mit dem Befehl SetReboot wiederum kann man fallweise eine Neustart-Anforderung platzieren. Dies kann man sich z.B. bei Paketen basierend auf der MSI Vorlage ansehen. Falls sich ein MSI Paket mit einem ReturnCode 3010 beendet (erfolgreich, jedoch Neustart notwendig), dann wird in der Sektion [RebootRequired] ein SetReboot 1 ausgeführt.</p>
<h3>Welchen Wert nutzen?</h3>
<p>Wie oben bereits geschrieben, gibt es Werte von 0 bis 5 mit unterschiedlicher Ausprägung und Funktion. Dabei bedeutet der Wert 0 nicht, dass dieses Paket keinen Neustart benötigt, wie zumeist angenommen. Der Wert 0 steht vielmehr für den &#8222;Automatikmodus&#8220;. Kann zum Beispiel eine Datei im Paketablauf (Ablauf der Setup.inf) nicht ersetzt oder gelöscht werden, fordert beim Wert 0 das Software-Paket trotzdem einen Reboot einen, um beim Neustart, wenn die Datei nicht in Benutzung ist, zu ersetzen oder zu löschen. Möchte man einen Neustart des Paketes unterbinden, so muss man Reboot=2 setzen. Dagegen ist der Wert 1, wie man es sich schon denken konnte, eine direkte Anforderung eines Neustarts. Neben den genannten Werten, wir dann noch häufig der Wert 5 genutzt. Dieser bestimmt, dass nach der Beendigung dieses Paketes ein Neustart angefordert wird (wie bei 1), jedoch auch keine weiteren Pakete zur Ausführung kommen. Die weiteren Pakete werden dann nach dem ausgeführten Reboot durchgeführt.</p>
<p>Wer einen Neustart in gewisser Weise erzwingen mag, kann sich auch meinen Beitrag zum <a href="https://www.wpm-blog.de/systemshutdown-vs-setreboot/">SystemShutdown</a> anlesen.</p>
<h3>Komplette Übersicht</h3>
<p>Da nun die Eigenschaften für 3 und 4 unter den Tisch gefallen sind, möchte ich diese zur Vollständigkeit hier auch noch erläutern:</p>
<ul>
<li>0 &#8211; startet das System nach der Installation neu, wenn ein Neustart erforderlich ist, weil z.B. Dateien überschrieben/gelöscht werden müssen, die in Benutzung sind.</li>
<li>1 &#8211; startet das System in jedem Fall neu</li>
<li>2 &#8211; startet das System nicht neu</li>
<li>3 &#8211; abmelden des Benutzers</li>
<li>4 &#8211; Herunterfahren (kein Neustart)</li>
<li>5 &#8211; nach der Installation kein weiteres Paket installiert und zwingend ein Neustart durchgeführt. Dies entspricht dem Verhalten der Option &#8222;Installation weiterer Pakete nicht fortsetzen&#8220; in den Paketeigenschaften</li>
</ul>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/reboot-werte-empirum-setup-inf/">Reboot Werte &#8211; Empirum Setup.inf</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/reboot-werte-empirum-setup-inf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Aufgepasst im Package Wizard &#8211; MSI</title>
		<link>https://www.wpm-blog.de/aufgepasst-im-package-wizard-msi/</link>
					<comments>https://www.wpm-blog.de/aufgepasst-im-package-wizard-msi/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sat, 09 Dec 2023 18:50:05 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Software Management]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2910</guid>

					<description><![CDATA[<p>Matrix42 Empirum bietet für die Erstellung von Software Paketen den Package Wizard an. Gerade wenn man als Quelle eine MSI Datei vorliegen har, ist es keine Schwierigkeit daraus ein Paket zu erstellen. Bei aller Einfachheit &#8230; <a href="https://www.wpm-blog.de/aufgepasst-im-package-wizard-msi/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/aufgepasst-im-package-wizard-msi/">Aufgepasst im Package Wizard &#8211; MSI</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Matrix42 Empirum bietet für die Erstellung von Software Paketen den Package Wizard an. Gerade wenn man als Quelle eine MSI Datei vorliegen har, ist es keine Schwierigkeit daraus ein Paket zu erstellen. Bei aller Einfachheit sollte man trotz alledem bei einigen Punkten stark aufpassen.<span id="more-2910"></span></p>
<h3>Grober Ablauf &#8211; MSI Paketerstellung</h3>
<p>Eine MSI Datei ist &#8222;eigentlich&#8220; ein fertiges Paket für den Windows-Installer. Bei der Erstellung einer Empirum Setup.inf werden beim Packaging diverse Werte aus der MSI ausgelesen und in die Setup.inf übertragen. Die Setup.inf enthält am Ende die Logik und Erfolgsüberprüfung für die Installation, Reparatur und Deinstallation der MSI Datei und bietet Raum für Erweiterungen, die über die reine MSI Installation hinausgehen.</p>
<h3>Aufmerksam sein &#8230;</h3>
<p>Die aus der MSI Datei ausgelesen Werte für Hersteller, Software(name) und Version werden im Packaging Vorgang vorgeschlagen.</p>
<p>Hier sollte man wachsam sein und darauf achten, dass ..<br />
1. bei Software auch nur der &#8222;Softwarename&#8220; steht und nicht gleich der Hersteller und die Version zusätzlich.<br />
2. es sich beim vorgeschlagenen Text um Zeichen handelt, die auch im Dateisystem verwendet werden können. Ansonsten fällt einem das später auf die Füße.</p>
<h3>Beispiel: Dell Command Update</h3>
<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizardDotv3.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2912" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizardDotv3.png?x39343" alt="" width="593" height="388" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizardDotv3.png 593w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizardDotv3-300x196.png 300w" sizes="(max-width: 593px) 100vw, 593px" /></a></p>
<p>Im angezeigten Beispiel sind gleich mehrere &#8222;Hürden&#8220; enthalten.<br />
1. Es handelt sich um das Dell Command Update. Der Softwarename ist dann genau genommen nur noch &#8222;Command Update&#8220;. Also Dell am Anfang kann entfernt werden.<br />
2. Vorgeschlagen wird &#8222;Command | Update&#8220;. Bitte macht daraus ein Command Update! Die &#8222;Pipe&#8220; wird bei der Verzeichniserstellung für Probleme sorgen.<br />
3. Der Hersteller ist &#8222;Dell Inc.&#8220;. Hier empfehle ich &#8222;Dell&#8220; oder &#8222;Dell Inc&#8220; daraus zu machen, weil es sonst weitere Probleme geben wird.</p>
<p><strong>Man sollte also darauf achten, dass Hersteller, Softwarename und Version nicht auf einen &#8222;Punkt&#8220; (.) enden!</strong></p>
<h3>Gemeistert</h3>
<p>Hat man die Dinge oben beachtet, sollten keine Probleme bei der Paket-Erstellung, Import und Verteilung auftreten.<br />
War man &#8222;clever&#8220; und hat sich im die ein oder anderen Probleme &#8222;herumgearbeitet&#8220;, aber in der Setup.inf vielleicht noch &#8222;Dell Inc.&#8220; stehen, dann kann das wie folgt enden.<br />
Die Installation des Paketes schlägt fehl. Beim genaueren Hinsehen hat einen Ordner &#8222;Dell Inc.&#8220;, auf den man jedoch nicht zugreifen kann&#8230;</p>
<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolder.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2913" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolder.png?x39343" alt="" width="605" height="288" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolder.png 605w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolder-300x143.png 300w" sizes="(max-width: 605px) 100vw, 605px" /></a></p>
<p>Wenn er stört, dann löscht man ihn halt. Argh &#8211; das funktioniert leider auch nicht so einfach.</p>
<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolderDelete.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2914" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolderDelete.png?x39343" alt="" width="484" height="311" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolderDelete.png 484w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/DellIncDotFolderDelete-300x193.png 300w" sizes="(max-width: 484px) 100vw, 484px" /></a></p>
<p>Egal wie man es dreht und wendet, man bekommt den Ordner weder per Explorer oder den normalen Angaben in der CMD nicht entfernt.</p>
<p>Mit folgenden Befehl kann man den Ordner jedoch entfernen:</p>
<pre>rd /s /q "\\?\C:\ProgramData\$Matrix42Scripts$\Dell Inc."</pre>
<div class="grey-box"><strong>Hinweis:</strong> Mit dem vorangestellten &#8222;\\?\&#8220; kann man auch Dateien/Verzeichnisse kopieren, die über die 256 Zeichen hinausgehen. Wer tiefer in die Materie einsteigen möchte, der wird <a href="https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry" target="_blank" rel="noopener">hier</a> fündig.</div>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/aufgepasst-im-package-wizard-msi/">Aufgepasst im Package Wizard &#8211; MSI</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/aufgepasst-im-package-wizard-msi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum &#8211; Paket in das SoftwareDepot einfügen</title>
		<link>https://www.wpm-blog.de/empirum-paket-in-das-softwaredepot-einfuegen/</link>
					<comments>https://www.wpm-blog.de/empirum-paket-in-das-softwaredepot-einfuegen/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 03 Dec 2023 14:28:12 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Software Management]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2896</guid>

					<description><![CDATA[<p>Möchte man ein Softwarepaket mit Matrix42 Client-Management (Empirum) verteilen, so muss dieses nach der Erstellung (Paketierung) in das sogenannte Software-Depot eingefügt werden. Das Software-Depot ist das Verzeichnis, das alle Software-Pakete und deren Eigenschaften kennt, damit &#8230; <a href="https://www.wpm-blog.de/empirum-paket-in-das-softwaredepot-einfuegen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-paket-in-das-softwaredepot-einfuegen/">Empirum &#8211; Paket in das SoftwareDepot einfügen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Möchte man ein Softwarepaket mit Matrix42 Client-Management (Empirum) verteilen, so muss dieses nach der Erstellung (Paketierung) in das sogenannte Software-Depot eingefügt werden. Das Software-Depot ist das Verzeichnis, das alle Software-Pakete und deren Eigenschaften kennt, damit diese in der Empirum Softwareverteilung genutzt werden können.<span id="more-2896"></span></p>
<h3>Warum schreibe ich diesen Artikel?</h3>
<p>Lange Zeit gab es keine Frage danach, wie ein Software-Paket in das Software-Depot aufgenommen wird, da es nur eine Methode gab. Da sich seit geraumer Zeit auch der Package Wizard verändert hat, stellt sich die Frage vielleicht um so mehr. Der Package Wizard ist das Werkzeug der Matrix42 zur Paket-Erstellung. Der Package Wizard wurde angepasst, damit die Pakete besser vorbereitet sind, um sie nicht nur in einer klassischen Empirum Console einfacher zu importieren, sondern auch, wenn man Empirum von Matrix42 als SaaS Angebot bezieht. Gerade im letzteren Fall, geschieht der Upload und Import von Software-Paketen über die sogenannte UUX Oberfläche.</p>
<h3>Wie und wo importiert man Software-Pakete in Empirum?</h3>
<p>Wenn ich hier vom Import von Software-Paketen in Empirum schreibe, dann beziehe ich mich in diesem Artikel auf die Empirum Oberfläche und nicht die Matrix42 UUX. Für den Import startet man die Empirum Console oder auch als Matrix42 Management Console bekannt und wechselt in den Bereich Konfiguration, Software Management, Depot.</p>
<p>Anschließend klickt man mit der rechten Maustaste auf das Register, in das man das erstellte Paket einfügen möchte &#8230;</p>
<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/Softwarepakete_Import_General.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2898" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/Softwarepakete_Import_General.png?x39343" alt="" width="446" height="470" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/Softwarepakete_Import_General.png 446w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/Softwarepakete_Import_General-285x300.png 285w" sizes="(max-width: 446px) 100vw, 446px" /></a></p>
<h3>Welche Methode nutzt man wann?</h3>
<p>Doch welchen der beiden gezeigten Einsprungspunkte nutze ich denn nun?</p>
<h3>Paket einfügen &#8230;</h3>
<p>Hat man ein Software-Paket durch Kopieren eines vorhandenen Empirum Paketes auf dem EmpirumServer erstellt und dabei höchst wahrscheinlich selbst die Setup.inf angepasst, dann nutzt man die Methode &#8222;Paket einfügen &#8230;&#8220;. Welche Angaben man dabei treffen <a href="https://www.wpm-blog.de/einbinden-eines-software-paketes-in-empirum-basi/">muss</a> und <a href="https://www.wpm-blog.de/einbinden-eines-software-paketes-in-empirum-erweitert/">kann</a>, habe ich bereits in den Links zuvor beschrieben. Diese Methode benötigt man auch, wenn man einen Package Wizard vor der Empirum Version 22 nutzt, wenn mich nicht alles täuscht. Am besten, man achtet auf den Ablage des Paketes am Ende des Package Wizard Vorganges. Endet dieser mit einer Kopie des Paketes nach <strong>\\%EmpirumServer%\Configurator$\Packages</strong>, dann ist das hier die richtige Methode.</p>
<div class="grey-box">
<p>Hinweis: Bitte dabei auch immer das Paket aus der vorgeschlagenen Freigabe importieren und nicht auf die lokale Dateistruktur im Explorer wechseln und das Paket einfügen. Dies resultiert dann zumeist mit Paketen, die unter Check, Directory, etc. einen lokalen Pfad wie D:\Empirum\&#8230; eingetragen haben. Die Verteilung dieser hinzugefügten Pakete wird nicht funktionieren!</p>
</div>
<h3>Import/Export</h3>
<p>Wann nutzte ich nun die Import/Export Methode? Nun, diese Methode wird zumeist genutzt, wenn man Pakete übergeben bekommt wie z.B. der Matrix42 PackageCloud, der innomea Paketbox oder weiteren Paketanbietern &#8230; oder eben, wenn man einen aktuellen Empirum Package Wizard nutzt. Den aktuellen Package Wizard erkennt man daran, dann er mit den folgenden vier Bildern endet. Diese Abfragen hat die Vorgängerversion nicht getätigt.</p>
<p>Wird man also nach den Paket-Informationen, den Betriebssystemfreigaben, diversen Paket-Eigenschaften, zusätzlich zu den essentiellen Angaben wie: Hersteller, Softwarename und Version gefragt, dann hat man die &#8222;neue&#8220; Version. Der Package Wizard schlägt dann auch im letzten Dialog die Kopie des Paketes nach <strong>\\%EmpirumServer%\Configurator$\PackageStore</strong> vor.</p>
<p>Nachfolgend die Dialoge des aktuellen Package Wizards &#8230;</p>
<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_OperatingSystem_2.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2903" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_OperatingSystem_2.png?x39343" alt="" width="594" height="391" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_OperatingSystem_2.png 594w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_OperatingSystem_2-300x197.png 300w" sizes="(max-width: 594px) 100vw, 594px" /></a><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageProperties_3.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2904" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageProperties_3.png?x39343" alt="" width="596" height="391" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageProperties_3.png 596w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageProperties_3-300x197.png 300w" sizes="(max-width: 596px) 100vw, 596px" /></a><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageDrop_4b.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-2905" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageDrop_4b.png?x39343" alt="" width="595" height="392" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageDrop_4b.png 595w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2023/12/PackageWizard_PackageDrop_4b-300x198.png 300w" sizes="(max-width: 595px) 100vw, 595px" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-paket-in-das-softwaredepot-einfuegen/">Empirum &#8211; Paket in das SoftwareDepot einfügen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/empirum-paket-in-das-softwaredepot-einfuegen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dialog zum Schließen von Programmen</title>
		<link>https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/</link>
					<comments>https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 16 Jul 2023 18:00:35 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Prozesse]]></category>
		<category><![CDATA[Setup.inf]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2881</guid>

					<description><![CDATA[<p>Es gibt Anwendungen, diese können nicht ordnungsgemäß aktualisiert oder entfernt werden, wenn diese noch geöffnet sind. So gibt es Installationsroutinen die fordern den Benutzer bei einer interaktiven Installation oder Deinstallation auf, die Anwendung zu schließen. &#8230; <a href="https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/">Dialog zum Schließen von Programmen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Es gibt Anwendungen, diese können nicht ordnungsgemäß aktualisiert oder entfernt werden, wenn diese noch geöffnet sind. So gibt es Installationsroutinen die fordern den Benutzer bei einer interaktiven Installation oder Deinstallation auf, die Anwendung zu schließen. Bei der Softwareverteilung und somit der &#8222;silent&#8220; Installation bzw. Deinstallation, schlagen diese dann fehl oder führen nur eine teilweise Deinstallation oder Aktualisierung aus. Die noch im Zugriff befindlichen Dateien werden dann nicht aktualisiert bzw. entfernt.<span id="more-2881"></span></p>
<p>Wie können wir darauf in der Softwareverteilung bzw. der Paketierung darauf reagieren?<br />
Wie kann ich das in der Matrix42 Empirum Setup.inf handhaben?</p>
<h3>Die harte Methode</h3>
<p>Wenn also ein geöffnetes Programm stört, dann beenden wir es halt vor der Installation. Nehmen wir für die nächsten Beispiele an, es geht um Microsoft Visio. Man kann das in Windows enthaltene Tool TaskKill.exe nutzen und damit den Prozess beenden. In der Empirum Setup.inf würde der Befehl grob wie folgt ausschauen:<br />
Callhidden TaskKill.exe /IM visio.exe /F<br />
Es gibt jedoch auch einen Setup.inf eigenen Befehl:<br />
Killprocess visio.exe<br />
Beide haben gemeinsam, sie beenden sofort den laufenden Prozess und gehen in der Installationsabfolge weiter. Was aber, wenn der Benutzer gerade die letzten Minuten oder Stunden Änderungen in seinem Visio-Diagramm vorgenommen hat? Diese Änderungen &#8222;darf&#8220; der Benutzer höchstwahrscheinlich mit der neuen Visio Version erneut durchführen.</p>
<h3>Sanftere Methoden</h3>
<p>Die sanftere Methode ist, mit dem Benutzer zu interagieren. Dies geht in der Empirum Setup.inf über den Befehl AsKillProcesses und der dazugehörigen [Processes] Sektion. In der [Processes] Sektion wird konfiguriert, bei welchem Prozess, welcher Name in der GUI angezeigt wird und wie nach dem Ablauf des Timeouts (des AskKillProcesses  Befehls) verfahren werden soll. Während des TimeOut&#8217;s hat der Benutzer die Möglichkeit die Anwendung selbsttätig zu schließen. Die Installation wird direkt nach dem Schließen durch den Anwender fortgesetzt. Reagiert der Benutzer während der Timeout Zeit nicht auf den angezeigten Dialog zum Schließen der Anwendung, bestimmt der Parameter CONTINUE oder ABORT, ob das Paket &#8222;Abgebrochen&#8220; wird, oder die Installation fortgesetzt wird. Bei einem Abbruch wird dies auch mit der entsprechenden Meldung in der Management Console signalisiert.</p>
<pre>[Processes]
;---beenden des Processes visio.exe nach dem Timeout (hier 300) und mit der Installation voranschreiten
VisioProc=visio.exe, Microsoft Visio, KILLPROCESS CONTINUE
;---Alternativ: KEIN beenden des Processes visio.exe nach dem Timeout (hier 300) und Abbrechen der Installation
;VisioProc=visio.exe, Microsoft Visio, KILLPROCESS ABORT

[CheckOpenProcesses]
AskKillProcesses 300, VisioProc
-AskKillProcesses 300, VisioProc

[Product]
#CheckOpenProcesses, DONTDELETE
...
#CheckOpenProcesses, DELETE</pre>
<div class="grey-box"> <strong>Hinweise:</strong> Man sollte eine entsprechende Zeit zum Interagieren als Timeout nutzen. Das Wort VisioProc wurde hier explizit gewählt, um zu zeigen, dass dies der Verbinder zwischen dem AskKillProcesses Befehl und der [Processes] Sektion ist. Der Name kann auch nichts mit der Anwendung zu tun haben! AskKillProcesses ist sehr &#8222;freundlich&#8220; für den Anwender. Dies hilft ihm jedoch nicht, wenn er die Anwendung gar nicht kennt oder mit dieser keine Berührungspunkte hat, wie z.B. eine Anwendung, die vorwiegend im TaskTray &#8222;schlummert&#8220;. </div>
<h3>Weitere Hilfe</h3>
<p>Man kann auch auf einen Fenstertitel reagieren und anschließend das entsprechende Fenster schließen, etc. Dies ist in der <a href="https://helpfiles.matrix42-web.de/2025_DE/M42_WebDocu.htm#WM/UEM/SWM/SETUP/Referenz/Sections/SETUP_Section_16_Processes.htm" target="_blank" rel="noopener">Empirum Online Hilfe</a> ausgiebig erläutert.</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/">Dialog zum Schließen von Programmen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Software in der Systemsteuerung verstecken</title>
		<link>https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/</link>
					<comments>https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 09 Jul 2023 18:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Setup.inf]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2879</guid>

					<description><![CDATA[<p>Installiert man eine Software, wird diese anschließend in der Systemsteuerung unter Programme oder neuerdings unter Einstellungen, Apps, Installiert Apps angezeigt. Dies dient normalerweise dazu, dass man ein installierte Software anpassen oder deinstallieren kann. In einer &#8230; <a href="https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/">Software in der Systemsteuerung verstecken</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Installiert man eine Software, wird diese anschließend in der Systemsteuerung unter Programme oder neuerdings unter Einstellungen, Apps, Installiert Apps angezeigt. Dies dient normalerweise dazu, dass man ein installierte Software anpassen oder deinstallieren kann. In einer verwalteten oder neudeutsch &#8222;gemanagten&#8220; Umgebung wollen wir dies zum einen nicht, zum anderen kommt es beim Einsatz von Matrix42 Empirum ggf. dazu, das eine Software doppelt angezeigt wird.<span id="more-2879"></span></p>
<h3>Hintergrund</h3>
<p>Damit man eine Software mit Matrix42 Empirum verteilen kann, benötigt man ein Software-Paket. Dies muss im Falle von Matrix42 Empirum ein gewisses Format haben und ist am Ende eine Steuerdatei bzw. ein Skript mit dem Namen Setup.inf. Diese Setup.inf wird auch vom Matrix42 Package Wizard ein Paket erstellt, wenn man sich für die Installation einer MSI oder EXE, die unattended installiert werden kann, entscheidet. Der Vorteil ist, dass die Setup.inf neben der Fehler- bzw. Erfolgsbehandlung auch weitere Aufgaben übernehmen kann, die für diese Software nötig ist. Beispiele: Löschen der Desktop-Verknüpfung, Installation einer VCRedist vorab, Kopieren einer Datei danach, uvm.</p>
<h3>Warum nun doppelte Einträge?</h3>
<p>Die eben genannte Setup.inf ist im Ursprung eine Installationsroutine für Programme, die sich eben nicht &#8222;unattended&#8220; bzw. &#8222;silent&#8220; installieren lassen. Wenn man nun innerhalb der Setup.inf eine MSI oder EXE installiert, die selbst eine Installationsroutine mitbringt, haben wir eben zwei Installationsroutinen. Beide Installationsroutinen tragen sich in der Registry ein, womit sie dann in den oben genannten Dialogen erscheinen.</p>
<h3>Bei MSI Paketen ist dies nicht der Fall!</h3>
<p>Erstellt man mit dem Matrix42 Package Wizard ein Paket auf der Grundlage von MSI Quellen passiert das zumeist nicht &#8211; warum? In der MSI.inf Vorlage wird dem MSI Aufruf standardmäßig der Parameter ARPSYSTEMCOMPONENT=1 angehängt. Dieser MSI Parameter sorgt dafür, das die zu installierende Software anschließend mit dem Flag SYSTEMCOMPONENT versehen wird, welches die Anzeige in der Systemsteuerung bzw. unter Einstellungen unterdrückt wird: <a href="https://learn.microsoft.com/en-us/windows/win32/msi/arpsystemcomponent" target="_blank" rel="noopener">https://learn.microsoft.com/en-us/windows/win32/msi/arpsystemcomponent</a></p>
<h3>Was passiert da?</h3>
<p>Die Software bzw. die Anzeige in der Systemsteuerung bzw. unter Einstellungen wird zumeist über die Registry sichergestellt. Dazu legen die Installationsroutinen Einträge in den folgenden Registry Zweigen ab &#8230;<br />
64bit Programme bzw. Installationsroutinen:<br />
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall</p>
<p>32bit Programme bzw. Installationsroutinen:<br />
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall</p>
<p>Erstellt man nun in einem Zweig einer entsprechenden Software einen Eintrag: <strong>SYSTEMCOMPONENT</strong> vom Typ: <strong>REG_DWORD</strong> und setzt dessen Wert: <strong>1</strong>, so wird diese Software anschließend nicht mehr angezeigt.</p>
<h3>Empirum Inventory</h3>
<p>Dieses verstecken der Software bezieht sich nur auf die Anzeige direkt am Computer! Das Empirum Inventory erfasst trotz alledem beide Einträge, was man auch eher als Vorteil sehen sollte.</p>
<h3>Unatteded.inf Anpassung</h3>
<p>In der Setup.inf können wir diesen Wert nach der Installation durch Empirum auch selbsttätig setzen und löschen. Dazu sind die folgenden Anpassungen in der unattended.inf notwendig. Anpassen des Reg:Product Aufrufes unter [Product]. Der wahrscheinlich vorhandene Parameter ,DONTDELETE ist zu entfernen.</p>
<pre>[Product]
...
#Reg:Product
...</pre>
<p>Die Reg:Product Sektion ist entsprechend der Software anzupassen&#8230;</p>
<pre>[Reg:Product]
;32bit - oder [Setup] Platform Wert entsprechend setzen!
;HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\&lt;SoftwareName&gt;,SystemComponent,0x00010001,1
;64bit
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\&lt;SoftwareName&gt;,SystemComponent,0x00010001,1</pre>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/">Software in der Systemsteuerung verstecken</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum Setup.inf &#8211; Reparatur Unattended Setup</title>
		<link>https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/</link>
					<comments>https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 02 Jul 2023 17:46:31 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Setup.inf]]></category>
		<category><![CDATA[Unattended]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2877</guid>

					<description><![CDATA[<p>Vor einiger Zeit hatte ich eine Serie begonnen, die unattended.inf Paketvorlage zu verbessern. Dazu hatte ich bereits zwei Blog Beiträge geschrieben. Leider hatte mich die mangelnde Zeit etwas vom Pfad abgebracht, diese Serie weiter zu &#8230; <a href="https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/">Empirum Setup.inf &#8211; Reparatur Unattended Setup</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Vor einiger Zeit hatte ich eine Serie begonnen, die unattended.inf Paketvorlage zu verbessern. Dazu hatte ich bereits zwei Blog Beiträge geschrieben. Leider hatte mich die mangelnde Zeit etwas vom Pfad abgebracht, diese Serie weiter zu vervollständigen. Diesem will ich nun nachkommen. <span id="more-2877"></span>Wer diese Beiträge noch nicht gelesen hatte, dem stelle ich diese Beiträge hier nochmals vor:</p>
<ul>
<li>https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/</li>
<li>https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/</li>
</ul>
<h3>Reparatur Logik</h3>
<p>Das Resultat wird, je nach Betrachtung, nicht das Optimum darstellen. Meines Erachtens ist dies jedoch schon ein gutes Stück weiter als das Original. Wir betreiben also etwas Tuning :). In diesem Beitrag soll es um die Reparatur gehen.<br />
Das Reparatur-Handling hilft uns &#8230;</p>
<ul>
<li>für die Reparatur einer Software durch Deinstallation und Neuinstallation</li>
<li>falls die Software zuvor anderweitig ggf. manuell installiert wurde, damit diese zuvor deinstalliert wird</li>
<li>falls die Software durch das Matrix42 Patch-Management vielleicht schon auf eine andere Version angehoben wurde</li>
</ul>
<h3>Grober Ablauf</h3>
<p>Die Reparatur setzt grob auf folgenden Ablauf:<br />
1) Erkennung, ob diese Software ggf. auch in einer anderen Version bereits installiert ist.<br />
2) Falls ja, entfernen dieser Installation.<br />
3) Anschließend wird mit dem &#8222;normalen Installationsablauf&#8220; fortgefahren.</p>
<h3>Anpassungen</h3>
<p>Der nachfolgende Code-Schnipsel kann in die unattended.inf übernommen werden, oder ihr wartet noch die nächsten zwei Artikel ab und übernehmt dann eine gesamte unattended.inf. Was wird noch folgen? Erkennung und Abfangen von geöffneten Programmen, sowie &#8222;verstecken&#8220; der originären Installation in der Systemsteuerung unter &#8222;Programme&#8220;.</p>
<p>Falls ihr diesen Schnipsel nutzt &#8230;</p>
<p>In der [Product] Sektion muss vor die Installation die<br />
#CheckExistingInstallation, DONTDELETE<br />
eingebaut werden.</p>
<p>Die Erkennung bzw. das Deinstallationsprogramm hinter der Variablen &#8222;VM_UnInstCMD&#8220; muss angepasst werden.</p>
<h3>Code-Schnipsel</h3>
<pre>[CheckExistingInstallation]
;---setzen der Variable mit dem Deinstallationsprogramm
Set VM_UnInstCMD=%ProgramFilesDirx86%\My Program\unins000.exe
;---falls das Deinstallationsprogramm vorhanden ist, dann springe in die Sektion zu Deinstallation
If DoesFileExist ("%VM_UnInstCMD%") == "1" Then "DoUninstallBeforeInstall" EndIf

[DoUninstallBeforeInstall]
;---führe die Deinstallation durch und warte zur Sicherheit 3 Sekunden
-Call "%VM_UnInstCMD%" /S
Sleep 3000
;---Wurde die Deinstallation erfolgreich durchgeführt und ist die Deinstallationsroutine entfernt worden? Falls nicht, melde einen Fehler.
If DoesFileExist ("%VM_UnInstCMD%") == "1" Then "ErrorOnUninstallBeforeInstall" EndIf

[ErrorOnUninstallBeforeInstall]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% %VM_UnInstCMD%
Abort</pre>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/">Empirum Setup.inf &#8211; Reparatur Unattended Setup</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Setup.inf &#8211; Sektionen mehrfach aufrufen</title>
		<link>https://www.wpm-blog.de/setup-inf-sektionen-mehrfach-aufrufen/</link>
					<comments>https://www.wpm-blog.de/setup-inf-sektionen-mehrfach-aufrufen/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Mon, 01 Mar 2021 20:57:14 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2715</guid>

					<description><![CDATA[<p>Wer etwas über die Standard-Paketierung hinaus geht und seine eigenen Setup.inf Skripte &#8222;baut&#8220; ist vielleicht schon einmal schmerzlich aufgefallen, dass man eine Sektion nur einmal (1x) aufrufen kann. Möchte man einen Sektion mehrmals aufrufen und &#8230; <a href="https://www.wpm-blog.de/setup-inf-sektionen-mehrfach-aufrufen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/setup-inf-sektionen-mehrfach-aufrufen/">Setup.inf &#8211; Sektionen mehrfach aufrufen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wer etwas über die Standard-Paketierung hinaus geht und seine eigenen Setup.inf Skripte &#8222;baut&#8220; ist vielleicht schon einmal schmerzlich aufgefallen, dass man eine Sektion nur einmal (1x) aufrufen kann. Möchte man einen Sektion mehrmals aufrufen und hat keine &#8222;For &#8230; Next&#8220; Schleife, dann geht das auch. Dazu muss man den Sektionsaufruf, hier z.B. #Update in #!Update abändern.<span id="more-2715"></span></p>
<p>Mir ist es dies das erste Mal in der Setup.inf zum Empirum TFTP Dienst aufgefallen, indem Matrix42 es für einen wiederkehrenden Aufruf einer Log Sektion nutzt.<br />
In der Online-Hilfe ist dazu folgender Satz zu finden &#8220; &#8230; Befindet sich direkt hinter dem Zeichen &#8218;#&#8216; das Zeichen &#8218;!&#8216;, wird der Abschnitt auch ausgeführt, wenn er vorher schon ausgeführt wurde. &#8230;&#8220;</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/setup-inf-sektionen-mehrfach-aufrufen/">Setup.inf &#8211; Sektionen mehrfach aufrufen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/setup-inf-sektionen-mehrfach-aufrufen/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum Paket &#8211; Deinstallation ohne Quellen</title>
		<link>https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/</link>
					<comments>https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Wed, 21 Oct 2020 19:38:33 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2656</guid>

					<description><![CDATA[<p>Die Deinstallation eines Empirum Paketes sollte komplett lokal, ohne weiteren Zugriff auf die Installationsquellen, möglich sein. Die Zuweisung und Installation einer höheren Version mit dem Setup.inf Standardwert AskUninstallOld=1 setzt das schon fast voraus. Von Haus &#8230; <a href="https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/">Empirum Paket &#8211; Deinstallation ohne Quellen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Die Deinstallation eines Empirum Paketes sollte komplett lokal, ohne weiteren Zugriff auf die Installationsquellen, möglich sein. Die Zuweisung und Installation einer höheren Version mit dem Setup.inf Standardwert AskUninstallOld=1 setzt das schon fast voraus. Von Haus aus bringen die meisten Installer bereits ihre Deinstallationsroutine, in Form einer uninstall.exe im jeweiligen Programmverzeichnis, mit. Warum jetzt dieser Beitrag?<span id="more-2656"></span></p>
<h3>Unattended Uninstallation Dialog</h3>
<p>Wenn Du beim Nutzen des Package Wizards zum Erstellen einer &#8222;Unattended&#8220; sprich &#8222;Silent&#8220; Installation einer EXE an den Dialog zur Deinstallation kommst, kannst Du das &#8222;Basis Verzeichnis&#8220; nicht anpassen. In das Eingabefeld für das Deinstallationsprogramm kannst Du den Aufruf &#8222;C:\Program Files (x86)\My Program\unins000.exe&#8220; eintragen und den Assistenten erfolgreich beenden.</p>
<h3>Deinstallation schlägt fehl</h3>
<p>Die Tests zur Deinstallation des Programms im Rahmen der Paketierung schlagen fehl. Warum?</p>
<h3>Fehlersuche / Behebung</h3>
<p>Um herauszufinden, warum der Fehler auftritt, müssen wir uns die Abfolge der Befehle zur Deinstallation der Software in unserem erstellten Paket ansehen. Ein Blick in die Sektion [Set:Deinstallation] der Setup.inf, die für die Deinstallation zuständig ist, bringt den Fehler schnell zum Vorschein. Hier wird versucht, den folgenden Befehl auszuführen:</p>
<pre>-Call "<strong>%Src%\C:</strong>\Program Files (x86)\My Program\unins000.exe" /S</pre>
<p>Der Teil &#8222;%SRC%\C:\&#8230;&#8220; sieht nicht nur seltsam aus, sondern kann auch nicht funktionieren. Angepasst, sollte der Aufruf wie folgt ausschauen:</p>
<pre>-Call "C:\Program Files (x86)\My Program\unins000.exe" /S</pre>
<p>oder besser noch</p>
<pre>-Call "%ProgramFilesDirx86%\My Program\unins000.exe" /S</pre>
<p>Mit diesen Anpassungen sollte die Deinstallation nun erfolgreich durchgeführt werden.</p>
<h3>Anpassen der Vorlage</h3>
<p>Damit die Anpassung nicht immer wieder im erstellten Paket vorgenommen werden muss, passt man die Vorlage &#8222;Unattended.inf&#8220; (Empirum\Configurator\Packages\Matrix42\Packaging Center\&lt;Version&gt;\Templates) an. Dazu entfernt man aus der nachfolgenden Zeile:</p>
<pre>-Call "%Src%\{UnattDeInst}" {UnattDeInstPar}</pre>
<p>das %SRC%\ und macht daraus:</p>
<pre>-Call "{UnattDeInst}" {UnattDeInstPar}</pre>
<p>&nbsp;</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/">Empirum Paket &#8211; Deinstallation ohne Quellen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>ErrorLevel Abfrage bei Unattended Installationen</title>
		<link>https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/</link>
					<comments>https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Mon, 19 Oct 2020 19:33:23 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2652</guid>

					<description><![CDATA[<p>Matrix42 liefert eine Setup.inf Vorlage mit, die für &#8222;Silent&#8220; Installationen von EXE Dateien genutzt werden kann. Diese Vorlage ist jedoch meines Erachtens sehr &#8222;rudimentär&#8220; und an einer Stelle sogar gefährlich bis falsch. In den kommenden &#8230; <a href="https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/">ErrorLevel Abfrage bei Unattended Installationen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Matrix42 liefert eine Setup.inf Vorlage mit, die für &#8222;Silent&#8220; Installationen von EXE Dateien genutzt werden kann. Diese Vorlage ist jedoch meines Erachtens sehr &#8222;rudimentär&#8220; und an einer Stelle sogar gefährlich bis falsch. In den kommenden Tagen möchte ich mit Euch diese Vorlage Stück für Stück verändern. Wahrscheinlich gibt es am Ende immer noch &#8222;Luft&#8220; nach oben, da jeder noch ein paar andere Vorstellungen, Vorlieben, etc. hat. Doch halten wir es Mal wie mit einer Fahrt in den Urlaub &#8211; &#8222;der Weg ist das Ziel&#8220;.<span id="more-2652"></span></p>
<h3>Welche Datei meine ich denn nun genau?</h3>
<p>Es geht um die Unattended.inf im Empirum\Configurator\Packages\Matrix42\Packaging Center\&lt;Version&gt;\Templates Ordner. Diese wird bei der Auswahl &#8222;Unattended&#8220; im Verlaufe des &#8222;Package Wizards&#8220; herangezogen.</p>
<h3>Erfolgsüberprüfung</h3>
<p>Nach dem &#8222;silent&#8220; Aufruf einer EXE Datei, wird eine, wie ich sie nenne, &#8222;Erfolgsüberprüfung&#8220; durchgeführt. Denn jede Setup.inf, die nicht mit einem &#8222;Abort&#8220; beendet wird, wird per se als Erfolg gewertet. Sprich, wir sollten nach dem Aufruf eines externen Programms (Setup.exe, Installer, etc.) überprüfen, ob eingetroffen ist, was wir erwarten würden. Andernfalls, kann ein Paket ein &#8222;Success&#8220; zurückmelden und die Software ist nicht installiert.</p>
<h3>ErrorLevel Abfrage in der Vorlage</h3>
<p>Die oben angesprochene Setup.inf Vorlage prüft deswegen nach einem Aufruf einer Installation den ErrorLevel ab. Weit verbreitet ist ein ErrorLevel mit dem Wert 0 ein Erfolg. Deswegen enthält die Vorlage auch die nachfolgende Zeile:</p>
<pre>If "%ErrorLevel%" &lt;&gt; "0" Then "SET:InstallationError" EndIf</pre>
<p>Doch was passiert, wenn die Installation z.B. einen Wert von 3010 zurückliefert? Ist dann ein Fehler aufgetreten? Nein. Der Wert 3010 bedeutet beispielsweise, die Installation war erfolgreich, doch es wird zusätzlich ein Neustart benötigt. Microsoft hat es mit den MSI Installern begonnen und einige haben diese Werte übernommen oder rufen in ihrer EXE Datei eine MSI Installation auf und geben den ErrorLevel der MSI Installation zurück.</p>
<h3>Anpassung</h3>
<p>Diese Anpassung setzt automatisch eine Neustart-Anforderung für dieses Paket und wertet den Rückgabewert von 3010 nicht als Fehler.</p>
<pre>If "%ErrorLevel%" == "3010" Then "RebootRequired" EndIf
If "%ErrorLevel%" &lt;&gt; "0" &amp; "%ErrorLevel%" &lt;&gt; "3010" Then "SET:InstallationError" EndIf

[RebootRequired]
SetReboot 1
-SetReboot 1</pre>
<p>Wer noch weiter gehen möchte, für z.B. VCRedist Installationen oder Updates, der kann zusätzlich noch den Wert 1638 (Another version of this product is already installed) überprüfen.</p>
<h3>ErrorLevel oder gibt es auch andere Methoden</h3>
<p>Der ErrorLevel ist nicht die einzig wahre Methode. Natürlich kannst Du auch überprüfen, ob es einen bestimmten Registry Wert nach der Installation gibt, den es zuvor nicht gibt. Eine Überprüfung, ob die Software in Form ihrer ausführbaren Date vorhanden ist, kann genauso gut sein. Zu diesen Abfragen kommen wir dann bei den nächsten Tipps. Falls Du bereits Neugierig bist, so kannst Du in der Hilfe nach DoesRegKeyExist oder DoesFileExists suchen. Die DoesRegKeyExist Abfrage ist auch in der MSI.inf (Vorlage für MSI Installationen) enthalten ;-).</p>
<p>&nbsp;</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/">ErrorLevel Abfrage bei Unattended Installationen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum &#8211; NTFS Berechtigungen setzen</title>
		<link>https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/</link>
					<comments>https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 19 Nov 2017 16:30:56 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=1893</guid>

					<description><![CDATA[<p>Die Empirum Setup.inf bietet die Möglichkeiten, neben der eigentlichen Installation eines Programmes, die Berechtigungen auf eine Datei oder Verzeichnis anzupassen. Somit ist alles was zur Installation und Nutzung eines Programmes gehört in der Setup.inf vereint. &#8230; <a href="https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/">Empirum &#8211; NTFS Berechtigungen setzen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Die Empirum Setup.inf bietet die Möglichkeiten, neben der eigentlichen Installation eines Programmes, die Berechtigungen auf eine Datei oder Verzeichnis anzupassen. Somit ist alles was zur Installation und Nutzung eines Programmes gehört in der Setup.inf vereint.<span id="more-1893"></span></p>
<p>Die Anpassung der NTFS Berechtigung ist dann notwendig, wenn das paketierte Programm:</p>
<ul>
<li>in Laufzeit Änderungen im gleichen Verzeichnis vornimmt (INI+LOG Dateien, o.ä)</li>
<li>eine AutoUpdate Funktionen für sich selbst anbietet</li>
</ul>
<h2>Wo und wie wird die Berechtigungsvergabe vorgenommen?</h2>
<p>Die &#8222;Wo&#8220; Frage ist recht einfach beantwortet. Dafür gibt es die [Security:Product] Sektion. Die Security:Product Sektion muss nach der Installation durchgeführt werden, damit der Ordner oder die Dateien bereits vorhanden sind. In den Standard Inf Vorlagen ist dies auch der Fall.</p>
<h3>Kommen wir zur &#8222;Wie&#8220; Frage &#8230;</h3>
<p>Um die Berechtigung zu setzen, gibt für Windows 2000 und neuer den Befehl FileDaclEx.Add. Der Befehl ist in der Setup.inf wie folgt aufgebaut:<br />
FileDaclEx.Add (&lt;Datei&gt;, &lt;Name&gt;, &lt;Operation&gt;, &lt;Rechte&gt;, &lt;Vererbung&gt;)</p>
<p>Will man nun der Gruppe der lokalen Benutzer, der im Standard alle Domänen Benutzer angehören Vollzugriff gewähren, dann sieht der Befehl wie folgt aus:</p>
<pre>FileDaclEx.Add ("%App%", "%$LocalUsers%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)</pre>
<p>Will man jedoch nicht so freizügig mit den Berechtigungen umgehen und der Gruppe lediglich Ändern Berechtigungen geben, dann wird der Befehl etwas komplexer, da es für Ändern (Change) keine einzelne Berechtigung gibt. Die Berechtigung &#8222;Ändern&#8220; entspricht den nachfolgenden Teil-Berechtigungen: TRAVERSE LIST_DIRECTORY READ_ATTRIBUTES READ_EA ADD_FILE ADD_SUBDIRECTORY WRITE_ATTRIBUTES WRITE_EA DELETE READ_DAC EXECUTE</p>
<p>Das sieht in der Windows 10 Oberfläche nicht viel anders aus, wenn man mal in den Sicherheitseinstellungen unter Erweitert nachschaut.</p>
<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2017/11/Windows-Explorer-NTFS-Change.png?x39343"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-1896" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2017/11/Windows-Explorer-NTFS-Change.png?x39343" alt="Windows Explorer NTFS Change" width="596" height="173" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2017/11/Windows-Explorer-NTFS-Change.png 596w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2017/11/Windows-Explorer-NTFS-Change-300x87.png 300w" sizes="(max-width: 596px) 100vw, 596px" /></a></p>
<p>Wie sieht nun ein solcher Befehl in der Praxis aus? Hier ein paar Beispiele:</p>
<pre>FileDaclEx.Add ("%App%", "%$LocalUsers%", GRANT, TRAVERSE LIST_DIRECTORY READ_ATTRIBUTES READ_EA ADD_FILE ADD_SUBDIRECTORY WRITE_ATTRIBUTES WRITE_EA DELETE READ_DAC, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

FileDaclEx.Add ("%ProgramFiles%\%Developername%", "%$LocalUsers%", GRANT, TRAVERSE LIST_DIRECTORY READ_ATTRIBUTES READ_EA ADD_FILE ADD_SUBDIRECTORY WRITE_ATTRIBUTES WRITE_EA DELETE READ_DAC, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

FileDaclEx.Add ("%App%\Application.ini", "%$LocalUsers%", GRANT, TRAVERSE LIST_DIRECTORY READ_ATTRIBUTES READ_EA ADD_FILE ADD_SUBDIRECTORY WRITE_ATTRIBUTES WRITE_EA DELETE READ_DAC, SUB_CONTAINERS_AND_OBJECTS_INHERIT)</pre>
<p>Wenn ihr diese Anforderung häufiger habt, so könnt ihr einen der obigen Befehle in eure Paketierungsvorlagen (Template.inf, MSI.inf, Unattend.inf) einbauen und bei Bedarf den Kommentar (;) wegnehmen und den Befehl den Anforderungen nach anpassen.</p>
<h2>Ist das alles?</h2>
<p>Weiterführende Informationen, da die Security:Sektion noch mehr kann als NTFS Berechtigungen zu setzen:</p>
<ul>
<li>Welche Befehle darüber hinaus zur Verfügung stehen und welche andere Berechtigungen ihr setzen könnt, findet ihr in der Online Hilfe unter &#8222;<a href="https://helpfiles.matrix42-web.de/2017_DE/M42_WebDocu.htm#WM/PWM/SWM/SETUP/Referenz/Sections/Options/SETUP_Section_43_Security_Name.htm%3FTocPath%3DUnified%2520Endpoint%2520Management%7CEmpirum%7C-%2520Client%2520Software%2520-%7CSETUP%7CTechnische%2520Referenz%7CDie%2520Abschnitte%2520der%2520Setup.inf%7C%255BOptions%255D%7C_____17" target="_blank">Security:Product</a>&#8222;.</li>
<li>Welche Benutzer bzw. Gruppen per Variable und somit sprachunabhängig zur Verfügung stehen findet ihr am Ende der Tabelle &#8222;<a href="https://helpfiles.matrix42-web.de/2017_DE/M42_WebDocu.htm#WM/PWM/SWM/SETUP/Referenz/Sections/SETUP_Section_12_Environment.htm#EnvironmentVariables%3FTocPath%3DUnified%2520Endpoint%2520Management%7CEmpirum%7C-%2520Client%2520Software%2520-%7CSETUP%7CTechnische%2520Referenz%7CTabellen%7C_____7" target="_blank">Vordefinierte Umgebungsvariablen</a>&#8220; der Online-Hilfe.</li>
</ul>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/">Empirum &#8211; NTFS Berechtigungen setzen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Page Caching using Disk: Enhanced 
Minified using Disk
Database Caching 2/66 queries in 0.019 seconds using Disk

Served from: www.wpm-blog.de @ 2026-07-25 20:30:20 by W3 Total Cache
-->