GOOGLE ADS

Mittwoch, 13. April 2022

Beste Methode zum Extrahieren der Liste der installierten Komponenten von Visual Studio 2017

Was wäre der beste Weg, um installierte Komponenten meiner Visual Studio 2017-Installation aufzulisten?

Ich weiß, dass ich den Visual Studio-Installer > Ändern starten und dort die Workloads oder einzelne Komponenten überprüfen kann.

Aber es scheint keine Möglichkeit zu geben, die Liste der installierten Komponenten in eine TXT-Datei zu extrahieren?
(Ich mache jetzt Screenshots, um zu dokumentieren, was ich habe)

Gibt es irgendeinen Weg? Kann ich zB vielleicht die Kommandozeile des Windows Studio Installers ausführen?


Lösung des Problems

Basierend auf der großartigen Antwort von https://stackoverflow.com/a/45330187/902415

Hier ist das nicht interaktive Snippet, das auch für VS Build Tools funktioniert
(nicht nur Community\Professional\Enterprise)

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module VSSetup -Scope CurrentUser -Force
(Get-VSSetupInstance | Select-VSSetupInstance -Product *).packages

Erwähnenswert ist auch der Ursprung dieses Moduls: https://github.com/Microsoft/vssetup.powershell.git

Wenn Sie hoffen, diese Informationen für eine skriptgesteuerte (Neu-)Installation von Workloads/Komponenten zu verwenden, ist Ihnen die spezifische Komponentenebene möglicherweise egal (VIELE Komponenten werden automatisch geladen) und Sie interessieren sich wahrscheinlich mehr für „Workloads".

Die vollständige Liste ist in der Microsoft-Dokumentation verfügbar, und Sie können die Version so ändern, dass sie vs. 2019 pro oder vs. 2017 Buildtools oder was auch immer widerspiegelt. https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-professional?view=vs-2019

Dies ist der Befehl zum Abrufen der Liste der installierten Workloads (3 Workloads vs. 564 Komponenten....).

(Get-VSSetupInstance | Select-VSSetupInstance -Product *).packages | Where-Object { $_.Id -like '*Workload*' } | select -ExpandProperty Id

Wie im Kommentar erwähnt, können Sie einfach nur die Ids in eine Datei leiten und diese dann in einem Installationsskript durchlaufen (ich verwende ASCII als Codierung, da dies mit Editoren besser kompatibel ist).

(Get-VSSetupInstance | Select-VSSetupInstance -Product *).packages | Where-Object { $_.Id -like '*Workload*' } | Select -ExpandProperty Id | Out-File -Encoding ascii -FilePath $HOME/vs-packages.txt

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...