You searched for set product - Workplace Management Blog https://www.wpm-blog.de/ ... ideas and solutions making workplace management easier Wed, 19 Nov 2025 13:36:38 +0000 de hourly 1 https://wordpress.org/?v=6.1.7 Empirum Setup.inf – Variablen https://www.wpm-blog.de/empirum-setup-inf-variablen/ https://www.wpm-blog.de/empirum-setup-inf-variablen/#respond Tue, 07 Nov 2023 16:22:05 +0000 https://www.wpm-blog.de/?p=2888 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 … Weiterlesen

Der Beitrag Empirum Setup.inf – Variablen erschien zuerst auf Workplace Management Blog.

]]>
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 Tabelle 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 Umgebungsvariablen des Systems zurückgreifen.

Variablen

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.

Variable Erklärung / Beispiel
%Developername% Wert der in der [Application] Sektion angegeben ist (z.B.: Adobe)
%ProductName% Wert der in der [Application] Sektion angegeben ist (z.B.: Reader)
%Version% Wert der in der [Application] Sektion angegeben ist (z.B.: 23.0)
%Revision% Wert der in der [Application] Sektion angegeben ist (z.B.: 0)
%Src% Verzeichnis parallel zum Install Verzeichnis (SrcDir=.. ein Verzeichnis „zurück“ von dem Ablageort der Setup.inf).
%App% Das Verzeichnis, dass unter ApplicationDir= in der [Application] Sektion angegeben ist.
%ProgramFiles% oder %ProgramFilesDir% Beispiel: C:\Program Files
%ProgrammFiles(x86)% oder%ProgramFilesDirx86% Beispiel: C:\Program Files (x86)
%AppData% Beispiel: C:\Users\<Benutzername>\AppData\Roaming
%LocalAppData% Beispiel: C:\Users\<Benutzername>\AppData\Local
%WinDir% C:\Windows
%CommonPrograms% Verzeichnis, in dem die Startmenü\Programme Verknüpfungen aller Benutzer abgelegt sind.
%CommonDesktop% Verzeichnis, in dem die Desktop Verknüpfungen aller Benutzer abgelegt sind.
%UserPrograms% Verzeichnis, in dem die Startmenü\Programme Verknüpfungen des angemeldeten Benutzer abgelegt sind.
%UserDesktop% Verzeichnis, in dem die Desktop Verknüpfungen des angemeldeten Benutzer abgelegt sind.
%Programdata% oder %AllUsersProfile% Gemeinsames Programmverzeichnis, z.B.: C:\ProgramData
%WindowsUser% der angemeldete Windows Benutzer, ähnlich der Variable %Username%
%Computername% Name des Computers
%ComSpec% cmd.exe

Beispiele

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 >>"%App%\Debug.log"

Copy "%Src%\filezilla.xml" "%App%\FileZilla.xml"

Copy "%App%\filezilla.xml" "%AppData%\FileZilla\FileZilla.xml"

Der Beitrag Empirum Setup.inf – Variablen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/empirum-setup-inf-variablen/feed/ 0
Dialog zum Schließen von Programmen https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/ https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/#respond Sun, 16 Jul 2023 18:00:35 +0000 https://www.wpm-blog.de/?p=2881 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. … Weiterlesen

Der Beitrag Dialog zum Schließen von Programmen erschien zuerst auf Workplace Management Blog.

]]>
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 „silent“ 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.

Wie können wir darauf in der Softwareverteilung bzw. der Paketierung darauf reagieren?
Wie kann ich das in der Matrix42 Empirum Setup.inf handhaben?

Die harte Methode

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:
Callhidden TaskKill.exe /IM visio.exe /F
Es gibt jedoch auch einen Setup.inf eigenen Befehl:
Killprocess visio.exe
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 „darf“ der Benutzer höchstwahrscheinlich mit der neuen Visio Version erneut durchführen.

Sanftere Methoden

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’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 „Abgebrochen“ wird, oder die Installation fortgesetzt wird. Bei einem Abbruch wird dies auch mit der entsprechenden Meldung in der Management Console signalisiert.

[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
Hinweise: 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 „freundlich“ 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 „schlummert“.

Weitere Hilfe

Man kann auch auf einen Fenstertitel reagieren und anschließend das entsprechende Fenster schließen, etc. Dies ist in der Empirum Online Hilfe ausgiebig erläutert.

Der Beitrag Dialog zum Schließen von Programmen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/dialog-zum-schliessen-von-programmen/feed/ 0
Software in der Systemsteuerung verstecken https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/ https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/#respond Sun, 09 Jul 2023 18:00:00 +0000 https://www.wpm-blog.de/?p=2879 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 … Weiterlesen

Der Beitrag Software in der Systemsteuerung verstecken erschien zuerst auf Workplace Management Blog.

]]>
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 „gemanagten“ Umgebung wollen wir dies zum einen nicht, zum anderen kommt es beim Einsatz von Matrix42 Empirum ggf. dazu, das eine Software doppelt angezeigt wird.

Hintergrund

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.

Warum nun doppelte Einträge?

Die eben genannte Setup.inf ist im Ursprung eine Installationsroutine für Programme, die sich eben nicht „unattended“ bzw. „silent“ 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.

Bei MSI Paketen ist dies nicht der Fall!

Erstellt man mit dem Matrix42 Package Wizard ein Paket auf der Grundlage von MSI Quellen passiert das zumeist nicht – 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: https://learn.microsoft.com/en-us/windows/win32/msi/arpsystemcomponent

Was passiert da?

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 …
64bit Programme bzw. Installationsroutinen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

32bit Programme bzw. Installationsroutinen:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

Erstellt man nun in einem Zweig einer entsprechenden Software einen Eintrag: SYSTEMCOMPONENT vom Typ: REG_DWORD und setzt dessen Wert: 1, so wird diese Software anschließend nicht mehr angezeigt.

Empirum Inventory

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.

Unatteded.inf Anpassung

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.

[Product]
...
#Reg:Product
...

Die Reg:Product Sektion ist entsprechend der Software anzupassen…

[Reg:Product]
;32bit - oder [Setup] Platform Wert entsprechend setzen!
;HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\<SoftwareName>,SystemComponent,0x00010001,1
;64bit
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<SoftwareName>,SystemComponent,0x00010001,1

Der Beitrag Software in der Systemsteuerung verstecken erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/software-in-der-systemsteuerung-verstecken/feed/ 0
Empirum Setup.inf – Reparatur Unattended Setup https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/ https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/#respond Sun, 02 Jul 2023 17:46:31 +0000 https://www.wpm-blog.de/?p=2877 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 … Weiterlesen

Der Beitrag Empirum Setup.inf – Reparatur Unattended Setup erschien zuerst auf Workplace Management Blog.

]]>
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. Wer diese Beiträge noch nicht gelesen hatte, dem stelle ich diese Beiträge hier nochmals vor:

  • https://www.wpm-blog.de/empirum-paket-deinstallation-ohne-quellen/
  • https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/

Reparatur Logik

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.
Das Reparatur-Handling hilft uns …

  • für die Reparatur einer Software durch Deinstallation und Neuinstallation
  • falls die Software zuvor anderweitig ggf. manuell installiert wurde, damit diese zuvor deinstalliert wird
  • falls die Software durch das Matrix42 Patch-Management vielleicht schon auf eine andere Version angehoben wurde

Grober Ablauf

Die Reparatur setzt grob auf folgenden Ablauf:
1) Erkennung, ob diese Software ggf. auch in einer anderen Version bereits installiert ist.
2) Falls ja, entfernen dieser Installation.
3) Anschließend wird mit dem „normalen Installationsablauf“ fortgefahren.

Anpassungen

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 „verstecken“ der originären Installation in der Systemsteuerung unter „Programme“.

Falls ihr diesen Schnipsel nutzt …

In der [Product] Sektion muss vor die Installation die
#CheckExistingInstallation, DONTDELETE
eingebaut werden.

Die Erkennung bzw. das Deinstallationsprogramm hinter der Variablen „VM_UnInstCMD“ muss angepasst werden.

Code-Schnipsel

[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

Der Beitrag Empirum Setup.inf – Reparatur Unattended Setup erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/empirum-setup-inf-reparatur-unattended-setup/feed/ 0
ErrorLevel Abfrage bei Unattended Installationen https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/ https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/#respond Mon, 19 Oct 2020 19:33:23 +0000 https://www.wpm-blog.de/?p=2652 Matrix42 liefert eine Setup.inf Vorlage mit, die für „Silent“ Installationen von EXE Dateien genutzt werden kann. Diese Vorlage ist jedoch meines Erachtens sehr „rudimentär“ und an einer Stelle sogar gefährlich bis falsch. In den kommenden … Weiterlesen

Der Beitrag ErrorLevel Abfrage bei Unattended Installationen erschien zuerst auf Workplace Management Blog.

]]>
Matrix42 liefert eine Setup.inf Vorlage mit, die für „Silent“ Installationen von EXE Dateien genutzt werden kann. Diese Vorlage ist jedoch meines Erachtens sehr „rudimentär“ 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 „Luft“ nach oben, da jeder noch ein paar andere Vorstellungen, Vorlieben, etc. hat. Doch halten wir es Mal wie mit einer Fahrt in den Urlaub – „der Weg ist das Ziel“.

Welche Datei meine ich denn nun genau?

Es geht um die Unattended.inf im Empirum\Configurator\Packages\Matrix42\Packaging Center\<Version>\Templates Ordner. Diese wird bei der Auswahl „Unattended“ im Verlaufe des „Package Wizards“ herangezogen.

Erfolgsüberprüfung

Nach dem „silent“ Aufruf einer EXE Datei, wird eine, wie ich sie nenne, „Erfolgsüberprüfung“ durchgeführt. Denn jede Setup.inf, die nicht mit einem „Abort“ 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 „Success“ zurückmelden und die Software ist nicht installiert.

ErrorLevel Abfrage in der Vorlage

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:

If "%ErrorLevel%" <> "0" Then "SET:InstallationError" EndIf

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.

Anpassung

Diese Anpassung setzt automatisch eine Neustart-Anforderung für dieses Paket und wertet den Rückgabewert von 3010 nicht als Fehler.

If "%ErrorLevel%" == "3010" Then "RebootRequired" EndIf
If "%ErrorLevel%" <> "0" & "%ErrorLevel%" <> "3010" Then "SET:InstallationError" EndIf

[RebootRequired]
SetReboot 1
-SetReboot 1

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.

ErrorLevel oder gibt es auch andere Methoden

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 ;-).

 

Der Beitrag ErrorLevel Abfrage bei Unattended Installationen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/empirum-errorlevel-abfrage-bei-unattended-installationen/feed/ 0
Verknüpfungen / Links erstellen https://www.wpm-blog.de/verknuepfungen-links-erstellen/ https://www.wpm-blog.de/verknuepfungen-links-erstellen/#comments Tue, 07 Apr 2020 19:43:57 +0000 https://www.wpm-blog.de/?p=2582 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 „dynamischen“ Verknüpfungen für den Desktop oder das Startmenü erstellt. Damit … Weiterlesen

Der Beitrag Verknüpfungen / Links erstellen erschien zuerst auf Workplace Management Blog.

]]>
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 „dynamischen“ 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. 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.

Wie ist die Syntax zur Erstellung einer Verknüpfung?

Die Syntax bzw. Abfolge der Angaben ist wie folgt.

<Verknüpfung>, <Kommando>, <Argumente>, <Arbeitsverzeichnis>, <Beschreibung>, <Symboldatei>, <Symbolindex>, <Fensterzustand>, <Tastenkombination>

Es müssen nicht alle Angaben gesetzt werden, wie die nachfolgenden Beispiele zeigen.

Beispiele:

;---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

Besonderheiten

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.

Beispiele:

;---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"

Abhängigkeiten

Die Shell:Product Ausführung ist von mindestens zwei Eigenschaften in der Application Sektion abhängig

CommonShellLinks=[1|0]
Wenn CommonShellLinks den Wert 1 hat, so ist die Variable %Desktop% gleichzusetzen mit %CommonDesktop%, genauso wie %Programs% mit %CommonPrograms%.
Ist der Wert 0, so ist %Desktop% gleichzusetzen mit %UserDesktop% und %Programs% mit %UserPrograms%.

ShellLinks=[0|1]
Ist der Wert 1, werden die Verknüpfungen erst am Ende der Installation, für jede Option der Abschnitt [Shell:<Option>], automatsich erzeugt ohne explizit aufgerufen zu werden. Ist der Wert 0, können Verknüpfungen auch durch den direkten Aufruf von #Shell:<Option> erstellt werden.

Der Beitrag Verknüpfungen / Links erstellen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/verknuepfungen-links-erstellen/feed/ 3
Dell PowerManager Dienst – Installation fehlgeschlagen https://www.wpm-blog.de/dell-powermanager-dienst-installation-fehlgeschlagen/ https://www.wpm-blog.de/dell-powermanager-dienst-installation-fehlgeschlagen/#respond Fri, 29 Nov 2019 17:01:38 +0000 https://www.wpm-blog.de/?p=2444 In den vergangenen Tagen habe ich bei einer Empirum WinPE Implementierung beispielhaft ein Dell Latitude 5401 eingebunden. Mittels des SCCM Treiberpaketes war der Großteil schnell erledigt. Der Fingerprintsensor bzw. notwendige Komponenten und der Dell PowerManager … Weiterlesen

Der Beitrag Dell PowerManager Dienst – Installation fehlgeschlagen erschien zuerst auf Workplace Management Blog.

]]>
In den vergangenen Tagen habe ich bei einer Empirum WinPE Implementierung beispielhaft ein Dell Latitude 5401 eingebunden. Mittels des SCCM Treiberpaketes war der Großteil schnell erledigt. Der Fingerprintsensor bzw. notwendige Komponenten und der Dell PowerManager werden per EXE bzw. MSI zusätzlich installiert. Die Installation des Dell PowerManagers gestaltete sich jedoch etwas komplizierter als Anfangs gedacht …

Installation des Dell PowerManagers 3.5.0 schlägt fehl

Die Installation bzw. der Aufruf der EXE bzw. MSI Datei war nicht das Problem. Die Installation scheiterte jedoch. Auch bei der interaktiven Installation wurde ein „Rollback“ der Installation durchgeführt. Die Log-Datei war auch nicht sehr ergiebig …

Die Lösung: aktueller WLAN Treiber

Glücklicherweise war und bin ich nicht die erste Person, die dieses Problem hatte. Im Dell Forum wurde ich fündig. Der Verursacher ist der Treiber für den WLAN Adapter. Tauscht man den Treiber aus dem SCCM Treiberpaket gegen den aktuellen (21.50.1 oder neuer) von Intel aus, funktioniert die Installation reibungslos.

 

Der Beitrag Dell PowerManager Dienst – Installation fehlgeschlagen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/dell-powermanager-dienst-installation-fehlgeschlagen/feed/ 0
Matrix42 OS Deployment mit WinPE – Voraussetzungen https://www.wpm-blog.de/matrix42-os-deployment-mit-winpe-voraussetzungen/ https://www.wpm-blog.de/matrix42-os-deployment-mit-winpe-voraussetzungen/#comments Tue, 10 Apr 2018 18:39:15 +0000 https://www.wpm-blog.de/?p=1960 Die direkte Nutzung von Windows PE zur Installation eines Betriebssystems wird in Empirum Stück für Stück ausgebaut und weckt das Interesse vieler Nutzer. Dazu stellt Matrix42 ab Empirum v17 die WinPE Erweiterung im Produkt und … Weiterlesen

Der Beitrag Matrix42 OS Deployment mit WinPE – Voraussetzungen erschien zuerst auf Workplace Management Blog.

]]>
Die direkte Nutzung von Windows PE zur Installation eines Betriebssystems wird in Empirum Stück für Stück ausgebaut und weckt das Interesse vieler Nutzer. Dazu stellt Matrix42 ab Empirum v17 die WinPE Erweiterung im Produkt und losgelöst im Matrix42 Marketplace zur Verfügung.

Voraussetzungen

Die Installationsvoraussetzung für die WinPE Erweiterung ist jedoch ein Windows Server 2012 R2 oder Windows Server 2016. Hat man Empirum jedoch noch auf einem Windows Server 2008 R2 oder Server 2012 laufen, müsste man demnach in die „Röhre“ schauen.

Was wird benötigt?

Grundsätzlich wird für alle offiziell nicht unterstützten Betriebssysteme eine aktuelle Powershell Umgebung und das aktuelle Windows ADK benötigt. In Bezug auf das Windows ADK habe ich bereits einen Artikel verfasst. Dies sollte man immer seinem auszurollenden Windows 10 anpassen.

Aktualisieren der Powershell Umgebung

Die aktuelle Powershell Umgebung ist im Windows Management Framework 5.1 enthalten. Dies ist auch für Windows Server 2008 R2 und Windows Server 2012 verfügbar. Die Installation bzw. die Aktivierung der Funktionen erfordert einen Neustart des Windows Severs. Möchte man die Neustarts reduzieren, sollte man zuvor das WADK installiert und den nachfolgenden Schritt durchgeführt haben.

Zugriff auf aktuelle DISM Version

Damit die älteren Windows Versionen im Standard auf die aktuelle DISM Version zugreifen, sind noch Anpassungen an der systemweiten Pfad (PATH) Variable notwendig. Der Pfad zu den DISM Dateien ist an den Anfang der Pfad Variable zu stellen. Der nachfolgende Eintrag kommt somit vor die bereits vorhandenen Pfad Einträge.

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM

Neustart

Jetzt kann man den Windows Server neu starten und die neuen WinPE Funktionen nutzen. Wurde man zwecks der Windows Management Framework Installation nicht zu einem Neustart gebeten, kann man für Empirum auch den Windows Server Neustart durch ein Neustarten des Empirum Activation und der BTQH Dienste ersetzen.

Der Beitrag Matrix42 OS Deployment mit WinPE – Voraussetzungen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/matrix42-os-deployment-mit-winpe-voraussetzungen/feed/ 1
Empirum – NTFS Berechtigungen setzen https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/ https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/#respond Sun, 19 Nov 2017 16:30:56 +0000 https://www.wpm-blog.de/?p=1893 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. … Weiterlesen

Der Beitrag Empirum – NTFS Berechtigungen setzen erschien zuerst auf Workplace Management Blog.

]]>
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.

Die Anpassung der NTFS Berechtigung ist dann notwendig, wenn das paketierte Programm:

  • in Laufzeit Änderungen im gleichen Verzeichnis vornimmt (INI+LOG Dateien, o.ä)
  • eine AutoUpdate Funktionen für sich selbst anbietet

Wo und wie wird die Berechtigungsvergabe vorgenommen?

Die „Wo“ 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.

Kommen wir zur „Wie“ Frage …

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:
FileDaclEx.Add (<Datei>, <Name>, <Operation>, <Rechte>, <Vererbung>)

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:

FileDaclEx.Add ("%App%", "%$LocalUsers%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

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 „Ändern“ entspricht den nachfolgenden Teil-Berechtigungen: TRAVERSE LIST_DIRECTORY READ_ATTRIBUTES READ_EA ADD_FILE ADD_SUBDIRECTORY WRITE_ATTRIBUTES WRITE_EA DELETE READ_DAC EXECUTE

Das sieht in der Windows 10 Oberfläche nicht viel anders aus, wenn man mal in den Sicherheitseinstellungen unter Erweitert nachschaut.

Windows Explorer NTFS Change

Wie sieht nun ein solcher Befehl in der Praxis aus? Hier ein paar Beispiele:

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)

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.

Ist das alles?

Weiterführende Informationen, da die Security:Sektion noch mehr kann als NTFS Berechtigungen zu setzen:

  • Welche Befehle darüber hinaus zur Verfügung stehen und welche andere Berechtigungen ihr setzen könnt, findet ihr in der Online Hilfe unter „Security:Product„.
  • Welche Benutzer bzw. Gruppen per Variable und somit sprachunabhängig zur Verfügung stehen findet ihr am Ende der Tabelle „Vordefinierte Umgebungsvariablen“ der Online-Hilfe.

Der Beitrag Empirum – NTFS Berechtigungen setzen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/empirum-ntfs-berechtigungen-setzen/feed/ 0
Empirum – Übernehmen von vorhandenen Installationen https://www.wpm-blog.de/empirum-uebernehmen-von-vorhandenen-installationen/ https://www.wpm-blog.de/empirum-uebernehmen-von-vorhandenen-installationen/#comments Wed, 16 Aug 2017 10:25:52 +0000 https://www.wpm-blog.de/?p=1884 Wenn man mit der Empirum Softwareverteilung nicht auf der „grünen Wiese“ beginnt, jedoch trotzdem die Zuweisung der Software anhand der Konfigurationsgruppen vornehmen möchte, läuft man Gefahr das eine Installation einer bereits vorhandenen Software startet. Gerade bei … Weiterlesen

Der Beitrag Empirum – Übernehmen von vorhandenen Installationen erschien zuerst auf Workplace Management Blog.

]]>
Wenn man mit der Empirum Softwareverteilung nicht auf der „grünen Wiese“ beginnt, jedoch trotzdem die Zuweisung der Software anhand der Konfigurationsgruppen vornehmen möchte, läuft man Gefahr das eine Installation einer bereits vorhandenen Software startet. Gerade bei größeren Software Installationen, wie einem Microsoft Office, SAP Client, Lotus Notes Client, o.ä. möchte man genau dies vermeiden. Auf der anderen Seite möchte man trotzdem die Konfigurationsgruppen und ihre Vorteile nutzen.

Szenario – Was ist zu beachten?

Dieses Szenario kommt vor, wenn zuvor die Software „von Hand“ oder einer zuvor eingesetzten Software-Management Lösung auf den Endgeräten installiert wurde und man sich nun für den Einsatz von Empirum entschieden hat. Jetzt kann man alle Geräte komplett neu installieren, oder eben die Endgeräte „wie sie sind“ in Empirum mittels der Verteilung des Empirum Agenten und des Empirum Inventorys in Empirum aufnehmen. Letzteres Verfahren spart zumindest erst einmal Zeit, jedoch muss man bei der Erstellung und Verteilung der weiteren Software-Pakete beachten, dass man ggf. nicht die gleiche Installationsgrundlage antrifft. Dies bedeutet wiederum ausgiebigere Tests und eine größere, oder andere Pilotgruppe.

Umsetzung in der Setup.inf

Wie ergänzt man nun sein Software-Paket, dass Microsoft Office eben nicht noch einmal installiert wird, wenn es zuvor schon anderweitig auf einem Endgerät installiert wurde? Diese Abfrage kann wie folgt umgesetzt werden. Natürlich kann man die Mehrsprachigkeit über die Strings Sektionen noch schöner handhaben ;-).

[Product]
#CheckAlreadyInstalled, DONTDELETE
;... eigentliche Installationsabfolge ...

[CheckAlreadyInstalled]
;*** Prüfen ob bereits Office 2010 manuell/anderweitig installiert wurde.
;*** Check existing Office 2010 Installation prior to Empirum Software-Distribution
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90140000-0019-0407-0000-0000000FF1CE},InstallDate") == "1" & DoesRegKeyExist ("HKLM,SOFTWARE\%MachineKeyName%\Setup,DisplayName") == "0" Then "AlreadyInstalled" EndIf

[AlreadyInstalled]
ErrorLogMsg %DeveloperName% %ProductName% %Version% ist bereits installiert ohne Empirum | is already installed without Empirum
Exit %DeveloperName% %ProductName% %Version% ist bereits installiert ohne Empirum | is already installed without Empirum

Der Beitrag Empirum – Übernehmen von vorhandenen Installationen erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/empirum-uebernehmen-von-vorhandenen-installationen/feed/ 7