<?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 comspec - Workplace Management Blog</title>
	<atom:link href="https://www.wpm-blog.de/search/comspec/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>Wed, 08 Nov 2023 10:35:01 +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>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>UAC Meldungen bei der Reinstallation von MSI Paketen</title>
		<link>https://www.wpm-blog.de/uac-meldungen-bei-msi-paketen/</link>
					<comments>https://www.wpm-blog.de/uac-meldungen-bei-msi-paketen/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Tue, 09 Dec 2014 19:14:27 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Software Management]]></category>
		<category><![CDATA[Softwareverteilung]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=1444</guid>

					<description><![CDATA[<p>Seit geraumer Zeit kann es zu UAC Meldungen bei der Reinstallation von MSI Paketen kommen. Ich habe auch schon die Meldung bekommen das es auch bei Installationen passiert ist. Was ist der Hintergrund und wie &#8230; <a href="https://www.wpm-blog.de/uac-meldungen-bei-msi-paketen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/uac-meldungen-bei-msi-paketen/">UAC Meldungen bei der Reinstallation von MSI Paketen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Seit geraumer Zeit kann es zu UAC Meldungen bei der Reinstallation von MSI Paketen kommen. Ich habe auch schon die Meldung bekommen das es auch bei Installationen passiert ist. Was ist der Hintergrund und wie kann sich behelfen.<span id="more-1444"></span></p>
<h3>MS14-049</h3>
<p>Microsoft hat im Oktober 2014 einen Patch unter der Bulletin ID <a title="MS14-049" href="https://technet.microsoft.com/en-US/en-En/library/security/ms14-049.aspx" target="_blank">MS14-049</a> veröffentlicht. Dieser Patch schließt eine Lücke im Windows Installer Dienst: &#8222;Vulnerability in Windows Installer Service Could Allow Elevation of Privilege&#8220;. Damit einhergehend werden für MSI Installationen neue Hash Werte ermittelt bzw. erstellt. Dies führt bei einer Reinstallation einer bereits installierten MSI Installation zu Problemen.</p>
<h2>Mögliche Abhilfen</h2>
<h3>Whitelisting der Installation</h3>
<p>Microsoft hat direkt Methoden zur Erstellung von Whitelist Einträgen, pro getätigter MSI Installation die repariert werden soll, angeboten. Bei dem Einsatz einer Softwareverteilung und einer Fülle an getätigter Software Installationen bereitet das keinen Spaß.<br />
Die Informationen dazu wurden <a title="KB2918614" href="http://support.microsoft.com/kb/2918614/de" target="_blank">hier</a> veröffentlicht.</p>
<h3>Patch zur Behebung des UAC Problems</h3>
<p>Im November wiederum wurde dann ein Hotfix veröffentlicht, der mit Hilfe eines Registry Keys generell die UAC Meldungen bei einem nicht vorhandenen MSI Hash Wert unterbinden soll.<br />
Dieser Hotfix samt Vorgehensweise ist <a title="KB3008627" href="http://support2.microsoft.com/kb/3008627" target="_blank">hier</a> veröffentlicht.</p>
<p>Die Vorgehensweise mit dem nachgelagerten Hotfix scheint eine sinnvolle Behebung bzw. Umgehung der Problematik zu sein. Doch auch diese Umgehung scheint nach Rückmeldungen nicht zu 100% zu funktionieren.</p>
<h3>Deinstallation des MS14-049</h3>
<p>Letztendlich bleibt einem bei allen oben getroffenen Maßnahmen und keinem Erfolg (UAC Meldung erscheint trotz aller Maßnahmen) nur noch die Deinstallation des Patches.<br />
Dies wiederum kann auch per Empirum geschehen. Dazu habe ich unten eine beispielhafte Deinstallationsroutine angehängt.</p>
<p>Ich drücke Euch die Daumen!</p>
<pre>[Product]
#CheckWUSA, DONTDELETE
#Set:Product, DONTDELETE

[CheckWUSA]
Set VM_WUSA=%HKLM,"SYSTEM\CurrentControlSet\Services\wuauserv","Start"%
If "%VM_WUSA%" == "4" Then "EnableWUSA" EndIf

[EnableWUSA]
CallHidden sc config "wuauserv" start= demand error= ignore

[Set:Product]
SET QFE=2918614
Addmeter -1
DEL "%TEMP%\qfe.txt"
Callhidden %comspec% /C ECHO %sysdate% %systime% - Searching for installed hotfix: %qfe% &gt;&gt;"%WINDIR%\TEMP\qfe_uninstall.log"
Callhidden %comspec% /C wmic.exe qfe &gt;"%TEMP%\qfe.txt"
If DoesTextInFileExist ("%QFE%", "%TEMP%\qfe.txt") == "1" Then "UninstallQFE" ELSE "QFEnotExist" EndIf

[UninstallQFE]
Callhidden %comspec% /C ECHO %sysdate% %systime% - Installed hotfix found: %qfe% &gt;&gt;"%WINDIR%\TEMP\qfe_uninstall.log"
Callhidden %comspec% /C ECHO %sysdate% %systime% - Uninstall hotfix: %qfe% &gt;&gt;"%WINDIR%\TEMP\qfe_uninstall.log"
CallHidden sc config "wuauserv" start= demand error= ignore
Callhidden wusa /uninstall /kb:%QFE% /quiet /norestart
Set WusaError=%ErrorLevel%
IF %wusaError% == "3010" Then "RebootRequired" EndIf
Callhidden %comspec% /C ECHO %sysdate% %systime% - ErrorLevel: %WusaError% &gt;&gt;"%WINDIR%\TEMP\qfe_uninstall.log"
Callhidden %comspec% /C wmic.exe qfe &gt;"%TEMP%\qfe.txt"
If DoesTextInFileExist ("%QFE%", "%TEMP%\qfe.txt") == "1" Then "SET:InstallationError" EndIf
Callhidden %comspec% /C ECHO %sysdate% %systime% - Successfully uninstalled hotfix: %qfe% &gt;&gt;"%WINDIR%\TEMP\qfe_uninstall.log"
DEL "%TEMP%\qfe.txt"

[QFEnotExist]
Callhidden %comspec% /C ECHO %sysdate% %systime% - The following hotfix is not installed: %qfe% &gt;&gt;"%WINDIR%\TEMP\qfe_uninstall.log"

[RebootRequired]
SetReboot 1

[SET:InstallationError]
Callhidden %comspec% /C ECHO %sysdate% %systime% - Failed uninstall hotfix: %qfe% &gt;&gt;"%WINDIR%\TEM\qfe_uninstall.log"
ErrorLogMsg %ErrorText% %WusaError% %CallingText% wusa /uninstall /kb:%QFE% /quiet
Abort</pre>
<p>Setup.inf Beispiel zur Hotfix Deinstallation als Datei: <a  data-e-Disable-Page-Transition="true" class="download-link" title="Version 1.0" href="https://www.wpm-blog.de/download/1505/?tmstv=1790199982" rel="nofollow" id="download-link-1505" data-redirect="false" >
	MSHotfix_Uninstall	(971 Downloads	)
</a>
</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/uac-meldungen-bei-msi-paketen/">UAC Meldungen bei der Reinstallation von MSI Paketen</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/uac-meldungen-bei-msi-paketen/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum: Einfacherer Zugriff auf detaillierte Fehler-Protokolle</title>
		<link>https://www.wpm-blog.de/einfacherer-zugriff-auf-detaillierte-fehlerprotokolle/</link>
					<comments>https://www.wpm-blog.de/einfacherer-zugriff-auf-detaillierte-fehlerprotokolle/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Sun, 26 Oct 2014 14:54:09 +0000</pubDate>
				<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<category><![CDATA[Softwareverteilung]]></category>
		<category><![CDATA[Workplace Management]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=1379</guid>

					<description><![CDATA[<p>Schlägt eine Installation eines Empirum Paketes fehl, so wird dies in der Management Console mit dem Status &#8222;Failed&#8220; im SWDepotLog und im Status versehen. Im erweiterten ErrorLog kann man ggf. noch den Fehlercode oder einen &#8230; <a href="https://www.wpm-blog.de/einfacherer-zugriff-auf-detaillierte-fehlerprotokolle/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/einfacherer-zugriff-auf-detaillierte-fehlerprotokolle/">Empirum: Einfacherer Zugriff auf detaillierte Fehler-Protokolle</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Schlägt eine Installation eines Empirum Paketes fehl, so wird dies in der Management Console mit dem Status &#8222;Failed&#8220; im SWDepotLog und im Status versehen. Im erweiterten ErrorLog kann man ggf. noch den Fehlercode oder einen kleinen Hinweis auf den möglichen Fehler bekommen. Doch häufig benötigt man den Zugriff auf die komplette Log Datei der Installation. Diese wiederum liegt lokal auf dem Computer. Warum?<span id="more-1379"></span></p>
<h3>Hintergrund</h3>
<p>Im Standard der Empirum Paket Vorlagen werden diese detaillierten Log Dateien von extern aufgerufenen Setup Routinen wie MSI und Unattended im %WINDIR%\Temp Ordner abgelegt. Schlägt eine Installation fehl, werden diese Log Dateien mit den Fehlern vorgehalten (nicht gelöscht) damit das Problem näher erörtert werden kann. Wenn nun Computer ausgeschaltet sind oder der Zugriff auf den Computer nicht sichergestellt ist (Notebook Benutzer, Firewall, etc.) kann derzeit jedoch keine weiterführende bzw. zeitnahe Analyse bezüglich des Problems stattfinden.</p>
<h3>Idee</h3>
<p>Ich habe mir dazu ausgedacht, dass im Fehlerfalle diese Log Dateien zusätzlich in das Log Verzeichnis des Agenten kopiert werden und dieser überträgt die Dateien auf den zentralen EmpirumServer. Dieser ist immer erreichbar und der Zugriff kann zentral gesteuert werden. Die Synchronisierung der Log Dateien wird über den EmpirumAgenten sichergestellt, da diese in einem Unterverzeichnis von C:\EmpirumAgent\Log abgelegt werden.</p>
<div class="grey-box"><strong>Hinweis:</strong> Es werden nur *.log Dateien vom EmpirumAgenten automatisch übertragen.</div>
<h3>Umsetzung</h3>
<p>Die nachfolgenden Beispiele sind ggf. auf die eigene Umgebung und das Agenten-Verzeichnis anzupassen.</p>
<h3><strong>Notwendige Setup.inf Anpassung</strong></h3>
<p>Dazu wurde folgende Änderung bzw. zusätzlichen Zeilen in der Setup.inf erstellt:</p>
<pre>[Environment]
MSILogFileName=MSI_%ProductName%.%Version%.%Revision%.log
MSILogFile=%Temp%\%MSILogFileName%
ErrorMsgSyncDir=C:\EmpirumAgent\Log\InstallErrors.CU\%Computername%

[AbortMSIInst]
CALLHIDDEN %COMSPEC% /C MD "%ErrorMsgSyncDir%"
COPY "%MSILogFile%" "%ErrorMsgSyncDir%\%MSILogFileName%"
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Abort

[AbortMSIUnInst]
-Abort
-ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
-COPY "%MSILogFile%" "%ErrorMsgSyncDir%\%MSILogFileName%"
-CALLHIDDEN %COMSPEC% /C MD "%ErrorMsgSyncDir%"</pre>
<h3><strong>Anpassung in der Management Console</strong></h3>
<p>Der Zugriff auf das zentrale Log Verzeichnis eines Computers kann über einen „Rechtsklick“ auf den Computer geschehen<strong>. </strong>Die Konfiguration wird über die Management Console, Extras, Eigenschaften unter „Externe Programme“ vorgenommen.</p>
<ul>
<li><span style="line-height: 1.8;">Zentrales Log Verzeichnis</span></li>
<li><span style="line-height: 1.8;">explorer \\%EmpirumServer%\configurator$\Log\InstallErrors.CU\%Computername%</span></li>
</ul>
<p>Das gezeigte Beispiel nutzt die EmpirumServer Variable. Hier muss ggf. der zentrale EmpirumServer eingetragen werden und das Support-Personal zum Lesen berechtigt werden.</p>
<h3>Bereinigung</h3>
<p>Die zyklische Bereinigung des zentralen Log Verzeichnisses muss derzeit von Hand durchgeführt werden.</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/einfacherer-zugriff-auf-detaillierte-fehlerprotokolle/">Empirum: Einfacherer Zugriff auf detaillierte Fehler-Protokolle</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/einfacherer-zugriff-auf-detaillierte-fehlerprotokolle/feed/</wfw:commentRss>
			<slash:comments>9</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 47/67 queries in 0.023 seconds using Disk

Served from: www.wpm-blog.de @ 2026-09-23 22:46:22 by W3 Total Cache
-->