Bei uns wurde eine Laserbox gekauft, für die die Software xTool Creative Space installiert werden muss. Ich habe dann beim Hersteller der Software nach einer verteilbaren Version oder nach „silent install“ Parametern gefragt, aber ich bekam nur Standardantworten und keine richtige Unterstützung.
Also musste ich selber ein wenig nachforschen. Scheinbar verwendet xTool Creative Space InstallShield als Installer. Zumindest funktioniert der Befehl setup.exe /S. Wenigstens dieses Aussage hätte ich vom Support erwartet.
Wenn man die exe Datei mit 7Zip extrahiert, findet man im Ordner $PLUGINSDIR eine Datei app-64.7z. Nachdem man diese Datei auch noch extrahiert, erhält man einen Ordner aus dem das Programm ohne weitere Installation läuft, also wie eine portable app. Auf diesem Weg muss man eine Verknüpfung ins Startmenü erstellen, beim anderen Befehl muss man die Verknüpfung auf dem Desktop löschen, beides ist möglich. Soweit, so einfach.
Wenn man aber das Programm zum ersten Mal startet, sieht man das nächste, deutlich grössere Problem. Es werden zwei verschiedene Treiber benötigt, die man zwar beide aus dem Programm heraus installieren kann, aber halt wieder nur mit Adminrechten.

Klickt man beim ersten Treiber (CH340) auf „Installieren“, öffnet sich ein weiteres Fenster, aus dem man den Treiber installieren kann.

Schon zu diesem Zeitpunkt gibt es auf der lokalen Festplatte einen neuen Ordner WCH.CN (der nach der Installation nicht einmal aufgeräumt wird).

Die Setup.exe Datei in einem Unterordner lässt sich mit dem Parameter /S ohne Benutzerinteraktion durchführen.

Damit lässt sich also das eine Treiberproblem auch vollständig automatisieren. Bleibt noch das zweite…

In der oben beschriebenen app-64.7z findet man einen Ordner rndis mit Treibern und einem Installationsprogramm. Auch die darin vorhandene Datei usb-driver-installer-x64.exe lässt sich mit dem Parameter /S ohne Benutzerinteraktion installieren.

Danach startet das Hauptprogramm ohne Meldungen wegen fehlender Treiber.

Damit ist das Vorgehen klar. Man erstellt einen Ordner mit dem Programm, einen mit dem passenden Link ins Startmenü und einen für den CH340 Treiber. Dazu zwei Batchdateien install.cmd und uninstall.cmd mit den Befehlen zur Installation resp. Deinstallation.

Hier der Inhalt der install.cmd Datei:
REM Laserbox auf C:\Program Files\Makeblock\xTool Creative Space kopieren
robocopy %~dp0\laserbox "C:\Program Files\Makeblock\xTool Creative Space" /E
REM Verknuepfung in Startmenue kopieren
robocopy "%~dp0\link" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" "xTool Creative Space.lnk"
REM CH340 Treiber installieren
cd %~dp0CH341SER
start /wait SETUP.EXE /S
cd %~dp0
REM rndis Treiber installieren
start /wait %~dp0laserbox\buildResources\driver\win\rndis\usb-driver-installer-x64.exe /S
REM Version ueberpruefen ueber Datei Datum
@echo installed > "C:\Program Files\Makeblock\xTool Creative Space\installed.txt"
Für die Deinstallation mit der uninstall.cmd muss man nur Ordner löschen. Die Treiber kann man belassen.
REM Laserbox auf C:\Program Files\Makeblock\xTool Creative Space loeschen
rd "C:\Program Files\Makeblock\" /S /Q
REM Verknuepfung in Startmenue loeschen
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\xTool Creative Space.lnk"
Aus den oben genannten 3 Ordner und 2 Batchdateien erstellt man eine intunewin Datei für die Installation über Intune.
Diese lädt man auf Intune hoch und erstellt eine App mit den beiden Batchdateien als „Install command“ resp. „Uninstall command“:

Als Detection rule überprüft man, ob die am Schluss des Installationsskripts erstellte Datei installed.txt neuer als ein Datum vor der Paketierung ist. So kann man bei einem Update sicherstellen, dass die neueste Version installiert wird. Beim ersten Mal könnte man auch einfach überprüfen, ob die Datei vorhanden ist.

Die Intune App kann man nun einer Gerätegruppe vollautomatisch zuweisen und/oder über das Unternehmensportal zur Installation anbieten.

Unabhängig davon, ob man die Software so automatisch verteilt, oder privat manuell als Benutzer mit Adminrechten, muss man beim ersten Start den Hinweis der Firewall abbrechen und dann die Laserbox über „Gerät verbinden“ rechts oben verbinden.

Danach ist die Laserbox verbunden und man kann damit arbeiten.
