Inno Setup“源文件C:\ Windows \ System32 \ vcruntime140_1.dll不存在"错误 [英] Inno Setup "Source file C:\Windows\System32\vcruntime140_1.dll does not exist" error

查看:86
本文介绍了Inno Setup“源文件C:\ Windows \ System32 \ vcruntime140_1.dll不存在"错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Inno Setup在来宾计算机上安装一些Visual Studio dll.这是我脚本的 [文件] 部分:

I'm trying to install some Visual Studio dlls on the guest machine with Inno Setup. Here is the [Files] section of my script:

[Files]
Source: ...
...
Source: "C:\Windows\System32\msvcp140.dll"; DestDir: "{app}"
Source: "C:\Windows\System32\vcruntime140.dll"; DestDir: "{app}"
Source: "C:\Windows\System32\vcruntime140_1.dll"; DestDir: "{app}"

它在最后一行给我一个错误,说尽管找到了,但找不到源文件.与 _ 在Inno Setup中具有特殊作用有关吗?

It gives me an error in the last line, saying that it can't find the source file, although it is there. Does it have something to do with the _ having a special effect with Inno Setup?

推荐答案

在我的64位系统上, vcruntime140_1.dll 位于实际的64位 C:\ Windows \System32 .Inno Setup编译器是32位应用程序.由于 WOW64文件系统重定向,一个32位应用程序尝试访问 C:\ Windows \ System32 ,它将被重定向到32位系统文件所在的 C:\ Windows \ SysWOW64 .没有 vcruntime140_1.dll .

On my 64-bit system, the vcruntime140_1.dll is in the real 64-bit C:\Windows\System32. Inno Setup compiler is a 32-bit application. Due to WOW64 file system redirection, when a 32-bit application tries to access the C:\Windows\System32, it gets redirected to C:\Windows\SysWOW64, where 32-bit system files are. There's no vcruntime140_1.dll.

这也显示了您的方法的弱点,正如其他人所评论的那样.您甚至可能没有意识到DLL有多个版本.如果您使用官方的

This also shows you the weakness of your approach, as others have commented. You likely didn't even realize that there are multiple versions of the DLL. If you use the official Visual C++ Redistributable installer, it will take care of installing the right versions to the right locations. While you would not. You should not mess with System32 folder.

一些例子:

这篇关于Inno Setup“源文件C:\ Windows \ System32 \ vcruntime140_1.dll不存在"错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆