DLL could not be run for MSI installers
I'm guessing its a problem with Windows Installer. I've tried restarting the service but to no effect. I'm not able to install anything that ends with .msi. Sometimes I get such an error message:
Event viewer logs:
Python installer:
Product: Python 2.7.3 -- Error 1723. 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. Action CheckDir, entry: _CheckDir@4, library: C:\Users\x\AppData\Local\Temp\MSI570C.tmp
SSDLife installer:
Product: SSDlife Pro -- Error 1723. 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. Action WIX_TestVersion, entry: WIX_TestVersion, library: C:\Users\x\AppData\Local\Temp\MSIA32E.tmp
Searching on error 1723: This error can occur if you have an out-of-date version of Windows Installer
I got a couple of links for Windows Installer but neither of them has Windows 7 on the list of supported operating systems.
https://www.microsoft.com/en-us/download/details.aspx?id=25 and
https://www.microsoft.com/en-us/download/details.aspx?id=8483&WT.mc_id=MSCOM_EN_US_DLC_DETAILS_131Z4ENUS22007
Windows(7 x64) is up to date.
Also tried this Fixit: http://support.microsoft.com/mats/Program_Install_and_Uninstall
But it couldn't find any issues.
Solution 1:
I ran into this issue, too. Alexey Ivanov's response didn't quite help me, but it did, however, inspire me to investigate C:\Users\x\AppData\Local\Temp
.
As usual, error messages were only half-useful. In my case, the DLL wasn't missing--the installer didn't have permissions to access the folder. I didn't try running the installer as an administrator--this didn't make sense to me considering I was already using an admin account and would have expected UAC to handle privileges elevation. Anyway, like many things in Windows, this whole thing is a bit of a mystery to me.
Nevertheless, after going to Properties > Security
on the C:\Users\x\AppData\Local\Temp
folder and giving that Everyone
the Full control
permission, installers that previous had been failing now worked! Hooray! Since Everyone
already had Read
and Write
access, I suspect that Full control
also added a necessary Execute
permission.
What I wonder, now, is how this happened in the first place, and what the correct permissions on this directory are supposed to be.
Solution 2:
A simple workaround is to run the command shell as administrator (just search cmd.exe and then right click-> run as administrator),
and then go to location of the MSI package and run msiexec /i packagename.msi
.
It worked for me.
Solution 3:
Your system must be missing a required DLL.
In both cases you describe, Windows Installer tried to execute a custom action located in a DLL. Those .tmp files: C:\Users\x\AppData\Local\Temp\MSI570C.tmp
and C:\Users\x\AppData\Local\Temp\MSIA32E.tmp
are really DLL files extracted from the MSI.
But for some reason it failed to load the DLL.
The most important thing is to find out which DLL is missing. While the error message is on screen, go to your temp directory and see if the temp DLL file still exists. If it is there, copy it with DLL extension. Then to find out which DLL of the required ones is missing, you can use depends.exe
utility from Visual Studio.
If the temp file is already removed, the only way to get the DLL is to extract it from the package, from Binary
table.
I have two most probable possible candidates: Visual C++ runtime is missing or .Net runtime is missing. However, it's just a guess…