问题标签 [vcredist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wix - WIX 在安装时运行 vcredist_x64.exe
我有一个在 VS 2015 中编译的应用程序,需要VC++ Redistributable包才能正常运行。在这个最新版本之前,我们使用的是旧版本的 VS,只是使用了一个合并模块来处理适当的 redist 文件的安装。但是,我注意到当使用 2015 年最新版本的合并模块 (Microsoft_VC140_CRT_x64.msm) 时,我的应用程序仍然无法开箱即用。 我做了一些挖掘,似乎最新版本的合并模块发生了一些变化。微软现在似乎建议直接安装 vcredist_x64.exe 包,而不是使用合并模块。
因此,我正在尝试创建一个自定义操作来执行此操作。我在这里学习了一个类似的教程,尽管它针对 VC Redistributable 可执行文件进行了调整。我需要做的第一件事是设置安装后 .exe 文件的放置位置:
然后,我需要将我的文件添加到一个组件组中,该组件组将作为隐藏功能的一部分安装(因为我希望它自动安装)。
和...
此时,应将 vcredist_x64.exe 复制到最终用户的计算机上。现在,我需要创建一个自定义操作以在安装后启动可执行文件。
我还在我的 UI 中包含一条状态消息,以便我可以看到可执行文件何时执行。
现在,当我运行我的安装程序时,它应该启动 vcredist_x64.exe ......它确实......但是在安装该可执行文件期间它被挂断了。我收到一条弹出消息,提示此 Windows 安装程序包存在问题,并且作为安装的一部分运行的程序未完成。然后它回滚我的主应用程序安装并且永远不会安装。谁能解释为什么会发生这种情况以及如何解决?谢谢!
php - 我需要哪些版本/库才能让 PHP 在 Win 7 上运行 Apache 2(64 位)?
我在使用 Apache 将 PHP 安装在我的 64 位 Win 7 机器上时遇到了麻烦。我不熟悉安装没有收缩包装的软件,而且我已经用完了有用的文档/链接来阅读。
这是我所做的:
- 从 Apache Lounge 安装 Apache 2.4.18 win64(使用 VC14 构建)。这有效 - 我的浏览器显示“有效!” 当我访问我的 docroot 时。
- 从 windows.php.net 下载 VC14 x64 Thread Safe (2016-Jan-06 23:30:09) PHP zip 并将其解压缩到 c:/php。
- 将LoadModule php5_module "c:/php/php7apache2_4.dll"添加到 httpd.conf。
- 从微软下载 VC_redist64.exe(版本 14.0.23506)并安装。
试过httpd,我得到:
c:\Apache24\bin>httpd httpd:C:/Apache24/conf/httpd.conf 第 178 行的语法错误:在文件 C:/php/php7apache2_4.dll 中找不到 API 模块结构 `php5_module':没有错误
我知道我需要在 httpd.conf 和 php.ini 中添加/调整更多内容,但我在网上找到的所有帮助都表明问题出在其他地方。
wix - 检测 vcredist 的存在 - 使用 UpgradeCode
在wix burn 引导程序包中:如何检测 ms vcredist 2013 x86 是否存在?
我正在检查该特定软件包的Upgrade Id
/ UpgradeCode
,但捆绑包总是重新安装它,即使它已经安装了。
有什么问题InstallCondition
吗?
还是我需要添加一个DetectCondition
?
在它读取的日志文件中:
但也删除InstallCondition
并用以下内容替换它DetectCondition
不起作用:
--
编辑:
只是为了进一步解释:我正在尝试这种方法,UpgradeCode
因为我不想检查特定的安装包,而是检查minimum version
.
c++ - 如何检测是否安装了 x64 或 x86 VCRedist
从这篇文章中,我们可以知道是否安装了更新的 VCRedist HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\DevDiv\vc\Servicing\14.0\RuntimeMinimum\Version
,但是我们如何知道它是 x64 还是 x86 VCRedist?因为我们可以在 x64 操作系统中安装 x86 和 x64 VCRedist。
c# - 部署为 x86 和 x64 的文件时找不到 vcruntime140.dll 的 Dll
目前我收到错误消息,vcruntime140.dll
在客户端计算机上找不到。但我正在为x64
and提供以下 dll x86
:
- vcruntime140.dll
- vccorlib140.dll
- msvcp140.dll
- concrt140.dll
在\bin32\
and\bin64\
目录中(对于每个平台)。此目录在应用程序启动时注册:
DLL-导入
对于x86
注册码:
我还需要做什么?
谢谢你们!
wix - WiX - VC++ 运行时 - vcredist 与合并模块
我正在使用 WiX 构建一个 MSI 安装程序。由于应该安装的产品需要 VC++ 运行时,我发现了两种选择,即(a)使用相应的合并模块和(b)在实际产品的 MSI 之前使用 burn 运行 vcredist。为了区分这两个选项,我有一些我没有找到相关信息的问题。
1)如果使用合并模块,运行时不会单独安装(添加和删除程序中没有条目),但据我所知,只需将所需文件复制到相应的位置。
1.1)如果系统上已经安装了vcredist,我想合并模块在产品安装期间什么都不做?
1.2) 如果存在 1.1) 中提到的 vcredist 安装,如果用户只是通过添加和删除程序卸载该运行时会发生什么?我想该产品不再工作(至少在执行修复安装之前导致 MSI 中的合并模块内容重新添加必要的文件?)
1.3) 如果 vcredist 尚未安装并且 MSI 安装程序将文件复制到系统,然后另一个安装程序或用户正在调用 vcredist.exe,那么会发生什么?vcredist 是否报告运行时已安装?
1.4) 如果卸载产品,通过合并模块复制到系统的文件是否被删除?
1.5) 如果对 1.4) 的回答是(VC++ 运行时文件被删除):如果系统上安装了两个不同的产品,两者都在内部使用相同的合并模块,并且卸载了两个产品中的一个,那么安装的运行时文件会发生什么情况? 由于缺少运行时文件,它们是否被删除并且其他产品不再工作?
提前感谢您的帮助和信息。
问候,贡纳尔
visual-studio-2015 - 是否可以创建一个将在 vanilla Windows 7 机器上安装 VS2015 项目的 Wix 安装程序项目?
我最近升级了我从事的项目以使用新的 Visual Studio 2015 编译器(以及 SDK 10.0 和 Windows Driver Kit 10.0)。我注意到,除了对 VC Redist 合并模块的常规更改之外,现在还引入了一些额外的先决条件,用户必须安装这些先决条件才能使用我正在开发的产品。具体来说,用户必须安装与微软在此处发布的“通用 CRT”相关的 Windows 更新:
https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
我注意到他们明确指出:
“通用 CRT 不会有合并模块。如果您当前使用 CRT 合并模块,但仍想集中部署 Visual C++ 库,我们建议您移至上述 Windows Update 包或 VCRedist”</p>
他们似乎建议安装人员应该简单地标记需要先决条件,但我有点担心这一点,因为我们的一些商业客户与我们达成协议,我们将支持“开箱即用”的某些 Windows 7 版本(即没有最新的更新)。有谁知道是否可以在没有合并模块的情况下在 Wix 项目中嵌入这些新的先决条件?即,也许通过包含 VCRedist 可执行文件来代替?
visual-studio-2015 - Wix Burn vcredist
我有一个使用 Visual Studio 2015 开发的 c++ 应用程序,以及一个 Wix 安装程序和一个 Burn 引导程序。该应用程序的早期版本能够使用 Visual Studio 合并模块来安装必要的先决条件,但在使用 Visual Studio 2015 时这似乎不是一个选项(请参阅Redistributables 以在 Windows 7 上部署使用 Visual Studio 2015 开发的 C++ exe)。
按照该链接中的建议,我们已经开始使用带有 vital="yes" 的 ExePackage 安装带有 Burn 的 vcredist。这通常效果很好 - 我们有几个客户由于 vcredist 的各种问题而安装失败。直到最近,这些都是会导致安装失败的错误。
在过去的几天里,我们收到了几份由于安装了更新版本的可再发行组件而导致安装程序失败的报告:vcredist 失败,错误代码为 0x80070666,这导致我们的引导程序失败。
我的问题是:
- 部署 vcredist 是“正确”的方法吗?(假设我们需要一个 exe 安装程序)
- 我们如何知道安装了哪个版本的可再发行组件(不一定在引导程序中,这些信息是否以用户可读的形式存储在某处)?
- 是否有我们应该分发的更新版本的可再发行产品?(目前使用 14.0.23026)这是基于用于编译的 Visual Studio 版本还是我们应该始终分发最新版本?(当前 VS 版本 14.0.23107.0)
- 作为最后的手段,是否可以检测从 vcredist 返回的错误代码并允许该值确定安装是继续还是失败?
installation - Visual C++ 14 redist 软件包先决条件 - 从 Visual Studio 安装程序配置
我有一个 Visual Studio 安装项目,它安装了一个需要 VC++ 14 Redist 包的 x64 程序。
我根据图像选择了选项并在其中创建了一个文件夹结构:
我创建了 vcredist_x64 文件夹,其中包含:
在 en 文件夹中,我有:
product.xml 的内容:
en\package.xml 的内容:
当我构建安装项目时,它没有给出任何错误。
最初,当我没有该文件夹结构以及 xmls 时,我在构建时遇到错误:
但是我现在没有错误。问题是它没有安装 VC 可再发行依赖项。
我认为 xmls 中的 productcode 和其他参数不正确。此外,VCRedistExe 链接适用于 VC++2010,但在安装过程中不会下载任何内容。但是请注意,我在文件夹结构中有 vcredist_x64.exe,它是 VC++14 redist。
请帮助我,因为我也尝试了许多其他选项,但这个“官方”选项似乎不起作用(我找不到 Visual C++ Redistributable for Visual Studio 2015 的相关信息)。
只要安装了先决条件,任何一个选项都适合我(从网站下载或从与我的应用程序相同的位置下载)。
installation - 安装 MSVC++ 2015 x86 Redistributable
安装 MSVC++ 2015 x86 Redistributable (14.0.23026) 时,库的大小显示为 1.92 MB。
在第二台计算机上,同一库的大小为 20.7 MB。
我认为这解释了第一台运行依赖程序的计算机上的问题。
我已经卸载并安装了很多次,但无济于事。
知道如何进行全新安装吗?