Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ISO für Visual Studio 2015/2017 bauen (https://www.delphipraxis.net/194049-iso-fuer-visual-studio-2015-2017-bauen.html)

Assarbad 11. Okt 2017 14:21

ISO für Visual Studio 2015/2017 bauen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

ich wollte eigentlich nur ein kleines Skript teilen, welches ich für mich selbst geschrieben hatte um mir eine ISO für die Installation der jeweils aktuellsten VS-Version zu erstellen. Seit VS2017 hat sich Microsoft überlegt, daß sie keine ISOs mehr anbieten. Nachteil für mich/uns ist, daß man somit keine Möglichkeit hat den aktuellen Stand der Toolchain sinnvoll zu archivieren um später seine Buildumgebung in gleicher Form wiederherzustellen.

Aber, Microsoft bietet eine Methode an um sich alles für eine Offline-Installation herunterzuladen. Die entsprechende Dokumentation findet sich hier und im Speziellen hier.

Dazu lädt man sich das Setupprogramm herunter und startet es mit speziellen Parametern. Ergebnis sind die für eine Offline-Installation notwendigen Dateien in dem per --layout angegebenen Verzeichnis.

Zusammen mit dem Tool zur Erstellung von Betriebssystemabbildern oscdimg.exe, welches man sich aus dem Windows ADK (früher AIK) holen kann (ich bevorzuge noch die Version für Windows 7), und dem folgenden Skript läßt sich mit diesem Wissen einfach eine ISO-Datei erstellen, welche die aktuellste VS2017-Installation beinhaltet. Aus Lizenzgründen liegt oscdimg.exe natürlich nicht meinem Skript bei.

Code:
@echo off
:: Create the folder which will be made into an ISO with:
::  vs_Professional.exe --layout %CD%\vs2017pro --lang en-US
if not exist "%~dp0oscdimg.exe" echo Could not find oscdimg.exe next to this script in %~dp0&exit /b 1
set IMGLABEL=%~1
if "%IMGLABEL%" == "" echo You need to give a label for the image to be created&exit /b 1
set VSDIR=%~2
if not exist "%VSDIR%" echo The folder supposed to contain the offline installation components ^(%VSDIR%^) does not exist&exit /b 1
xcopy /y "%~dpnx0" "%VSDIR%\"
if not exist "%VSDIR%\%~nx0" echo Could not copy %~nx0 into %VSDIR%&exit /b 1
xcopy /y "%~dp0oscdimg.exe" "%VSDIR%\"
if not exist "%VSDIR%\oscdimg.exe" echo Could not copy oscdimg.exe into %VSDIR%&exit /b 1
:: -oc This option will encode duplicate files only once. It does
::    a binary compare on the files and is slower.
:: -g This option makes all times encoded in GMT time rather than the
::    local time.
:: -h This option will include all hidden files and directories under the
::    source path for this image.
:: -l This options specifies the volume label. This should be 32
::    characters or less. There is no space after this option.
::    Example: -lMyVolume
:: -u2  This option is used to produce an image that has only the UDF
::     file system on it. Any system not capable of reading UDF will
::     only see a default text file alerting the user that this image is
::     only available on computers that support UDF.
:: -yl This option will use long allocation descriptors instead of short
::     allocation descriptors.
:: Writes UDF revision 2.00  (Supported: Windows XP and later)
@echo on
"%~dp0oscdimg.exe" -oc -g -h -l%IMGLABEL% -u2 -yl -udfver200 "%VSDIR%" "%VSDIR%.iso"
@echo off
Ich habe das Skript buildiso.cmd genannt, aber ihr seit selbstverfreilich frei in der Namenswahl. Es handelt sich um ein einfaches NT-Skript (Nachfolger von DOS-Batch und Vorgänger von PowerShell).

Das Ergebnis ist für die aktuelle Version 15.4 von Visual Studio 2017 Professional eine 28,6 GiB große ISO-Datei die ab Windows Vista mit Bordmitteln lesbar sein sollte.

Diese Methode funktioniert auch mit den Build Tools für Visual Studio und könnte auch mit den Community-Versionen funktionieren, was ich allerdings nicht probiert habe.

[Falls kein Interesse besteht, können die Mods das ja gern löschen oder alternativ verschieben.]

Der schöne Günther 11. Okt 2017 16:42

AW: ISO für Visual Studio 2015/2017 bauen
 
DANKE! :thumb:

Probiere ich diese Woche noch aus! Sie können ja gerne den ISO-Direktdownload ausbauen, aber hätten Sie nicht einfach einen "Build ISO"-Knopf einbauen können für das Menü wo man sich alles anhakt? Warum so kompliziert? Es wäre doch keine Raketenwissenschaft gewesen.


Ich bin leider so schlecht, ich brauche noch Hilfe: Welche Dateien brauche ich dazu? Den Web-Installer? Welche Parameter braucht das Skript?

Moment, das Skript macht im Endeffekt aus einem Verzeichnis eine ISO, oder? Ich dachte erst es nimmt mir das Gefummel mit den Kommandozeilenargumenten für das VS-Setup ab...

Assarbad 11. Okt 2017 18:41

AW: ISO für Visual Studio 2015/2017 bauen
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1383127)
Moment, das Skript macht im Endeffekt aus einem Verzeichnis eine ISO, oder? Ich dachte erst es nimmt mir das Gefummel mit den Kommandozeilenargumenten für das VS-Setup ab...

Moin, genau. Das "kann" es (noch) nicht, weil in der Vergangenheit der Name des Setup-Programms von Ausgabe zu Ausgabe variierte. Inzwischen scheint man sich bei Microsoft auf vs_Professional.exe und vs_BuildTools.exe usw. geeinigt. Könnte man zwar einbauen, wäre aber im Endeffekt ein extra Parameter (ich weiß ja nicht exakt welche Ausgabe du bauen willst und wie die .exe heißt; bspw. in meinem Fall baue ich mir immer generell die Professional und die Build Tools).

Kann das aber gern nachschieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz