无法为 MSI 安装程序运行 DLL

无法为 MSI 安装程序运行 DLL

dll 无法运行

我猜是 Windows Installer 的问题。我尝试过重启服务,但没用。我无法安装以 结尾的任何程序.msi。有时我会收到这样的错误信息:

在此处输入图片描述

事件查看器日志:

Python 安装程序:

产品:Python 2.7.3 -- 错误 1723。此 Windows 安装程序包存在问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商。操作 CheckDir,条目:_CheckDir@4,库:C:\Users\x\AppData\Local\Temp\MSI570C.tmp

SSDLife 安装程序:

产品:SSDlife Pro -- 错误 1723。此 Windows 安装程序包存在问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商。操作 WIX_TestVersion,条目:WIX_TestVersion,库:C:\Users\x\AppData\Local\Temp\MSIA32E.tmp

搜索错误 1723:如果您的 Windows Installer 版本已过期,则可能会出现此错误

我获得了几个 Windows Installer 的链接,但它们支持的操作系统列表中都没有 Windows 7。

https://www.microsoft.com/en-us/download/details.aspx?id=25

https://www.microsoft.com/en-us/download/details.aspx?id=8483&WT.mc_id=MSCOM_EN_US_DLC_DETAILS_131Z4ENUS22007

Windows(7 x64)已更新。

还尝试了这个 Fixit:http://support.microsoft.com/mats/Program_Install_and_Uninstall

但它没有发现任何问题。

答案1

我也遇到了这个问题。Alexey Ivanov 的回复并没有给我太大帮助,但却激发了我去调查C:\Users\x\AppData\Local\Temp

像往常一样,错误消息只有一半有用。就我而言,DLL 没有丢失——安装程序没有访问该文件夹的权限。我没有尝试以管理员身份运行安装程序——考虑到我已经在使用管理员帐户,并且希望 UAC 能够处理权限提升,这对我来说毫无意义。无论如何,就像 Windows 中的许多东西一样,这整个事情对我来说有点神秘。

尽管如此,在进入Properties > Security文件夹C:\Users\x\AppData\Local\Temp并给出EveryoneFull control权限,之前失败的安装程序现在可以正常工作了!太好了!由于Everyone已经拥有Read访问Write权限,我怀疑Full control还添加了必要的Execute权限。

现在我想知道的是,这件事到底是怎么发生的,以及这个目录的正确权限应该是什么。

答案2

一个简单的解决方法是以管理员身份运行命令 shell(只需搜索 cmd.exe,然后右键单击->以管理员身份运行),然后转到 MSI 包的位置并运行msiexec /i packagename.msi。它对我有用。

答案3

你的系统肯定缺少必需的 DLL。

在您描述的两种情况下,Windows Installer 都尝试执行位于 DLL 中的自定义操作。那些 .tmp 文件:C:\Users\x\AppData\Local\Temp\MSI570C.tmp实际上C:\Users\x\AppData\Local\Temp\MSIA32E.tmp是从 MSI 中提取的 DLL 文件。

但由于某种原因,它无法加载 DLL。

最重要的是找出缺少哪个 DLL。当错误消息出现在屏幕上时,转到您的临时目录并查看临时 DLL 文件是否仍然存在。如果存在,请使用 DLL 扩展名复制它。然后,要找出缺少哪个必需的 DLL,您可以使用depends.exeVisual Studio 中的实用程序。

如果临时文件已被删除,获取 DLL 的唯一方法是从包中提取它,从Binary桌子。

我有两个最有可能的候选者:缺少 Visual C++ 运行时或缺少 .Net 运行时。不过,这只是猜测……

答案4

这些解决方案对我来说都不起作用,但是当我直接进入下载文件夹,右键单击我想要执行的安装图标,然后单击“以管理员身份运行”时,它就安装好了,没有任何错误消息。

相关内容