Welche Befehlszeilenparameter gibt es für "MathWorks​UpdateInst​aller.exe"​? What command-line parameters are available for "MathWorks​UpdateInst​aller.exe"​?

5 vues (au cours des 30 derniers jours)
Ich habe zwar die Seite Update MathWorks Software on Offline Computer - MATLAB & Simulink gelesen, allerdings finde ich keine Auflistung der möglichen Befehlszeilenparameter außer --destination <path>
  1. Gibt es einen Parameter, um Namen und Pfad der Log-Datei selbst zu definieren? -outputfile "C:\path\to\logfile.log" funktioniert jedenfalls nicht.
  2. Gibt es einen Parameter, der verhindert, dass nach dem Update Matlab.exe gestartet wird?
Hintergrund meiner Frage: Ich möchte das Update automatisieren (unattended oder silent) und zwar so, dass der Schritt "Launching MATLAB" im Update-Prozess nach "Cleaning product installation files completed" nicht ausgeführt wird.
"I have read the page Update MathWorks Software on Offline Computer - MATLAB & Simulink but I couldn't find a list of available command-line parameters other than --destination <path>
  1. Is there a parameter to define the name and path of the log file? -outputfile "C:\path\to\logfile.log" doesn't seem to work.
  2. Is there a parameter to prevent launching Matlab.exe after the update process?
The reason for my question is that I want to automate the update process (unattended or silent) in such a way that the step 'Launching MATLAB' in the update process is not executed after 'Cleaning product installation files completed.'

Réponse acceptée

Andreas Goser
Andreas Goser le 15 Juin 2023
Hallo Lorenz, auch ich konnte keine weitere Dokumentation zu zusätzlichen Parametern finden. Möglicherweise gibt es da etwas Undokumentiertes. In jeden Fall wäre es wichtig dies als Verbesserungsvorschlag in die richtige Abteilung einzubringen. Ich schlage vor, dass Sie den (Installations-)Support kontaktieren:

Plus de réponses (1)

Lorenz Winkler
Lorenz Winkler le 15 Juin 2023
Folgende Parameter kann man über Umwege noch rausfinden:
--targetupdatelevel ""
--linklabel ""
--entitlementid ""
--linkurl ""
  1 commentaire
Lorenz Winkler
Lorenz Winkler le 27 Juin 2023
Modifié(e) : Lorenz Winkler le 27 Juin 2023
Laut Support gibt es nur einen unterstützten Parameter: --destination <path>
Auf den Hinweis der anderen gefundenen Parameter hat der Support nicht mehr reagiert.
D.h. also, dass Pfad und Name der Protokolldatei (.log) kann nicht selbst definiert werden können, und dass nach erfolgtem Update das Matlab-Hauptprogramm gestartet wird (sofern eine Person angemeldet ist).
Dokumentiert sind zwei Update-Varianten: "Workflow: Interactive Online Update" (GUI vom Matlab Hauptprogramm aus) und "Workflow: Silent Offline Update".
Möglich wäre aber auch eine dritte undokumentierte Variante bzw. ein quasi "Workflow: Silent Online Update" in Anlehnung an die beiden dokumentierten Varianten:
  • Im Prinzip kann Workflow 1 mit dem einzigen unterstützten Parameter aus Workflow 2 auch direkt ohne Matlab-Hauptprogramm gestartet werden (z.B. mit Powershell):
Start-Process -FilePath "C:\Program Files\MATLAB\R2023a\bin\win64\MathWorksUpdateInstaller.exe" -ArgumentList --destination "C:\Program Files\MATLAB\R2023a" -Wait -NoNewWindow -PassThru
  • Das Verhalten deckt sich dabei mit jenem von Workflow 1, nur dass am Ende nach erfolgtem Update das Matlab-Hauptprogramm gestartet wird ("Launching MATLAB" im Log) – sofern jemand in Windows angemeldet ist. Wenn niemand angemeldet ist, startet Matlab nicht ("Failed to launch MATLAB" im Log), gefolgt jedoch von den geloggten Meldungen "Update session completed successfully", "Exiting with status 0" und "End - Successful".
In Zusammenhang mit ConfigMrg (SCCM, MCM, MECM) sind jedoch einige Dinge zu beachten, damit die Installation im Systemkontext mittels required deployment nicht hängen bleibt:
  1. Auf 64-Bit-Systemen die Installation nur als 32-Bit-Prozess ausführen (Installation Properties > Programs > Run installation and uninstall program as 32-bit process on 64-bit clients). Hierbei ist zu beachten, dass im Installationsskript nicht die Umgebungsvariable $env:ProgramFiles verwendet wird, das sie sich als "C:\Program Files (x86)" auflöst bzw. "C:\Program Files (x86)\MATLAB\R2023a\" und "C:\Program Files\MATLAB\R2023a\" somit nicht auffindbar ist. Das Update wird quiet (silent) durchgeführt mit Ausnahme des Matlab-Starts am Ende.
  2. Sofern den Benutzenden nicht gestattet wird, die Installation anzuzeigen und mit ihr zu interagieren (Installation Properties > User Experience > Allow users to view and interact with the program installation), erscheint kein Fortschrittsfenster bzw. bleibt das MATLAB-Fenster "MathWorks Update Installer" durch den MATLABWindow.exe-Prozess unsichtbar. Wird diese Einstellung gesetzt, kann die Aktualisierung nur erfolgen, wenn jemand in Windows angemeldet ist. Im Monitoring "Deployment Status" unter dem Reiter "In Progress" erscheint die Meldung "Waiting for user logon", obwohl diese Bedingung nicht dezidiert als "Logon requirement" (Deployment Properties > User Experience) gesetzt ist. Das Update wird unattended – d.h. mit dem sichtbaren Fortschrittsfenster ("MathWorks Update Installer" bzw. MATLABWindow.exe) durchgeführt und am Ende Matlab gestartet.
  3. Die Vorlagerung von PsExec (z.B. PsExec64.exe -accepteula -nobanner -i -s %~dp0Installer.exe /S) als Möglichkeit funktioniert nicht, denn PsExec startet zwar den ersten Aufruf des MathWorks Update Installer ("Workflow: Interactive Online Prepare Update"), nicht jedoch den zweiten MathWorks Update Installer für das eigentliche "Online Update". Ein Abfangen dieser Prozesskaskade immer im Rahmen von PsExec ist mir nicht gelungen.

Connectez-vous pour commenter.

Produits


Version

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!