TL;DR What is the sane way to automate invokation of VS 2017 vc_redist
when called in a chain of several installers?
The Visual C++ Redistributable Installer that MS provides for VS 15.x (VS 2017), namely both (14.15.26706 - VS 15.8.4)):
vc_redist.x86.exe
vc_redist.x64.exe
As part of our full product installation, I have to run several vcredist installers (also older versions) silently.
The problem now is that these installers will refuse to install if a reboot is pending (e.g. "HKLM:SYSTEMCurrentControlSetControlSession Manager" - PendingFileRenameOperations
).
When calling these installers with vc_redist /q
, they will even trigger an immediate system reboot. This can be fixed by calling them with /q /norestart
, however:
When calling vc_redist /q /norestart
, and if a reboot is pending prior to this installer, it will return MSI exit code 3010
which indicates that a reboot is required.
However, AFAIK, this exit code also indicates, that this very setup requires a reboot to complete.
Actual question
So, I cannot distinguish whether this installer was succesful and just requires a reboot at the very end of my installation sequence (I do install otehr stuff before and after) - or whether the installer actually refused to do anything and I would need to restart the system and start this installer again!
How can I call this vc_redist in a chain of different third party installers and
- ideally require just one reboot at the very end
- at the very least, determine whether it installed successfully.
Some additional infos, fwiw:
Not sure these helkp with the question, but for completeness sake.
- The installer GUI clearly indicates what is going on: (sorry, german Windows)
![Popup Box](https://i.stack.imgur.com/PWreg.png)
"No action was taken because a reboot of the system is required."
![Summary / Close / Restart](https://i.stack.imgur.com/ejuyq.png)
As you can see from this sequence, rebooting after each vcredist woud be insane, and luckily it seems only the 2017 redist exhibits this unfortunate behaviour so far.
Of note: My trial runs on my dev machine all started with a reboot already pending at "step 0", and both the VC2005 and VC2010 installer run just fine (as verified through their GUI progress) even if a reboot is pending before hand. It's the VC2017 installers that refuse to do anything if a reboot is pending.
See Question&Answers more detail:
os