enrixk
Goto Top

Software-Extensions mit CMD-Befehlen automatisiert verteilen

Hallo,

ich bräuchte mal eure Meinung.

Ich muss gelegentlich OPSI-Skripte schreiben, um Software zu verteilen. Dabei verwende ich innerhalb des OPSI-Skripts hauptsächlich ganz normale CMD-Befehle. Letztens habe ich ein Skript geschrieben, das systemweit das Programm Visual Studio Code installiert.

Visual Studio Code arbeitet allerdings mit Extensions, die man während der Laufzeit nachladen muss. Standardmäßig werden diese Extensions unter %USERPROFILE%\.vscode\extensions abgelegt.

Mein Problem ist jetzt das Folgende:
Bei uns dürfen die Benutzer keine Software-Extensions nachinstallieren. Aus diesem Grund habe ich die Extensions manuell heruntergeladen und den entsprechenden Visual Studio Code-CLI-Befehl benutzt um die Extensions zu installieren. Während der Softwareinstallation waren die Benutzer in der Domäne angemeldet. Nach erfolgreicher Installation konnten sie die Extensions nutzen. Als sich aber andere Benutzer an den Clients anmeldeten, standen ihnen die Extensions nicht mehr zu Verfügung. Mein Skript hat die Extensions nur für die Benutzer installiert, die während der Installation angemeldet waren.

Habt ihr eine Idee, wie ich mit entsprechenden CMD-Befehlen angeben kann, dass die Extensions für alle Benutzer installiert werden sollen?

Der Vollständigkeit halber füge ich mein OPSI-Skript hinzu.

[Initial]
Message="Installiere Visual Studio Code"  
DefVar $ExitCode$
DefVar $policy$

[Aktionen]
ShowBitmap "%ScriptPath%\logo.png" "Microsoft Visual Studio Code"  
WinBatch_Setup
WinBatch_Extensions
WinBatch_TASKKILL
Sub_HandleExitCode


[WinBatch_Setup]
"%ScriptPath%\data\VSCodeSetup-x64-1.55.2.exe" /VERYSILENT /NORESTART  

[WinBatch_Extensions]
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_csharp.vsix  
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_coderunner.vsix  
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_xmldoc.vsix  
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_nuget.vsix  
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_previewer.vsix  
dotnet new --debug:reinit


[WinBatch_TASKKILL]
TASKKILL /IM code.exe /F

[Sub_HandleExitCode]
; check return code
Set $ExitCode$ = GetLastExitCode
comment "GetLastExitCode: " + $ExitCode$  
if not($ExitCode$ = "0")  
  LogError "Fatal: setup returned exit code " + $ExitCode$  
  IsFatalError
endif

Content-Key: 666448

Url: https://administrator.de/contentid/666448

Printed on: April 25, 2024 at 09:04 o'clock

Member: mayho33
mayho33 May 05, 2021 updated at 21:27:37 (UTC)
Goto Top
Die meisten vsix sind Userbasierend. Eventuell mit einem ActiveSetup.

Hier wird das ziemlich gut beschrieben:

https://helgeklein.com/blog/2010/04/active-setup-explained/


2. Möglichkeit:

Den Switch /admin bei der Installation verwenden.

VSIXInstaller.exe /admin "file_path.vsix"  


Grüße!
Member: GarfieldBonn
GarfieldBonn May 05, 2021 at 21:21:01 (UTC)
Goto Top
Ist ein bekanntes Problem von VS code. Hier gibt es ein paar mehr oder weniger praktikable Workarounds:
VS-Code extension-dir