Manuell DLLs aus "vcredist.x86.exe" extrahieren

vcredist
windows
visualstudio
Tags: #<Tag:0x00007fb06aa403e0> #<Tag:0x00007fb06aa40160> #<Tag:0x00007fb06aa47c80>

#1

Die “Visual C++ Redistributable für Visual Studio” in den aktuellen Versionen (jeweils x86 und x64) sind monolitische EXE-Setups.

Manchmal möchte man daraus Dateien extrahieren, ohne erst das Setup zu installieren.

Da “vc_redist.x86.exe” in neueren Versionen mit dem WiX Toolset erstellt wurde, kann dieses auch dazu verwendet werden, die EXE wieder zu entpacken:

  1. Ein aktuelles ZIP-Binary-Release von WiX downloaden.
  2. Den ZIP-Download per Rechtklick in Windows Explorer unter “Eigenschaften” mit “Zulassen” freischalten.
  3. Das ZIP-Release entpacken.
  4. Auf der Befehlszeile mit dem Tool “Dark” das EXE-Archiv entpacken:
    c:\wix311\dark.exe -x c:\temp\dst c:\temp\vc_redist.x86.exe
    
  5. In den extrahierten Ordner (“C:\Temp\Dst”) wechseln.
  6. Dort das effektive MSI-Paket lokalisieren. Bei mir in VC++ 2015 war das “C:\temp\dst\AttachedContainer\packages\vcRuntimeMinimum_x86\vc_runtimeMinimum_x86.msi”
  7. Aus diesem MSI dann mit lessmsi die DLLs extrahieren.

Tipp von hier.


Das Obige funktioniert für folgende Versionen:

Für folgende Versionen geht das nicht:

Diese können jedoch einfach mit 7-Zip entpackt werden, und dann an lessmsi übergeben werden.

Hier ist nochmals eine aktuelle Übersichtsseite aller VC++-Downloads.


Erkennen, welche DLLs vcredist_x86.exe (VC 2012) auf dem Zielsystem installiert