我正在使用Microsoft Visual Studio 2010 Express,我正在构建一个需要捆绑可再发行的msvcp100和msvcr100库的应用程序。我见过的消息来源说我应该直接从
中提取这些文件C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT
我的系统在指定的位置有一个“VC”目录,但没有“redist”目录。此外,我无法在“Microsoft Visual Studio 10.0”目录中的任何位置找到“msvcp100.dll”,但
中有“msvcr100.dll”Microsoft Visual Studio 10.0\Common7\Packages\Debugger\X64
这些库是否应该存在于我提到的第一个目录中?如果是这样,任何想法他们为什么不在场?如果没有,我应该在哪里获得它们?
(我的问题类似于this question,但没有得到满意的答案。)
答案 0 :(得分:3)
从法律上讲,如果DLL不存在于redist文件夹中,那么您无权重新分发它们。它们是受版权保护的作品,Microsoft仅根据Microsoft Visual C ++ 2010 Express许可协议授予您许可,以重新分发随软件提供的代码并在REDIST.TXT中列出。文件Common7\Packages\Debugger\X64\mscvcr100.dll
未列在REDIST.TXT文件中,因此您无权重新分发该文件。与您在redist文件夹之外找到的任何其他DLL相同。如果您单独从Microsoft下载vcredist_x86.exe
,则VC ++ 2010 Express许可协议根本不适用于此,因此您必须遵守其中包含的不同且单独的协议。
如果要在强大的法律基础上重新分发使用Visual C ++构建的应用程序,您有三种选择。第一个不是重新分发DLL并指向最终用户在Microsoft的网站上下载它们,如果他们还没有安装它们。第二种是升级到包含redist目录的Visual C ++ 2010 Professional。第三种是升级(或降级)到包含redist目录的Visual C ++ Express版本。