C++ Runtimes not installed

Got a problem you cannot solve? Try here.
johnbyerly
Posts: 44
Joined: Fri Apr 12, 2013 2:30 pm

C++ Runtimes not installed

Postby johnbyerly » Fri Jul 07, 2017 11:19 am

Hi,

In most cases, customers have no problem installing our product. If the C++ runtimes (11.0 and 12.0) need to be installed, they are. If they do not need to be installed, no problem.

We are seeing a few cases, however, where the check for C++ runtimes passes (as if they are already on the target system), so the runtimes are not installed. Then, when our product is launched, it crashes because the required runtimes do not exist. We have had to work around this problem by sending the affected customers the runtimes distributable package (from Microsoft) and have them manually install it. Then our product works fine.

We have been using X4, but one of our engineers has downloaded X6 and compared the scripts that do the check and they are identical.

We are not sure how our customers' systems are getting into this state, but there have been an increasing number of these occurrences.

Can you offer any guidance?

One thought was to force the install of the runtimes always (remove the check). Not sure I like this solution, but we seem to be running out of options.

JAB

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: C++ Runtimes not installed

Postby FrancescoT » Fri Jul 07, 2017 1:31 pm

Dear JAB,

the problem you are reporting is caused by the fact, that "sometimes", the VC++ installer fails to remove the installed files when un-installing the package. This doesn't happen very often ...however, it can happen due some unknown circumstances.

So suppose the case that for some reasons, the VC++ runtimes get uninstalled from the target system just before to install your package, it can happen that your installer will skip to install those runtimes.

The IA check script verifies the presence (...and the version) of one of the vc++ Runtime "files" in the system directory of the target OS. Consequently, if for some reasons such file doesn't get removed by the VC++ installer, the IA check script will pass this verification successfully and the VC++ RTM installation gets skipped.

To solve the issue, you may force your setup to install such RTMs Always. This doesn't cause any problem and I have also used this workaround sometimes. This is very simple to achieve.

Alternatively, you may check the target registry for the presence of the specific "PRODUCTCODE KEY" of the VC++ 11.0/12.0.

This get stored under;
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall".

For example, for what concerns specifically the "VC++ x86 11.0 RTM" and if the target OS is a 64 bit system, this will be stored as;
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{6A86554B-8928-30E4-A53C-D7337689134D}"

That said, you may eventually check for the presence of the "{6A86554B-8928-30E4-A53C-D7337689134D}" key (when installing the "VC++ x86 11.0 RTM") along with the RTM version stored under the same registry key.

*For what concerns the "VC++ 12.0 RTMs", you should first install the RTMs on a test machine in order to manually verify which is the respective "PRODUCTCODE KEY" to check.

I know, this last approach is a bit Tricky.
In addition, the same cannot be used with the most recent versions of the VC++ RTMs.
Microsoft totally changed the way used to deploy these packages.

Hope this helps you.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

johnbyerly
Posts: 44
Joined: Fri Apr 12, 2013 2:30 pm

Re: C++ Runtimes not installed

Postby johnbyerly » Mon Jul 10, 2017 9:09 am

Francesco,

As always, thank you so much for your help!

I changed our script to always install the runtimes. We may decide to check the registry in the future, but the feeling here is that it might not be as reliable as installing always.

Thanks again!

JAB

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: C++ Runtimes not installed

Postby FrancescoT » Mon Jul 10, 2017 2:10 pm

:D
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 33 guests