25

dll could not be run

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:

enter image description here

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.

8
  • @Serge yes, avast, tried disabling and running the installer right now, but it doesn't seem to help
    – Kedar
    Commented Sep 23, 2012 at 16:13
  • clean out your temp folder and try again.
    – Moab
    Commented Sep 23, 2012 at 16:16
  • @Moab nope, that doesn't help
    – Kedar
    Commented Sep 23, 2012 at 16:25
  • Please specify the OS where you observe the issue. Commented Sep 24, 2012 at 6:25
  • @Moab all of them
    – Kedar
    Commented Sep 24, 2012 at 13:45

5 Answers 5

27

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.

5
  • 1
    This solves my problem! But I think it's a security issue to give 'Everyone' full access to a user's temp folder. I just granted myself full access and that works. Be default the directory just had 'Special Permissions' for the user.
    – Kedar
    Commented Jan 1, 2013 at 4:08
  • Yeah, that makes more sense than giving the permission to Everyone :-). Anyway, I wonder what the underlying cause of this problem may be. I was having trouble with several installers, including the iTunes installer—a very popular installer! I wonder what happened that broke permissions on that directory. Commented Jan 2, 2013 at 0:39
  • I checked other limited/admin accounts on the same machine and all of them seem to have the permissions set correctly.
    – Kedar
    Commented Jan 2, 2013 at 4:24
  • This did not work for me (Windows 7, 32 bit). This did. My error, however, was "There is a problem with this Windows Installer package. A Program run as part of the setup did not finish as expected. Contact your support personnel or package vendor." Commented Jul 22, 2014 at 13:57
  • This didn't work for me though the symptoms were similar. Turned out to be a conflicting PIP install. This fixed me: stackoverflow.com/a/23350061/797945
    – Jagu
    Commented Dec 16, 2014 at 10:22
8

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.

4
  • 1
    It's not a workaround(doesn't install all software properly), and it doesn't work(for this specific problem)
    – Kedar
    Commented Feb 14, 2013 at 15:26
  • One small mistake: Here is the right command msiexec /i packagename.msi
    – user204153
    Commented Mar 4, 2013 at 21:01
  • This solution works perfectly and is better than giving Full Permissions of Temp folder to Everyone just for an installer. (Make sure to read the second comment for the correct syntax.) Commented Apr 21, 2013 at 7:27
  • +1 This solution should also be included in the above chosen answer. That chosen answer should be everyone's last resort. Commented Apr 20, 2014 at 13:14
1

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…

5
  • I only see the error log getting created in the temp directory. Nothing else. But looking into extracting files from the installer, I tried the msiexec command to extract Python and all files are now available as they would be in a normal install. Except I don't see any entry in the list of installed software. Adding python to path, it works as expected...
    – Kedar
    Commented Sep 24, 2012 at 14:22
  • 1
    I guess it just happens too fast to notice. Yes, you can extract files from Windows Installer package, but it won't perform program registration because the product is not installed (from MSI point of view). These tmp DLL files are not part of the install image, they are helpers which are run during installation. To get it, you can use Orca tool or decompile the msi with WiX; however, you've already got Python. Commented Sep 25, 2012 at 6:04
  • I think I can live without having the software registered. Full command: msiexec /a python.msi /qb TARGETDIR="C:\install_path"
    – Kedar
    Commented Sep 25, 2012 at 11:53
  • @101 If it's the case, then the installer is broken, I mean it's a bug in it: the installer must not depend on additional software, including MSVC runtime — it must be self-contained. If it needs MSVC 2008 or 2010, then these packages must be installed along the product (contained within the installer itself). Commented Nov 9, 2015 at 14:53
0

I tried what Dimadima suggested but I still had a little access issue. I dug up a tool for Win 7 / Vista called take ownership. It adds a contextual menu to right click and you can 'Take Ownership'. I thought to try that it it worked like a charm.

http://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/

-1

None of these solutions worked for me, however when I went directly to the download folder, right clicked the icon of the install I wanted to perform, and clicked "run as administrator" it installed without any more error messages.

1
  • MSI installers don't have that option.
    – Kedar
    Commented Mar 8, 2013 at 9:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .