Error during installation: A DLL required for this install to complete could not be run

Modified on Fri, 30 Sep 2022 at 01:19 PM

If you are trying to install v2.3.0 or newer


Most likely, the problem is that another program mistakenly installed 64-bit versions of the Visual C++ 2015-2022 runtime DLLs in the folder dedicated to 32-bit software (C:\Windows\SysWOW64\).

Please go through the following steps:
  1. Open Add or Remove Programs, locate Visual C++ 2015-2022 Redistributable and uninstall both the x86 version as well as the x64 version. If you're using an x86 OS you will only have the x86 version, of course - just uninstall that one.
  2. After uninstalling, open Explorer, navigate to C:\Windows\System32 then ensure that all files named msvcp140*.dll (e.g., msvcp140.dll, msvcp140_1.dll etc.) as well as vcruntime140*.dll have been removed. If they haven't, delete them manually. Note that if you have any software running that is using these libraries you will have to close it prior to uninstalling and deleting.
  3. Navigate to C:\Windows\SysWOW64\, check for the same files (msvcp140*.dll and vcruntime140*.dll) and delete them if they exist.
  4. Head to https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 and download the latest version of the x86 and x64 runtime. I will paste the direct links here for convenience:
    https://aka.ms/vs/17/release/vc_redist.x86.exe
    https://aka.ms/vs/17/release/vc_redist.x64.exe
  5. Install both runtimes.
    Note: if you have an x64 OS, you must install both runtimes. If you have an x86 OS, you only need to download and install the x86 runtime.
  6. Run the Tick Data Suite installer again.


If this does not solve your problem, please take a look at the antivirus part (#1) of the 2.2.48 solution 


The next part only applies to v2.2.48 and below!

Symptoms


During the Tick Data Suite installation you encounter a message saying "There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor."


Cause


This can be caused by two things:

  1. your antivirus (or antimalware/antispyware/antiwhatever) is blocking access to a DLL that the installer needs.
  2. a different software mistakenly installed 64-bit versions of the Visual C++ 2012 runtime DLLs in the folder dedicated to the 32-bit software (C:\Windows\SysWOW64\).


To check if #2 is the problem, download runtime-test.exe and execute it. If you get an error message telling you that the application was unable to start correctly and mentioning error code 0xc000007b, the problem is indeed the one described at #2 and the resolutions for #2 offered in this article should sort it out. However, if it says "Your Visual C++ 2012 x86 runtime is working fine", you should check your antivirus logs and try the resolution for #1.


Resolution for #1


If you checked your antivirus logs and it's indeed blocking a temporary DLL, the only generic solution is to disable the antivirus temporarily while installing. Some antivirus software packages may have mechanisms that allow you to permit the particular DLL without completely disabling the antivirus - check the manual that came with your software for more information.


Feel free to submit the offending file to virustotal.com - you will notice that the overwhelming majority of engines will not issue a false positive.


Automatic resolution for #2


A batch script is available to fix this issue for you. Download tds2-fix-runtime.bat, right click it and select Run as administrator


Very important: you might have to close all applications before running this script, depending on your version of Windows and on the applications that you have running. If you receive an access denied error and a DownloadFile exception, it is because there are programs running that are using the DLL files. Make sure you also close programs in your system tray that might be using the files. If you would like to find out what process is keeping a file locked, you can take a look at Find out which process is locking a file or folder in Windows - use SysInternals Process Explorer as described in the accepted answer there; you need to search for processes that keep your C:\Windows\SysWOW64\msvcr110.dll and/or C:\Windows\SysWOW64\msvcp110.dll locked.


Once the script is finished, run the Tick Data Suite installer once more.


The script replaces the 64 bit versions of msvcr110.dll and msvcp110.dll with 32 bit versions from the latest runtime. It will make backup copies of your existing DLLs named msvcr110.pretds.dll respectively msvcp110.pretds.dll. If for some reason you wish to restore these backups, you can download tds2-restore-runtime.bat, right click it and select Run as administrator.


Note that the script will check if the existing DLLs are indeed 64 bit versions before replacing them and will not replace them otherwise. It is possible to force their replacement by editing the script and changing SET FORCE=0 to SET FORCE=1 in the second line.


Manual resolution for #2


Before going through the procedure below, check that your antivirus is not blocking any files that might be unpacked by the installer. You could also try to run the installer with the antivirus disabled.
If the antivirus is not interfering, the problem is almost certainly related to your Visual C++ 2012 runtime.


Please go through the following steps.

  1. (optional) Use System Restore to create a restore point.
  2. Open Windows Explorer
  3. Browse to %SystemRoot%\SysWOW64\ (just paste this in your Explorer address bar)
  4. Locate msvcr110.dll and msvcp110.dll and delete them.
  5. Head to Control Panel -> Programs (or Add/Remove Programs, depending on your OS).
  6. Check if you have Microsoft Visual C++ 2012 Redistributable (x86) in the list of installed programs. If it is present, select it and click the Repair button then follow the on-screen prompts.
  7. If it is not installed on your computer, download the Visual Studio 2012 x86 Redistributable and install it.
  8. Run the Tick Data Suite installer once more.