visual-c++ - 是否禁止重新分发 C++ 2008 Redistributable Package?

标签 visual-c++ redistributable

天真的人会认为您可以重新分发名为可重新分发的软件包。许多软件都附带了 redist 软件包并安装它们。但Microsoft Visual C++ 2008 Redistributable Package的软件许可条款明确规定:“您不得......发布该软件供其他人复制”。

我已阅读 Can Microsoft Visual C++ 2008 Redistributable Package be freely redistributed 的答案,但不幸的是,唯一的信息来源是第三方指南,没有任何法律值(value)。

是否有合法的方式来发送 C++ 可再发行组件包,或者我们是否必须将客户引导至下载页面?

背景: 我们有权随我们的产品一起提供第 3 方 dll,但不会对这些 dll 产生其他影响。这些 dll 需要 2008 c++ 可再发行软件包。如果我对情况的理解正确的话,我们需要一个 VS2008 许可证,以便将 microsoft-dll 与我们的应用程序一起提供并创建一个干净的安装过程。

Package我正在谈论。

最佳答案

您也许能够从 Windows SDK 获得重新分发权限。适用于 Windows 7 和 .NET 4 SDK 的 Win SDK 包含以下 MSVC++ 2010 文件:

\Program Files\Microsoft SDKs\Windows\v7.1\Redist\VC
    vcredist_ia64.exe
    vcredist_x64.exe
    vcredist_x86.exe

redist.txt 文件表明:

Subject to the license terms for the software, you may redistribute the files listed below unmodified as a part of your installation package: [followed by the above list]

我目前没有安装早期的 SDK,但我猜测 2009 年左右发布的 SDK 可能包含您正在寻找的 VC++ 2008 可再发行运行时文件。


更新:

Windows SDK for Win 7 with .NET 3.5 SP1确实包含 VC++ 2008 的运行时,但 redist 权限不适用于 vcredist_xxx.exe 格式。该 SDK 为原始 DLL 和 list 提供了 redist 权限,以将其用作应用程序本地目录结构的一部分。这仍然可能为您提供安装应用程序所需的内容,而无需使用 MSI 和 VC 运行时的合并文件。

For your convenience, we have provided the following folders for use when redistributing VC++ runtime files. Subject to the license terms for the software, you may redistribute the folder (unmodified) in the application local folder as a sub-folder with no change to the folder name. You may also redistribute all the files (*.dll and *.manifest) within a folder, listed below the folder for your convenience, as an entire set.

\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\
     Microsoft.VC90.CRT.manifest
     msvcm90.dll
     msvcp90.dll
     msvcr90.dll

etc...

关于visual-c++ - 是否禁止重新分发 C++ 2008 Redistributable Package?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616207/

相关文章:

c++ - 特定情况下的断点

visual-c++ - 破坏hash_map时产生崩溃

c++ - 从非常大的未排序列表中获取最大 X 数的最快方法?

visual-c++ - 我可以在我的设置中包含 "vcredist_x86.exe"

c++ - 为什么 std::atomic 在 Visual C++ 中不是简单的类型?

pointers - __ptr32 和 __ptr64 有什么意义?

php - 具有唯一键的 Redis 问题

redis - 使用 redis pub-sub 进行 key 过期

c# - 为我的应用程序重新分发和使用 CS.exe 编译器 (C#)

c++ - Visual C++ 2017 Redistributable 包是否支持使用 VC2015 的应用程序?