天真的想法会让您重新分发名为可再发行的的软件包。许多软件随附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。
答案 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注册,但他们可以免费获得啤酒。