<?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>You searched for cmd - Workplace Management Blog</title>
	<atom:link href="https://www.wpm-blog.de/search/cmd/feed/rss2/" rel="self" type="application/rss+xml" />
	<link>https://www.wpm-blog.de/</link>
	<description>... ideas and solutions making workplace management easier</description>
	<lastBuildDate>Sun, 24 Nov 2024 16:16:18 +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>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 Setup.inf &#8211; Variablen</title>
		<link>https://www.wpm-blog.de/empirum-setup-inf-variablen/</link>
					<comments>https://www.wpm-blog.de/empirum-setup-inf-variablen/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Tue, 07 Nov 2023 16:22:05 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2888</guid>

					<description><![CDATA[<p>In der Empirum Setup.inf sollte man vorrangig Variablen anstatt absoluter Werte nutzen. Dies hilft, um auf verschiedene Betriebssystem-Versionen und Sprachen passend zu reagieren. Somit kann das erstellte Paket, im besten Falle, viele Jahre problemlos genutzt &#8230; <a href="https://www.wpm-blog.de/empirum-setup-inf-variablen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-setup-inf-variablen/">Empirum Setup.inf &#8211; Variablen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In der Empirum Setup.inf sollte man vorrangig Variablen anstatt absoluter Werte nutzen. Dies hilft, um auf verschiedene Betriebssystem-Versionen und Sprachen passend zu reagieren. Somit kann das erstellte Paket, im besten Falle, viele Jahre problemlos genutzt werden bzw. relativ problemlos eine Nachfolgeversion paketiert werden. Die Empirum Hilfe bietet eine große <a href="https://helpfiles.matrix42-web.de/2023_DE/M42_WebDocu.htm#WM/UEM/SWM/SETUP/Referenz/Sections/SETUP_Section_12_Environment.htm#EnvironmentVariables?TocPath=Unified%2520Endpoint%2520Management%257CEmpirum%257C-%2520Client%2520Software%2520-%257CSETUP%257CTechnische%2520Referenz%257CTabellen%257C_____7" target="_blank" rel="noopener">Tabelle</a> an Variablen, aber am Ende nutzt man zumeist immer wieder die Gleichen. Neben den Variablen, die Empirum in der Setup.inf bietet kann man jederzeit auch auf die <a href="https://www.wpm-blog.de/umgebungsvariablen/" target="_blank" rel="noopener">Umgebungsvariablen</a> des Systems zurückgreifen.<span id="more-2888"></span></p>
<h3>Variablen</h3>
<p>Nachfolgend sollten die meistgenutzten Variablen aufgeführt sein. Falls ihr eine Variable häufig nutzt, die hier nicht aufgeführt ist, so lasst es mich wissen.</p>
<table>
<tbody>
<tr>
<td><strong>Variable</strong></td>
<td><strong>Erklärung / Beispiel</strong></td>
</tr>
<tr>
<td>%Developername%</td>
<td>Wert der in der [Application] Sektion angegeben ist (z.B.: Adobe)</td>
</tr>
<tr>
<td>%ProductName%</td>
<td>Wert der in der [Application] Sektion angegeben ist (z.B.: Reader)</td>
</tr>
<tr>
<td>%Version%</td>
<td>Wert der in der [Application] Sektion angegeben ist (z.B.: 23.0)</td>
</tr>
<tr>
<td>%Revision%</td>
<td>Wert der in der [Application] Sektion angegeben ist (z.B.: 0)</td>
</tr>
<tr>
<td>%Src%</td>
<td>Verzeichnis parallel zum Install Verzeichnis (SrcDir=.. ein Verzeichnis &#8222;zurück&#8220; von dem Ablageort der Setup.inf).</td>
</tr>
<tr>
<td>%App%</td>
<td>Das Verzeichnis, dass unter ApplicationDir= in der [Application] Sektion angegeben ist.</td>
</tr>
<tr>
<td>%ProgramFiles% oder %ProgramFilesDir%</td>
<td>Beispiel: C:\Program Files</td>
</tr>
<tr>
<td>%ProgrammFiles(x86)% oder%ProgramFilesDirx86%</td>
<td>Beispiel: C:\Program Files (x86)</td>
</tr>
<tr>
<td>%AppData%</td>
<td>Beispiel: C:\Users\&lt;Benutzername&gt;\AppData\Roaming</td>
</tr>
<tr>
<td>%LocalAppData%</td>
<td>Beispiel: C:\Users\&lt;Benutzername&gt;\AppData\Local</td>
</tr>
<tr>
<td>%WinDir%</td>
<td>C:\Windows</td>
</tr>
<tr>
<td>%CommonPrograms%</td>
<td>Verzeichnis, in dem die Startmenü\Programme Verknüpfungen aller Benutzer abgelegt sind.</td>
</tr>
<tr>
<td>%CommonDesktop%</td>
<td>Verzeichnis, in dem die Desktop Verknüpfungen aller Benutzer abgelegt sind.</td>
</tr>
<tr>
<td>%UserPrograms%</td>
<td>Verzeichnis, in dem die Startmenü\Programme Verknüpfungen des angemeldeten Benutzer abgelegt sind.</td>
</tr>
<tr>
<td>%UserDesktop%</td>
<td>Verzeichnis, in dem die Desktop Verknüpfungen des angemeldeten Benutzer abgelegt sind.</td>
</tr>
<tr>
<td>%Programdata% oder %AllUsersProfile%</td>
<td>Gemeinsames Programmverzeichnis, z.B.: C:\ProgramData</td>
</tr>
<tr>
<td>%WindowsUser%</td>
<td>der angemeldete Windows Benutzer, ähnlich der Variable %Username%</td>
</tr>
<tr>
<td>%Computername%</td>
<td>Name des Computers</td>
</tr>
<tr>
<td>%ComSpec%</td>
<td>cmd.exe</td>
</tr>
</tbody>
</table>
<h3>Beispiele</h3>
<pre>Del "%CommonDesktop%\WinSCP.lnk"

Del "%CommonPrograms%\TotalCommander Repair und Uninstall.lnk"

Deltree "%ProgramFiles%\WinSCP"

Callhidden %ComSpec% /C Echo %%date%% %%time%% [Set:Product] Install or repair &gt;&gt;"%App%\Debug.log"

Copy "%Src%\filezilla.xml" "%App%\FileZilla.xml"

Copy "%App%\filezilla.xml" "%AppData%\FileZilla\FileZilla.xml"

</pre>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-setup-inf-variablen/">Empirum Setup.inf &#8211; Variablen</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-variablen/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>Empirum WinPE Boot Troubleshooting</title>
		<link>https://www.wpm-blog.de/empirum-winpe-boot-troubleshooting/</link>
					<comments>https://www.wpm-blog.de/empirum-winpe-boot-troubleshooting/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sat, 06 Apr 2019 16:37:18 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[OS Installer]]></category>
		<category><![CDATA[WinPE]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2164</guid>

					<description><![CDATA[<p>Matrix42 bietet nun seit einer geraumen Zeit die Alternative WinPE als PXE-Bootmedium für die Windows 10 Installation an. In Kürze wird damit auch die automatisierte Installation von Windows 7 und der Windows Server Versionen möglich &#8230; <a href="https://www.wpm-blog.de/empirum-winpe-boot-troubleshooting/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-winpe-boot-troubleshooting/">Empirum WinPE Boot Troubleshooting</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Matrix42 bietet nun seit einer geraumen Zeit die Alternative WinPE als PXE-Bootmedium für die Windows 10 Installation an. In Kürze wird damit auch die automatisierte Installation von Windows 7 und der Windows Server Versionen möglich sein. Damit werden weitere Grundlagen geschaffen, den herkömmlichen EPE PXE-Boot für Windows Installationen obsolet zu machen. <span id="more-2164"></span>Die Installation per WinPE ist in der Empirum Welt ein Bruch mit dem vorhandenen Vorgehen, dass ich jedoch nicht negativ werten möchte. Die Möglichkeiten sind vielfältiger, die Umsetzung dagegen noch jung und somit nicht so umfänglich wie der vorhandene EPE PXE-Boot.</p>
<p>Der WinPE PXE-Boot bootet ein von Empirum modifiziertes bzw. ergänztes Windows PE. Das WinPE wurde im Bedarf um weitere Treiber ergänzt, aber auf jeden Fall um nützliche Libraries und den Matrix42 UAF Dienst. Letzterer führt die zugewiesenen PreOS-Packages (Powershell &#8222;Pakete&#8220;) aus und bedient sich der gesetzten Variablen. Diese zugewiesenen Pakete beschreiben die Art und Weise, wie z.B. die Betriebssystem-Installation stattfinden soll. Auf weitere Einzelheiten und Vergleiche mit dem EPE Boot werde ich an anderer Stelle eingehen.</p>
<p>So gliedert sich der WinPE PXE-Bootvorgang in:</p>
<ul>
<li>Laden und Ausführen der WinPE Umgebung</li>
<li>Laden des Matrix42 UAF Dienstes</li>
<li>Verarbeiten der PreOS-Packages</li>
</ul>
<p>Nun zu möglichen Problemen und Maßnahmen/Hilfestellungen zur Bearbeitung.</p>
<h3>Laden der Windows PE Umgebung</h3>
<p>Schlägt bereits das Laden der WinPE Umgebung fehl, so könnte dies ggf. an der TFTP Blocksize liegen. Diese kann bis Empirum v19 global in der .config Datei des BTQH (Backend Task Queue Host Services) Dienstes eingestellt werden. Standardmäßig steht dieser Wert auf 4096. Mit größeren Werten kann man den Boot beschleunigen. Damit kann er jedoch unzuverlässiger werden. In einem Falle musste ich die Größe auf 1456 festsetzen, damit der Boot zuverlässig an allen Standorten funktioniert hat.</p>
<h3>Windows PE ist gestartet</h3>
<p>Sobald das Windows PE gestartet ist, kann mittels <strong>STRG+C</strong> auf die Kommandozeile und per <strong>STRG+L</strong> direkt auf die Log Datei des UAF Dienstes zugegriffen werden. Die Windows PE Umgebung befindet sich unter X:\. Der UAF Dienst liegt im Ordner X:\UAF. Das wpeinit.log unter X:\Windows\System32.</p>
<h3>Herstellen einer Netzwerkverbindung</h3>
<p>Damit der im WinPE implementierte UAF Dienst seine Aufträge abarbeiten kann, bedarf es einer grundlegenden Netzwerkverbindung. Diese Verbindung wird durch Laden und Starten des Netzwerk-Stacks durch die  X:\Windows\StartNet.cmd und nachvollziehbar durch die wpeinit.log  vorgenommen (QueryAdapterStatus ist hier das passende Suchwort). Kann das WinPE keine Netzwerkverbindung aufbauen, kann es notwendig sein, das WinPE mit Netzwerk- und/oder Speicherverwaltungs-Treibern (Storage) zu versorgen. Dies geht über die Bootkonfiguration und wird in einem anderen Beitrag erläutert.</p>
<h3>DeviceMapping.xml</h3>
<p>Die DeviceMapping.xml im \\%EmpirumServer%\Values$ Verzeichnis stellt die Verbindung MAC-Adresse bzw. UUID zum Computernamen her. Somit darf jede MAC Adresse bzw. UUID auch nur einmal in der DeviceMapping.xml vorhanden sein. Beim Einsatz von SubDepots muss zusätzlich beachtet werden, dass es für die DeviceMapping Datei einen separaten SyncJob (ESubdepot_DeviceMapping) gibt, der zugewiesenen werden muss.</p>
<h3>UAF &#8211; Auftragsverarbeitung</h3>
<p>Das Vorgehen des UAF Dienstes wird im Matrix42.Platform.Service.Host.log festgehalten. Wie zuvor beschrieben, kann dies per <strong>STRG+L</strong> geöffnet werden. Um Neuerungen mitzubekommen, muss man ggf. das Fenster schließen und erneut aufrufen. Nach einer UAF Sitzung wird das Log auf den EmpirumServer zurückgeschrieben. In Empirum v18 bzw. WinPE 1.4.14 ist das das Verzeichnis \\%EmpirumServer%\EmpInst$\Wizard\OS\Auto\&lt;letzten8 Stellen der MAC-Adrese&gt; bzw. &lt;UUID&gt;.</p>
<h3>PXE-Image / WADK Version</h3>
<p>Wenn man die neuen WinPE Versionen einsetzt, sollte man wie ein Blog-Leser zusätzlich darauf hingewiesen hat, sicherstellen, dass man die aktuelle WADK Version auf dem EmpirumServer installiert hat. Matrix42 empfiehlt den Einsatz der WADK Version 1903 (eine Version 1909 wird nicht von Microsoft bereitgestellt). Mit dem WADK 1903 habe ich bis dato keine schlechten Erfahrungen gemacht, ganz gleich ob Windows 10 Enterprise 2016 LTSB oder Windows 10 Build 1909 installiert wurde. Zusätzlich sollte man darauf achten, dass die PXE-Image Erstellung (unter Konfiguration\Boot-Konfiguration) <a href="https://www.wpm-blog.de/empirum-winpe-pxe-image-erstellung/">erfolgreich</a> ist. Die aktualisierten PreOS Pakete funktionieren auch nur zuverlässig mit einer zu der Version passenden Boot-Konfiguration bzw. aktualisierten PXE-Image.</p>
<div class="grey-box"><strong>Update:</strong> In neueren WinPE Versionen werden die Log Dateien nach \\%EmpirumServer%\EmpInst$\Wizard\OS\WinPEStatus\%Domain%_%Computername% geschrieben .</div>
<div class="grey-box"><strong>Hinweis:</strong> Bis WinPE 1.4.14 (mindestens) werden die Log Dateien nicht überschrieben, wenn zwischenzeitlich ein Neustart stattgefunden hat.</div>
<p>&nbsp;</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-winpe-boot-troubleshooting/">Empirum WinPE Boot Troubleshooting</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-winpe-boot-troubleshooting/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Windows 8.1 und .NET Framework 3.5</title>
		<link>https://www.wpm-blog.de/windows-8-1-und-net-framework-3-5/</link>
					<comments>https://www.wpm-blog.de/windows-8-1-und-net-framework-3-5/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Fri, 08 Aug 2014 17:18:22 +0000</pubDate>
				<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[OS Installer]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=1305</guid>

					<description><![CDATA[<p>Windows 8.1 enthält das .NET Framework 3.5 bereits in den Betriebssystemquellen. Man installiert das .NET Framework somit über die &#8222;Windows Features&#8220;. Damit man das &#8222;Feature&#8220; auch direkt nach seiner unattended Windows 8.1 Installation nutzen kann, muss man &#8230; <a href="https://www.wpm-blog.de/windows-8-1-und-net-framework-3-5/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/windows-8-1-und-net-framework-3-5/">Windows 8.1 und .NET Framework 3.5</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2014/08/windows8.png?x39343"><img decoding="async" loading="lazy" class="alignleft size-thumbnail wp-image-1296" title="Windows 8 Logo" src="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2014/08/windows8-150x150.png?x39343" alt="" width="150" height="150" srcset="https://www.wpm-blog.de/wpmblog/wp-content/uploads/2014/08/windows8-150x150.png 150w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2014/08/windows8-300x300.png 300w, https://www.wpm-blog.de/wpmblog/wp-content/uploads/2014/08/windows8.png 480w" sizes="(max-width: 150px) 100vw, 150px" /></a>Windows 8.1 enthält das .NET Framework 3.5 bereits in den Betriebssystemquellen. Man installiert das .NET Framework somit über die &#8222;Windows Features&#8220;. Damit man das &#8222;Feature&#8220; auch direkt nach seiner unattended Windows 8.1 Installation nutzen kann, muss man dieses Feature &#8222;aktivieren&#8220;.</p>
<p>Was benötigt man dazu?<span id="more-1305"></span></p>
<h3>WADK</h3>
<p>Das <a title="Windows Assessment and Deployment Kit (Windows ADK) für Windows 8.1 Update" href="http://www.microsoft.com/de-de/download/details.aspx?id=39982http://" target="_blank">WADK</a> (Windows Assessment and Deployment Kit) für Windows 8.1 wird zur &#8222;Behandlung&#8220; der Windows 8.1 Quellen benötigt &#8211; hier im Speziellen die DISM.EXE.</p>
<h3>SXS Ordner der Windows 8.1 Installationsquellen</h3>
<p>Der SXS Ordner enthält unter anderem die Quellen für das .NET Framework 3.5 &#8222;Feature&#8220;. Dieser Ordner befindet sich in den Windows 8.1 Quellen unter sources/sxs.</p>
<h3>Aktivieren!</h3>
<p>Das Aktivieren des &#8222;Features&#8220; funktioniert über das Mounten der Install.wim Datei, Aktivieren des &#8222;Features&#8220; und Unmounten der Install.wim. Man kann dies Schritt für Schritt mit den entsprechenden DISM Befehlen durchführen. Ich habe die Abfolge in eine Batch Datei gepackt, die hier zum Download anhängt.</p>
<p>Danke an Peter für die Zuarbeit!</p>
<p>Hier die ActivateNETFX35.cmd zum Download:  <a  data-e-Disable-Page-Transition="true" class="download-link" title="Version 1.0" href="https://www.wpm-blog.de/download/1501/?tmstv=1776793718" rel="nofollow" id="download-link-1501" data-redirect="false" >
	ActivateNETFX35	(1312 Downloads	)
</a>
</p>
<p>&nbsp;</p>
<p>Update &#8211; Version 2 (Fehler beim Ändern der WIM abgefangen)</p>
<p>Hier die ActivateNETFX35.cmd zum Download:  <a  data-e-Disable-Page-Transition="true" class="download-link" title="Version 2.0" href="https://www.wpm-blog.de/download/1503/?tmstv=1776793718" rel="nofollow" id="download-link-1503" data-redirect="false" >
	ActivateNETFX35v2	(1539 Downloads	)
</a>
</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/windows-8-1-und-net-framework-3-5/">Windows 8.1 und .NET Framework 3.5</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/windows-8-1-und-net-framework-3-5/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum OS-Installationsinformationen in der Registry speichern</title>
		<link>https://www.wpm-blog.de/empirum-os-installationsinformationen-in-der-registry-speichern/</link>
					<comments>https://www.wpm-blog.de/empirum-os-installationsinformationen-in-der-registry-speichern/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Wed, 28 Aug 2013 17:34:42 +0000</pubDate>
				<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[OS Installer]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=1089</guid>

					<description><![CDATA[<p>Die Empirum OS-Installation legt in der Registry des installierten Computers Informationen ab. Dazu gehören die Empirum MachineID und wenn es dazu ein Hardware-Profil gibt, auch die angegebene Bezeichnung. Der Artikel &#8222;Integration von Updates in Windows &#8230; <a href="https://www.wpm-blog.de/empirum-os-installationsinformationen-in-der-registry-speichern/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-os-installationsinformationen-in-der-registry-speichern/">Empirum OS-Installationsinformationen in der Registry speichern</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 OS-Installation legt in der Registry des installierten Computers Informationen ab. Dazu gehören die Empirum MachineID und wenn es dazu ein Hardware-Profil gibt, auch die angegebene Bezeichnung. Der Artikel &#8222;<a title="Integration von Updates in Windows 7 SP1 Quellen" href="https://www.wpm-blog.de/integration-von-updates-in-windows-7-sp1-quellen/" rel="bookmark" target="_blank">Integration von Updates in Windows 7 SP1 Quellen</a>&#8220; beschreibt, wie man die Betriebssystemquellen zur Installation aktualisiert. <span id="more-1089"></span>Wenn man nun nachvollziehen möchte, mit welchen Quellen (z.B.: Updatestand) ein Computer installiert wurde, so ist dies im nachhinein nur schwer nachvollziehbar.</p>
<p>Die Informationen, welche Betriebssystemkonfiguration und welches Quellverzeichnis genutzt wird, steht jedoch zur Installationszeit zur Verfügung. Mit der Anpassung der &#8222;end_winvista.eis&#8220; aus dem Verzeichnis \\%EmpirumServer%\EmpInst$\Wizard\Scripts2\Custom stehen diese Informationen nach der Installation dauerhaft zur Verfügung. Die nachfolgenden Zeilen müssen zur &#8222;end_winvista.eis&#8220; Datei hinzugefügt werden. Wer weitere Informationen für sich interessant findet, kann den Tipp auch auf weitere Werte der OS.INI ausweiten.</p>
<pre>;ServicePack definies the folder containing the os source files
TEXTOUT %HDM%Postjob/POSTSYS.CMD %%windir%%\System32\reg.exe ADD "HKLM\SOFTWARE\MATRIX42\Empirum Installer" /v ServicePackLevel /t REG_SZ /d "%ServicePack%" /f &gt;&gt;%%PostsysLog%%

;Write the used OS-Template to the registry
IF "%TemplateName%"&lt;&gt;"" THEN  
 TEXTOUT %HDM%Postjob/POSTSYS.CMD %%windir%%\System32\reg.exe ADD "HKLM\SOFTWARE\MATRIX42\Empirum Installer" /v OS_Template /t REG_SZ /d "%TemplateName%" /f &gt;&gt;%%PostsysLog%%
ENDIF</pre>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-os-installationsinformationen-in-der-registry-speichern/">Empirum OS-Installationsinformationen in der Registry speichern</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-os-installationsinformationen-in-der-registry-speichern/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum Kopierbefehl und Kopierflags</title>
		<link>https://www.wpm-blog.de/empirum-kopierbefehl-und-kopierflags/</link>
					<comments>https://www.wpm-blog.de/empirum-kopierbefehl-und-kopierflags/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Mon, 10 Dec 2012 18:30:56 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=556</guid>

					<description><![CDATA[<p>Die Kopierfunkion in der Setup.inf von Empirum bietet viele Möglichkeiten. Ich möchte heute die eine Reihe der Möglichkeiten erläutern. Wichtig ist im ersten Schritt mindestens die folgenden Variablen der Setup.inf zu kennen. %SRC% entspricht dem &#8230; <a href="https://www.wpm-blog.de/empirum-kopierbefehl-und-kopierflags/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-kopierbefehl-und-kopierflags/">Empirum Kopierbefehl und Kopierflags</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Die Kopierfunkion in der Setup.inf von Empirum bietet viele Möglichkeiten. Ich möchte heute die eine Reihe der Möglichkeiten erläutern.<span id="more-556"></span></p>
<p>Wichtig ist im ersten Schritt mindestens die folgenden Variablen der Setup.inf zu kennen.</p>
<ul>
<li><strong>%SRC%</strong> entspricht dem Source-Directory (SrcDir=) &#8211; das Verzeichnis &#8222;auf Höhe&#8220; des Install Verzeichnisses bzw. unter dem Versionverzeichnis. %SRC% = <strong>&lt;Hersteller&gt;\&lt;Softwarename&gt;\&lt;Version&gt;</strong>.</li>
<li><strong>%APP%</strong> entspricht dem %ApplicationDir% aus der Sektion [Application], zumeist das <strong>Zielverzeichnis</strong> für eine Installation.</li>
</ul>
<h3>Syntax</h3>
<p>Hier nun die Syntax für den Kopierbefehl:<br />
1:Quelldatei,Zielverzeichnis,Kopierflag,Größe</p>
<h3>Beispiel</h3>
<p>Diese Zeile:<br />
1:WinCmd.exe, ,NORMAL, 123456<br />
kopiert die Datei WinCmd.exe mit der Größe 123456 aus dem %SRC% Verzeichnis in das %ApplicationDir% Verzeichnis.</p>
<h3>Quelldatei</h3>
<p>Die Quelldatei wird am dem Verzeichnis %SRC% angegeben.</p>
<h3>Zielverzeichnis</h3>
<p>Ist beim Zielverzeichnis nichts angegeben, wird %ApplicationDir% gesetzt.</p>
<h3>Kopierflag</h3>
<p>Das einfachste Kopierflag ist NORMAL.</p>
<p>Dieses Kopierflag sorgt dafür, dass die aktuellste Datei im Ziel (auf dem Clientcomputer) &#8222;landet&#8220;. Ist bereits eine aktuellere Datei auf dem Computer als in der Quelle, so wird die Datei nicht vom Server (Empirum Paket) überschrieben.</p>
<p>Empirum bietet eine Fülle an Kopierflags.<br />
Hier führe ich die häufigst genutzten Befehle auf. Eine komplette Übersicht ist jedoch <a title="Kopierflags" href="https://helpfiles.matrix42-web.de/2024_DE/M42_WebDocu.htm#WM/UEM/SWM/SETUP/Referenz/Sections/Options/SETUP_Section_24_Options_Name.htm#CopyFlags" target="_blank" rel="noopener">hier</a> wieder zu finden.</p>
<ul>
<li>NORMAL &#8211; Die Datei wird nur kopiert, wenn sie neuer ist als das Ziel.</li>
<li>ALWAYS &#8211; Die Datei wird immer kopiert.</li>
<li>CLIENT &#8211; Die Datei wird im Benutzerteil/Benutzerkontext kopiert.</li>
<li>DONTDELETE &#8211; Die Datei wird beim Deinstallieren des Paketes nicht gelöscht.</li>
<li>SHAREDDLL &#8211; Der Zähler bei gemeinsam genutzten DLLs auch hoch und runtergezählt.</li>
<li>USEFILENAME &#8211; Die Datei wird ohne den Quellpfad in das Ziel kopiert.</li>
<li>WINDOWS32 &#8211; nur bei Windows 32bit Betriebssystemen ausführen</li>
<li>WINDOWS64 &#8211; nur bei Windows 64bit Betriebssystemen ausführen</li>
</ul>
<p>Es können auch mehrere Kopierflags mit einem Leerzeichen getrennt angegeben werden.</p>
<h3>Größe</h3>
<p>Die Größe bestimmt, wie sich in einem Paket mit Empirum Kopierbefehlen der Fortschrittsbalken verhält. Man kann die Größe auch auf &#8222;0&#8220; setzen, dann wird die Größe ignoriert.</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-kopierbefehl-und-kopierflags/">Empirum Kopierbefehl und Kopierflags</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-kopierbefehl-und-kopierflags/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 using Disk

Served from: www.wpm-blog.de @ 2026-04-21 18:48:38 by W3 Total Cache
-->