Visual Studio offline installieren

    • Allgemein

      Visual Studio offline installieren

      Servus Leute!

      Bin heute eher zufällig drauf gestoßen, wie man VS auch offline installieren kann - also auch auf Rechner, die keine Zugang zum Internet haben. Das ganze lässt sich mit dem VS-Setup, der DOS Konsole und ein wenig Zeit recht leicht lösen:

      Um das ganze zu starten braucht ihr einen Rechner, der Internetverbindung hat, mit dem surft ihr dann auf die MSDN Webseite, auf der man den Installer für VS bekommt. Hier kann dann auf der linken Seite zwischen den verschiedenen Versionen von VS gewählt werden. Da ich selber die Community Editon verwende, werde ich das hier anhand von Installer für VS 2015 CE zeigen. Da sich die Installation sowohl für die die Professional und für die Enterprise Edition gleich der Community Edition verhalten, ist es nur nötig, den Namen des Setup-Programmes (vs_community.exe) entsprechend an zupassen. So wird bei der professional Variante aus vs_community.exe ein vs_professional.exe.




      Als Erstes wählt man sich die korrekte Version aus und klickt auf Download:



      Für den zweiten Schritt legt man sich den Installer für VS an einen Ort, an den man bequem mit der Console hinkommt. Der Pfad sollte auch nicht zu lange sein, da VS mit Pfadangaben, die länger als 260 Zeichen sind, Probleme hat. Man kann das Setup mit diversen Paramtern aufrufen (wer sie alle wissen will, der kann entweder einfach mal vs_community.exe /? machen oder auf die Dokumentation von MSDN gehen). Unser Ziel ist es aber das ganze auf dem Rechner zu speichern, um das ganze dann u.U. auf einen Server zu packen, sodass sich in einer Abteilung ned 20 Leute die selben 20 GB runterladen, sondern einer das ganze einmal macht und die anderen das dann vom Server ziehen (geht einfach schneller ;D ).

      Um das ganze jetzt auf der lokalen Platte zu speichern, bedarf es des Parameters/layout. Diesem Parameter kann man (optional) einen Pfad mitgeben, in dem das ganze gespeichert werden soll. Er kann aber auch weglassen und später im Installer noch eingegeben werden. Nach dem Aufruf des Installers mit (oder mit ohne des Pfades) erscheint der altbekannte Ladescreen. Nach etwa 1er Minute hingegen erscheit eine neue Anzeige.

      Hier einfach Herunterladen klicken. Anschließend werden etwa 7 - 8 GB an Daten in das eben angegebene Verzeichnis geladen. Andere Quellen sprechen von insgesammt 22 GB - bestehend aus 7GB ISO und 15 GB an Download-Material. Als Alternative kann beim Download von MSDN auch eine ISO ausgewählt werden. Diese hat eine Größe von ~4GB. ISO downloaden, entpacken, Installer mit Parameter layout starten, dann läd es die restlichen Daten (~3GB herunter).

      Jetzt nur noch den Ordner auf ein Netzlaufwerk kopieren/verschieben. Von dort aus kann dann dann über die Datei vs_community.exe der Installationsprozess gestartet werden.

      Wer sich die Dokumentation der CommandLine Paramter angesehen hat, wird feststellen, dass es eine AdminFile gibt. Diese XML-Datei ist dafür gedacht, den Installationsprozess unbeaufsichtig (MSDN - Deutscher Text | MSDN - Englischer Text) laufen lassen zu könne (Silent Install). Hierzu
      1.) sich über den Aufruf des Setups mit dem Parameter /CreateAdminFile <pfad> die XML-Datei generieren lassen,
      2.) entsprechend bearbeiten und
      3.) eine Batch erstellen, welche den Installer mit der Datei über vs_community.exe /AdminFile <pfad> aufruft. Das Setup liest die Datei aus und erkennt, welche Komponenten er installieren soll und welche nicht.

      CommandLine

      Dieses Setup unterstützt die folgenden Schalter:

      /? Zeigt diesen Verwendungstext an.
      /H
      /Help

      /AdminFile <Dateiname> Gibt die Installationssteuerungsdatei an.

      /CreateAdminFile <Dateiname> Gibt den Speicherort für die Erstellung einer Steuerungsdatei an, die anschließend mit "/AdminFile" verwendet werden kann.

      /CustomInstallPath <Pfad>
      Legt einen benutzerdefinierten Installationspfad fest.

      /ForceRestart System nach der Installation immer neu starten.

      /Full Installiert alle Produktfeatures.

      / InstallSelectableItems <Element1;Element2;...;ElementN> Wählen Sie die zu installierenden auswählbaren Elemente aus. Wenn keine auswählbaren Elemente installiert werden sollen, übergeben Sie einfach diesen Schalter ohne Wert.

      /Layout Erstellt eine Kopie des Mediums im angegebenen Ordner.

      /L <Dateiname> Gibt einen Speicherort für die Protokolldatei an.
      /Log

      /NoRefresh Verhindert die Suche nach Updates aus dem Internet durch Setup.

      /NoRestart Kein Neustart während oder nach der Installation.

      /NoWeb Verhindert das Herunterladen aus dem Internet durch Setup.

      /Passive Zeigt den Fortschritt an, wartet jedoch nicht auf Benutzereingaben.

      /ProductKey <Product Key mit 25 Zeichen>
      Legt einen benutzerdefinierten Product Key fest (ohne Bindestriche).

      /PromptRestart Fordert den Benutzer zum Bestätigen des Neustarts auf.

      /Q Unbeaufsichtigter Modus ohne Anzeige und Benutzerinteraktion.
      /Quiet
      /S
      /Silent

      /Repair Repariert das Produkt.

      /U Deinstalliert das Produkt.
      /Uninstall

      /U /Force Deinstalliert das Produkt und alle Features, die gemeinsam mit anderen Produkten verwendet werden.
      /Uninstall /Force Wenn Sie diesen Schalter verwenden, funktionieren andere Produkte, die auf diesem Computer installiert sind, möglicherweise nicht mehr ordnungsgemäß.


      Ich hoffe ich konnte Euch helfen und dem ein oder anderen den Tag erleichtern!

      Lg Radinator
      Bilder
      • vs_download.png

        132,59 kB, 1.158×886, 1.806 mal angesehen
      • vs_download2.png

        56,4 kB, 1.170×726, 1.784 mal angesehen
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell