<?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 shell: - Workplace Management Blog</title>
	<atom:link href="https://www.wpm-blog.de/search/shell%3A/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:52:21 +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>Verknüpfungen / Links erstellen</title>
		<link>https://www.wpm-blog.de/verknuepfungen-links-erstellen/</link>
					<comments>https://www.wpm-blog.de/verknuepfungen-links-erstellen/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Tue, 07 Apr 2020 19:43:57 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=2582</guid>

					<description><![CDATA[<p>Im Packaging Selbststudium befinden sich mittlerweile Beiträge zu fast allen häufig genutzten Sektionen. Jedoch habe ich bis dato noch keinen Beitrag über die Erstellung von &#8222;dynamischen&#8220; Verknüpfungen für den Desktop oder das Startmenü erstellt. Damit &#8230; <a href="https://www.wpm-blog.de/verknuepfungen-links-erstellen/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/verknuepfungen-links-erstellen/">Verknüpfungen / Links erstellen</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Im Packaging Selbststudium befinden sich mittlerweile Beiträge zu fast allen häufig genutzten Sektionen. Jedoch habe ich bis dato noch keinen Beitrag über die Erstellung von &#8222;dynamischen&#8220; Verknüpfungen für den Desktop oder das Startmenü erstellt. Damit meine ich Verknüpfungen, die Variablen des Paketes oder der Umgebung enthalten, anders als das in *.lnk Dateien der Fall ist.<span id="more-2582"></span> Dafür ist in Empirum die Sektion [Shell:Product] zuständig. Die Sektion muss nicht [Shell:Product] heißen! So jedoch wird sie automatisch am Ende aufgerufen, wenn die Option und Sektion [Product] vorhanden und unter [Application] ShellLinks=1 gesetzt ist. Benennt man die Sektion anders als die Option z.B. [Shell:MyProgram], dann muss man die Sektion explizit aufrufen mit #Shell:MyProgram.</p>
<h3>Wie ist die Syntax zur Erstellung einer Verknüpfung?</h3>
<p>Die Syntax bzw. Abfolge der Angaben ist wie folgt.</p>
<pre>&lt;Verknüpfung&gt;, &lt;Kommando&gt;, &lt;Argumente&gt;, &lt;Arbeitsverzeichnis&gt;, &lt;Beschreibung&gt;, &lt;Symboldatei&gt;, &lt;Symbolindex&gt;, &lt;Fensterzustand&gt;, &lt;Tastenkombination&gt;</pre>
<p>Es müssen nicht alle Angaben gesetzt werden, wie die nachfolgenden Beispiele zeigen.</p>
<p><strong style="color: #000000; font-style: normal;">Beispiele:</strong></p>
<pre>;---Erstellung einer einfachen Verknüpfung auf dem Desktop abhängig von CommonShellLinks
%Desktop%\Internet Explorer, %ProgramFiles%\Internet Explorer\iexplore.exe

;---Erstellung einer einfachen Verknüpfung auf dem Desktop aller Benutzer unabhängig von CommonShellLinks
%CommonDesktop%\Internet Explorer, %ProgramFiles%\Internet Explorer\iexplore.exe

;---Erstellung einer Verknüpfung auf dem Desktop aller Benutzer
%CommonDesktop%\ServicePortal, %ProgramFiles%\Internet Explorer\iexplore.exe, https://serviceportal.company.de/wm, Company ServicePortal

;---Erstellung einer Verknüpfung ServicePortal im Startmenü abhängig von CommonShellLinks
ServicePortal, %ProgramFiles%\Internet Explorer\iexplore.exe, https://serviceportal.company.de/wm, Company ServicePortal

;---Erstellung einer Verknüpfung ServicePortal im Startmenü Ordner "MyComany" unabhängig von CommonShellLinks
%CommonPrograms%\MyCompany\ServicePortal, %ProgramFiles%\Internet Explorer\iexplore.exe, https://serviceportal.company.de/wm, Company ServicePortal</pre>
<h3>Besonderheiten</h3>
<p>Die mittels Shell:Product erstellen Verknüpfungen werden beim Deinstallieren auch wieder entfernt. Möchte man beim Installieren Verknüpfungen entfernen, so geht das nur über den Del bzw. Deltree Befehl.</p>
<p><strong style="color: #000000; font-style: normal;">Beispiele:</strong></p>
<pre>;---löschen des Startmenü Ordners MyComany
Deltree "%CommonPrograms%\MyCompany"

;---löschen einer Verknüpfung vom Desktop aller Benutzer
Del "%CommonDesktop%\ServicePortal.lnk"

;---löschen einer Verknüpfung vom Desktop des jeweiligen angemeldeten Benutzers - Achtung: Das Paket muss mit /AW ausgeführt werden.
Del "%UserDesktop%\ServicePortal.lnk"</pre>
<h3>Abhängigkeiten</h3>
<p>Die Shell:Product Ausführung ist von mindestens zwei Eigenschaften in der Application Sektion abhängig</p>
<p><strong>CommonShellLinks=[1|0]</strong><br />
Wenn CommonShellLinks den Wert 1 hat, so ist die Variable %Desktop% gleichzusetzen mit %CommonDesktop%, genauso wie %Programs% mit %CommonPrograms%.<br />
Ist der Wert 0, so ist %Desktop% gleichzusetzen mit %UserDesktop% und %Programs% mit %UserPrograms%.</p>
<p><strong>ShellLinks=[0|1]</strong><br />
Ist der Wert 1, werden die Verknüpfungen erst am Ende der Installation, für jede Option der Abschnitt [Shell:&lt;Option&gt;], automatsich erzeugt ohne explizit aufgerufen zu werden. Ist der Wert 0, können Verknüpfungen auch durch den direkten Aufruf von #Shell:&lt;Option&gt; erstellt werden.</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/verknuepfungen-links-erstellen/">Verknüpfungen / Links erstellen</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/verknuepfungen-links-erstellen/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Empirum Prompt &#8211; Benutzer Abfragen im Empirum Paket</title>
		<link>https://www.wpm-blog.de/empirum-prompt-benutzer-abfragen-im-empirum-paket/</link>
					<comments>https://www.wpm-blog.de/empirum-prompt-benutzer-abfragen-im-empirum-paket/#respond</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Fri, 14 Aug 2015 16:18:22 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Software Management]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=1599</guid>

					<description><![CDATA[<p>Ich hatte zum &#8222;Blog Geburtstag&#8220; aufgerufen, welche Themen für Euch interessant wären. Neben der Nachfrage nach Erläuterungen zum Empirum Patch-Management, kam auch eine Frage bzgl. der Prompts Funktion der Empirum Setup.inf. Die Empirum Prompt&#8217;s erlauben &#8230; <a href="https://www.wpm-blog.de/empirum-prompt-benutzer-abfragen-im-empirum-paket/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-prompt-benutzer-abfragen-im-empirum-paket/">Empirum Prompt &#8211; Benutzer Abfragen im Empirum Paket</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ich hatte zum &#8222;Blog Geburtstag&#8220; aufgerufen, welche Themen für Euch interessant wären.<br />
Neben der Nachfrage nach Erläuterungen zum Empirum Patch-Management, kam auch eine Frage bzgl. der Prompts Funktion der Empirum Setup.inf.<span id="more-1599"></span></p>
<p>Die Empirum Prompt&#8217;s erlauben Abfragen während der Ausführung eines Empirum Pakets, somit während der Abarbeitung der Setup.inf. Das Ergebnis dieser Abfrage wird in einer Variablen gespeichert, die im Verlauf der Setup.inf genutzt werden kann. Diese Abfrage kann eine Auswahl von vordefinierten Werten, Freitextfelder, etc. sein. Die Bedeutung der Empirum Prompt Funktion ist generell in den Hintergrund geraten, da man die Software-Installation zumeist ohne Nachfrage beim Endbenutzer und gemäß der eigenen Vorgaben durchführt. In den Anfängen von Empirum wurde diese Form der Interaktion mit dem Endbenutzer u.a. dafür angeboten, um Asset-Daten von Endbenutzern abzufragen und über weitere Mechanismen in die Empirum Datenbank zu übertragen. Dazu gibt es nun jedoch den DataCollector, mit dem man sich komplette Masken bauen kann. Ich habe zuletzt die Empirum Prompts Funktion bei einem Kunden genutzt, um vor der PersonalBackup Rücksicherung den Benutzer zu Fragen, von welchem seiner alten Computer er eine Rücksicherung auf seinem neuen Computer durchführen möchte.</p>
<h3>Empirum Prompt Funktion &#8211; Was ist wichtig?</h3>
<p>1. Definition der Abfragen in der Sektion Prompts<br />
2. Bestimmen, wann die Abfrage laufen soll?<br />
3. Bestimmen des richtigen Silent Levels!</p>
<h3>1. Definition der Abfragen in der Sektion Prompts</h3>
<p>Dies Abfragen und Zuordnung der Ergebnisse zu einer Variable geschieht in der Sektion [Prompts]. Diese ist <a href="https://helpfiles.matrix42-web.de/2024_DE/M42_WebDocu.htm#WM/UEM/SWM/SETUP/Referenz/Sections/SETUP_Section_14_Prompts.htm?Highlight=prompts" target="_blank" rel="noopener">hier</a> recht treffend beschrieben.</p>
<pre>[Prompts]
 ;Variable=Label,Standardwert,Beschreibung,Max. Anzahl an Buchstaben/Zahlen, Flags, [Vorgabewert]
 NstNummer=&amp;Nebenstelle:,,"Bitte geben Sie Ihre 3-stellige Nebenstellen ein.",3,NUMBER</pre>
<h3>2. Bestimmen, wann die Abfrage laufen soll</h3>
<p>Soll die Abfrage beim Paketstart oder zu einem passenden Zeitpunkt während der Laufzeit des Paketes erfolgen?</p>
<h3>Bei Paketstart</h3>
<p>Wenn die Abfrage beim Paketstart erfolgen soll, muss dies in der [Application] Sektion konfiguriert werden. Anbei der Auszug aus der Empirum Hilfe:<br />
Prompts &#8211; gibt eine durch Kommata getrennte Liste von Environment-Variablen an, die interaktiv gesetzt werden können. Dazu wird jeweils ein Dialogfeld geöffnet und ein Wert abgefragt. Der Wert einer dieser Variablen kann als %&lt;Variable&gt;% benutzt werden. Welcher Text genau im Dialogfeld erscheint, wird im Abschnitt [Prompts] festgelegt. Die Abfragen geschehen zeitlich vor der Abfrage der Optionen des Empirum Paketes.</p>
<pre>Prompts=&lt;Liste von Prompt-Variablen&gt;
Prompts=NstNummer</pre>
<h3>Während der Laufzeit</h3>
<p>In einer Sektion ungleich Reg:, Ini:, Shell: etc. kann eine Abfrage mittels des nachfolgenden Aufrufes initiiert werden:<br />
Prompt &lt;Variable&gt;</p>
<pre>;-Beispiel
Prompt NstNummer
;-Test
Echo %NstNummer%</pre>
<h3>3. Silent Level</h3>
<p>Empirum Prompt&#8217;s werden bei Level 2 und 3 angezeigt, nicht jedoch bei Level 0 und 1.</p>
<p>Ich hoffe, das gibt Euch einen schnelleren Einblick, wenn es mal benötigt wird.<br />
Viel Spaß!</p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/empirum-prompt-benutzer-abfragen-im-empirum-paket/">Empirum Prompt &#8211; Benutzer Abfragen im Empirum Paket</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-prompt-benutzer-abfragen-im-empirum-paket/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Setup.inf Abarbeitung</title>
		<link>https://www.wpm-blog.de/setup-inf-abarbeitung/</link>
					<comments>https://www.wpm-blog.de/setup-inf-abarbeitung/#comments</comments>
		
		<dc:creator><![CDATA[Jochen]]></dc:creator>
		<pubDate>Mon, 03 Dec 2012 22:43:57 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Empirum]]></category>
		<category><![CDATA[Paketierung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Softwarepaket]]></category>
		<guid isPermaLink="false">https://www.wpm-blog.de/?p=518</guid>

					<description><![CDATA[<p>Wie an anderer Stelle bereits erläutert geht es mir darum, dass man keine &#8222;Angst&#8220; davor hat Software-Pakete zu erstellen und nach und nach durch mehr Erfahrung oder Anspruch die Software-Pakete zu verbessern. Im ersten Schritt &#8230; <a href="https://www.wpm-blog.de/setup-inf-abarbeitung/">Weiterlesen</a></p>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/setup-inf-abarbeitung/">Setup.inf Abarbeitung</a> erschien zuerst auf <a rel="nofollow" href="https://www.wpm-blog.de">Workplace Management Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wie an anderer Stelle bereits erläutert geht es mir darum, dass man keine &#8222;Angst&#8220; davor hat Software-Pakete zu erstellen und nach und nach durch mehr Erfahrung oder Anspruch die Software-Pakete zu verbessern. Im ersten Schritt ist man glücklich, dass die Installation ohne Eingriff durch den Benutzer funktioniert. Wie man ein einfaches Software-Paket auf der Grundlage einer MSI Datei erstellt, erfahrt ihr in einem meiner ersten Video Tutorials.<span id="more-518"></span></p>
<p>Die Empirum Setup.inf Skriptsprache ermöglicht einem jedoch weitere Möglichkeiten.</p>
<ul>
<li>Vornehmen von benutzerspezifischen Einstellungen</li>
<li>Kopieren von Dateien pro Benutzer</li>
<li>Abfragen von Werten auf dem Zielcomputer und &#8222;reagieren&#8220; im Software-Paket, wie z.B. Prozessor-Architektur, Registrierungseinträge, Dateien, Dateiversionen, offene Prozesse, uvm.</li>
<li>Nutzen von Variablen aus der EMC und steuern der Installation</li>
<li>uvm.</li>
</ul>
<p>Um Veränderungen an den vorhandenen Software-Paketen vorzunehmen, muss man zuerst verstehen, an welcher Stelle man die Veränderung vornehmen kann und welche Befehle und somit Möglichkeiten einem zur Verfügung stehen.</p>
<h3>Gehen wir zuerst auf die Abfolge in der Setup.inf ein.</h3>
<p>Die meisten Software-Pakete bzw. Vorlagen enthalten die unten stehenden Zeilen (am Ende dieses Blogeintrages), die für die Erläuterung der Abfolge herangezogen werden. Für die Erläuterungen habe ich jedoch ein paar Befehle bereits in die Vorlage eingebaut, um die Funktionsweise besser zu verdeutlichen.</p>
<p>Das <strong>Semikolon (;)</strong> sagt aus, dass diese Zeile nicht verarbeitet wird und ein <strong>Kommentar</strong> darstellt.</p>
<p>Das <strong>Hash Zeichen (#)</strong> oder von manchem auch Lattenzaun genannt, ist gleichzusetzen mit einem <strong>GOSUB</strong> aus Basic oder einem Prozedur Aufruf aus anderen Sprachen. Das bedeutet die entsprechende Sektion wird aufgerufen und nach der Beendigung springt die Verarbeitung wieder zurück und geht eine Zeile weiter.</p>
<h3>Installationsabfolge</h3>
<p>Es wird die Sektion [Product] als &#8222;Hauptprogramm&#8220; ausgeführt und die dort angegebenen Sektionen der Reihe nach (von oben nach unten) angesprungen bzw. verarbeitet.</p>
<ol>
<li>Die erste Zeile ohne Kommentar ist der Aufruf der #Set:Product Zeile. Hiermit wird die [Set:Product] Sektion angesprungen.</li>
<li>Es wird &#8222;Es geht los&#8220; ausgegeben.</li>
<li>Die Datei Datei.exe wird in das Verzeichnis &#8222;%ProgramFiles%\Hersteller Software\&#8220; kopiert. Ist kein Ziel nach der Datei.exe angegeben, dann enspricht das Ziel dem Wert von ApplicationDir=.</li>
<li>Jetzt ist die Sektion [Set:Product] fertig und es wird die Zeile</li>
<li>#Reg:OnUninstallProduct, DELETE angesprungen. Diese wird jedoch nicht verarbeitet, da diese das Flag &#8222;DELETE&#8220; besitzt, was aussagt, dass die Sektion nur bei der Deinstallation ausgeführt wird.</li>
<li>Jetzt wird die Zeile #Reg:Product, DONTDELETE angesprungen. Diese wird ausgeführt, und das nur bei der Installation, da die Sektion das Flag &#8222;DONTDELETE&#8220; besitzt.</li>
<li>Es wird der Registry Eintrag Version = 2 unter HKLM\Software\Hersteller\Software vom Typ REG_SZ gesetzt.</li>
<li>Anschließend wird die Sektion [INI:Product] und danach</li>
<li>[Security:Product] angesprungen. In beiden Fällen gibt es nichts zu tun.</li>
<li>Als letztes, obwohl es nicht unter [Product] aufgeführt ist, wird die Sektion [Shell:Product] ausgeführt.</li>
</ol>
<p>Die Installation ist fertig, es gibt eine Verknüpfung auf dem Desktop, dass das Programm &#8222;Datei.exe&#8220; startet.</p>
<h3>Deinstallationsabfolge</h3>
<p>Die Deinstallation wird in umgekehrter Reihenfolge verarbeitet und startet somit von unten in der [Product] Sektion.</p>
<ol>
<li>Ähnlich wie die Ausnahme, dass [Shell:Product] beim Installieren als letztes aufgerufen wird, wird diese Zeile beim Deinstallieren zuerst ausgeführt. Die Verknüpfung wird entfernt.</li>
<li>Nun werden die Sektionen in der Reihenfolge von unten nach oben angesprungen, und dann ausgeführt wenn die Sektion kein FLAG (nach einem Komma) besitzen, oder das Flag &#8222;DELETE&#8220; gesetzt haben.</li>
<li>So wird bei der Deinstallation der Registry Eintrag Version = 1 unter HKLM\Software\Hersteller\Software vom Typ REG_SZ gesetzt, da die Sektion [Reg:OnUninstallProduct] verarbeitet wird.</li>
<li>Nun wird als letztes die Sektion [Set:Product] verarbeitet.</li>
<li>Hier wird nun der Kopiervorgang &#8222;1:&#8230;&#8220; rückgängig gemacht und die Datei gelöscht. Bestimmten Befehlen muss ein &#8222;-&#8220; vorangestellt werden, damit diese bei der Deinstallation ausgeführt werden.</li>
</ol>
<p>Die Deinstallation ist nun abgeschlossen.</p>
<p>Wenn man sich das selbst einmal anschauen möchte, so kann man den Empirum Package Editor starten, in die &#8222;Erweiterte Ansicht&#8220; wechseln und die Setup.inf im Einzelschrittmodus durchlaufen.</p>
<h3>Auszug aus einer Setup.inf</h3>
<pre>...
[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv &lt;Variable&gt;
#Set:Product
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Security:Product

[Set:Product]
ECHO "Es geht los"
1:Datei.exe,%ProgramFiles%\Hersteller Software\, NORMAL, 12345

[Reg:OnUninstallProduct]
HKLM,"Software\Hersteller\Software","Version",0x00000000,1

[Reg:Product]
HKLM,"Software\Hersteller\Software","Version",0x00000000,2

[Ini:Product]

[Security:Product]
;Hier könnten Veränderungen an den Berechtigungen im Dateisystem, der Registry, etc. stattfinden

[Shell:Product]
%Desktop%\Dateiaufruf, Datei.exe</pre>
<p>Der Beitrag <a rel="nofollow" href="https://www.wpm-blog.de/setup-inf-abarbeitung/">Setup.inf Abarbeitung</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-abarbeitung/feed/</wfw:commentRss>
			<slash:comments>6</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-08-02 02:41:20 by W3 Total Cache
-->