You searched for desktop kopieren - Workplace Management Blog https://www.wpm-blog.de/ ... ideas and solutions making workplace management easier Sun, 02 Jul 2023 18:01:28 +0000 de hourly 1 https://wordpress.org/?v=6.1.7 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
Setup.inf Abarbeitung https://www.wpm-blog.de/setup-inf-abarbeitung/ https://www.wpm-blog.de/setup-inf-abarbeitung/#comments Mon, 03 Dec 2012 22:43:57 +0000 https://www.wpm-blog.de/?p=518 Wie an anderer Stelle bereits erläutert geht es mir darum, dass man keine „Angst“ davor hat Software-Pakete zu erstellen und nach und nach durch mehr Erfahrung oder Anspruch die Software-Pakete zu verbessern. Im ersten Schritt … Weiterlesen

Der Beitrag Setup.inf Abarbeitung erschien zuerst auf Workplace Management Blog.

]]>
Wie an anderer Stelle bereits erläutert geht es mir darum, dass man keine „Angst“ 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.

Die Empirum Setup.inf Skriptsprache ermöglicht einem jedoch weitere Möglichkeiten.

  • Vornehmen von benutzerspezifischen Einstellungen
  • Kopieren von Dateien pro Benutzer
  • Abfragen von Werten auf dem Zielcomputer und „reagieren“ im Software-Paket, wie z.B. Prozessor-Architektur, Registrierungseinträge, Dateien, Dateiversionen, offene Prozesse, uvm.
  • Nutzen von Variablen aus der EMC und steuern der Installation
  • uvm.

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.

Gehen wir zuerst auf die Abfolge in der Setup.inf ein.

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.

Das Semikolon (;) sagt aus, dass diese Zeile nicht verarbeitet wird und ein Kommentar darstellt.

Das Hash Zeichen (#) oder von manchem auch Lattenzaun genannt, ist gleichzusetzen mit einem GOSUB 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.

Installationsabfolge

Es wird die Sektion [Product] als „Hauptprogramm“ ausgeführt und die dort angegebenen Sektionen der Reihe nach (von oben nach unten) angesprungen bzw. verarbeitet.

  1. Die erste Zeile ohne Kommentar ist der Aufruf der #Set:Product Zeile. Hiermit wird die [Set:Product] Sektion angesprungen.
  2. Es wird „Es geht los“ ausgegeben.
  3. Die Datei Datei.exe wird in das Verzeichnis „%ProgramFiles%\Hersteller Software\“ kopiert. Ist kein Ziel nach der Datei.exe angegeben, dann enspricht das Ziel dem Wert von ApplicationDir=.
  4. Jetzt ist die Sektion [Set:Product] fertig und es wird die Zeile
  5. #Reg:OnUninstallProduct, DELETE angesprungen. Diese wird jedoch nicht verarbeitet, da diese das Flag „DELETE“ besitzt, was aussagt, dass die Sektion nur bei der Deinstallation ausgeführt wird.
  6. Jetzt wird die Zeile #Reg:Product, DONTDELETE angesprungen. Diese wird ausgeführt, und das nur bei der Installation, da die Sektion das Flag „DONTDELETE“ besitzt.
  7. Es wird der Registry Eintrag Version = 2 unter HKLM\Software\Hersteller\Software vom Typ REG_SZ gesetzt.
  8. Anschließend wird die Sektion [INI:Product] und danach
  9. [Security:Product] angesprungen. In beiden Fällen gibt es nichts zu tun.
  10. Als letztes, obwohl es nicht unter [Product] aufgeführt ist, wird die Sektion [Shell:Product] ausgeführt.

Die Installation ist fertig, es gibt eine Verknüpfung auf dem Desktop, dass das Programm „Datei.exe“ startet.

Deinstallationsabfolge

Die Deinstallation wird in umgekehrter Reihenfolge verarbeitet und startet somit von unten in der [Product] Sektion.

  1. Ä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.
  2. 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 „DELETE“ gesetzt haben.
  3. 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.
  4. Nun wird als letztes die Sektion [Set:Product] verarbeitet.
  5. Hier wird nun der Kopiervorgang „1:…“ rückgängig gemacht und die Datei gelöscht. Bestimmten Befehlen muss ein „-“ vorangestellt werden, damit diese bei der Deinstallation ausgeführt werden.

Die Deinstallation ist nun abgeschlossen.

Wenn man sich das selbst einmal anschauen möchte, so kann man den Empirum Package Editor starten, in die „Erweiterte Ansicht“ wechseln und die Setup.inf im Einzelschrittmodus durchlaufen.

Auszug aus einer Setup.inf

...
[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv <Variable>
#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

Der Beitrag Setup.inf Abarbeitung erschien zuerst auf Workplace Management Blog.

]]>
https://www.wpm-blog.de/setup-inf-abarbeitung/feed/ 6