sergman
sergman

Reputation: 171

MSI for Visual C++ 2015

I need to install redistributable Visual C++ 2015 on three hundred computers in a corporate office. Is there any way to convert EXE to MSI. It would save tons of time.

Upvotes: 5

Views: 14920

Answers (3)

Martin Ba
Martin Ba

Reputation: 38766

The Visual Studio 2015 and 2017 installers are built with the WiX toolset.

You can extract the contents of these with the dark tool:

+>dir /b vc_*
vc_redist.x64.exe
vc_redist.x86.exe

+>mkdir x64-extracted

+>c:\local\WiX-3.11.1-bin\dark.exe vc_redist.x64.exe -x x64-extracted
Windows Installer XML Toolset Decompiler version 3.11.1.2318
Copyright (c) .NET Foundation and contributors. All rights reserved.

vc_redist.x64.exe

+>cd x64-extracted

+>dir /b /s
....\vcredist-2015\x64-extracted\AttachedContainer
....\vcredist-2015\x64-extracted\UX
....\vcredist-2015\x64-extracted\AttachedContainer\packages
....\vcredist-2015\x64-extracted\AttachedContainer\packages\Patch
....\vcredist-2015\x64-extracted\AttachedContainer\packages\vcRuntimeAdditional_amd64
....\vcredist-2015\x64-extracted\AttachedContainer\packages\vcRuntimeMinimum_amd64
....\vcredist-2015\x64-extracted\AttachedContainer\packages\Patch\x64
....\vcredist-2015\x64-extracted\AttachedContainer\packages\Patch\x86
....\vcredist-2015\x64-extracted\UX
...

+>

This will contain the vc_runtimeMinimum_x64.msi along with a cab1.cab that contains the actual data and the vc_runtimeAdditional_x64.msi along with another cab1.cab with the MFC dlls.

Note that it will also contain a bunch of MSU files (under the ..\Patch\..) subdir, that contain operating system patches for a minimum version of the Universal C Runtime. The UCRT is the part of the C runtime library that is no longer VS version specific, but an OS component.

Upvotes: 5

Musa
Musa

Reputation: 17

I looked for a solution for that, too but couldn't find a way.

I just deploy it with powershell with silent switch like this:

& "\\MyServer\path\vc_redist.x86.exe" /q /norestart | Out-Null

Upvotes: 1

Bogdan Mitrache
Bogdan Mitrache

Reputation: 10993

Have you tried to extract it, as in the this example?

Upvotes: 0

Related Questions