不允许在服务器上重新分发c++

本文关键字:c++ 服务器 不允许 | 更新日期: 2023-09-27 17:53:26

我正在为客户端完成一个项目的开发,它依赖于Visual c++ Redistributable(通过ImageMagick)。

是否有任何众所周知的(漏洞)原因导致您不希望将其安装在服务器上?他们建议我复制所有的依赖,以及可重新发布的依赖,到我的bin目录。这对我来说似乎是多余的,但我该如何开始完成这项任务呢?

是否有一个折中方案?

感谢您的宝贵时间。

不允许在服务器上重新分发c++

他们建议我复制我所有的依赖,以及可重新发布的依赖,到我的bin目录

这可能成为一个滑坡(并排安装)。当您分发的版本由于漏洞而更新时,就会出现问题。据我所知,你们的[现已过时的]版本将不会更新。

Stefan Kanthak有一段时间在Full Disclosure上玩得很开心。例如,看看微软是如何支持(并遵循)他们的口号"让你的电脑保持更新"的?


是否有一个折中方案?

当我构建我的安装程序(使用Inno Setup)时,我携带最新版本的运行时。我总是安装它,不管它是否需要。如果不需要,安装程序将立即退出。微软的安装程序把运行时放在一个由系统更新的地方,所以我不必对它大惊小怪。

Inno Setup的好处是您可以在安装程序中拥有多个平台。也就是说,您有一个x86和x64的安装程序。Wix不允许您这样做(或者过去不允许,这就是我使用Inno的原因)。所以你的安装程序总是有你需要的正确版本。

在设置中包含运行时的另一个好处是,您不必告诉用户访问站点并安装先决条件。它还避免了用户访问服务器下载运行时的需要。

如果你从来没有和Inno一起工作过,这很容易。你会有一个设置程序,在几个小时内完成你需要的一切。它是基于脚本的,和使用Windows INI文件一样难。例如,请参阅脚本格式概述。


请参见部署(c++)和在MSDN中重新分发Visual c++文件。