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

时间:2012-03-08 10:32:41

标签: visual-c++ redistributable

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

我已经阅读了Can Microsoft Visual C++ 2008 Redistributable Package be freely redistributed的答案,但不幸的是,唯一的信息来源是没有合法价值的第三方操作方法。

是否有合法的方式来发布C ++ Redistributable Package,还是我们必须将客户指向下载页面?

背景: 我们有权使用我们的产品运送第三方dll,但对这些dll没有任何影响。这些dll需要2008 c ++可再发行组件包。如果我理解了这种情况,我们需要一个VS2008许可证,用我们的应用程序运送microsoft-dll并创建一个干净的安装程序。

我正在谈论Package

3 个答案:

答案 0 :(得分:2)

您可以从Windows SDK获得重新分发权限。带有.NET 4 SDK的Windows 7 Win SDK包含以下MSVC ++ 2010文件:

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

redist.txt文件表明:

  

根据软件的许可条款,您可以将未经修改的下列文件重新分发为安装包的一部分:[后面是上面的列表]

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


更新

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

  

为方便起见,我们提供了以下文件夹供您使用   重新分发VC ++运行时文件时。受许可条款约束   对于该软件,您可以重新分发该文件夹(未修改)   应用程序本地文件夹作为子文件夹而不更改文件夹   名称。您也可以重新分发所有文件(* .dll和* .manifest)   在一个文件夹中,为方便起见,列在文件夹下面,作为   整套。

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

等...

答案 1 :(得分:0)

如果您无法获得VS许可,请让您的第三方DLL提供商创建包含可再发行的设置,然后在安装程序中包含dll提供商的设置。

第三方dll提供商有责任确保他们的dll在安装后没有可再发行组件的机器上工作。您的提供商似乎没有提供可再发行的依赖性这一事实令人惊讶。

答案 2 :(得分:0)

Visual Studio Express Edition也附带必要的许可证。您必须向Microsoft注册,但他们可以免费获得啤酒。