Page 1 of 1

Check for VC81 distributables takes really long

Posted: Tue Aug 18, 2015 12:02 pm
by mwilner
Hello,
In my installation I have the pre-requisite of VC2010 and VC2008 re-distributable and this is checked off in the Application Runtime section.
This injects scripts into the project and the one checking for VC2008 runtimes is using the following code:
~InstallAware Clipboard Data~
~Label~
~{A925B573-23E3-4899-9690-ED5E6B43931B}~
~Parse VC81_X64~
~Find All Files~
~{8BD74222-BA72-4962-A989-834803C185D4}~
~$WINDIR$\WinSxS\mfc80.dll~
~TRUE~
~FALSE~
~VC81_X64~

This may take apparently a long time and can cause the dialog to either disappear or be stale for a long time to the extend that the user may think that the installation crashed.

Why is this taking so long?
Best regards,

Re: Check for VC81 distributables takes really long

Posted: Tue Aug 18, 2015 12:53 pm
by FrancescoT
Dear Manfred,

that's due the "Find All Files" command that may require some time to complete.

You could eventually use a different approach in order to customize that way used to detect if the package is already installed.
At such purpose you may replace that part of code in order to use "Is MSI Installed" command. Of course you must know in advance the relative GUID for the "VC2008 runtimes".

You can retrieve the "GUID of VC2008 runtimes" inspecting the Windows Registry of a system where the same package is already installed.

This information is stored under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<PRODUCTCODE>

The same can be under the registry path below in case of 32 bit application installed on a x64 OS.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\<PRODUCTCODE>.

Hope this helps you.

Regards

Re: Check for VC81 distributables takes really long

Posted: Tue Aug 18, 2015 1:28 pm
by mwilner
Thank you Francesco,
That is a great idea and I will try it out.

Best regards,

Re: Check for VC81 distributables takes really long

Posted: Wed Aug 19, 2015 12:57 pm
by FrancescoT
:D