部署一个 c++ 应用程序,啥可再发行组件

Posted

技术标签:

【中文标题】部署一个 c++ 应用程序,啥可再发行组件【英文标题】:Deploy a c++ application, what redistributables部署一个 c++ 应用程序,什么可再发行组件 【发布时间】:2018-03-27 02:43:45 【问题描述】:

我正在尝试在新服务器(Windows Server 2016)中部署/运行使用 Visual Studio 2017 编译的 C++ 程序。

我已经为 Microsoft Visual C++ Redistributable x86/x64 安装了可再发行组件。

还是不行。

但是,如果我安装 Windows 10 SDK(在 Windows Server 2016 上)它可以工作。

我可以安装一个更小的软件包吗?

-吉娜

【问题讨论】:

听起来您安装了错误的可再发行组件,或者您的应用具有可再发行组件未涵盖的其他依赖项。您是否有理由编译您的应用程序以开始需要外部依赖项? 这是一个第三方应用程序,我只是使用他们的 make 文件来编译它。我认为我没有错误的 redist,只是缺少正确的 redist。 使用Dependency Walker 找出缺少的内容:dependencywalker.com 我尝试了 Dependency Walker,但没有任何反应。如果我遗漏了什么,我会发布结果。 【参考方案1】:

您可能需要 Windows API 存根 DLL,它位于 Windows SDK 文件夹中,例如C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs

您必须根据目标 Windows 版本和应用程序版本使用正确的版本。

【讨论】:

以上是关于部署一个 c++ 应用程序,啥可再发行组件的主要内容,如果未能解决你的问题,请参考以下文章

Visual C++ 可再发行包安装在哪里?

运行没有运行时可再发行组件的 C++ 二进制文件(Server 2k3、XP SP3)

为 Android 制作可再发行组件或库

如何检测 VC++ 2008 可再发行组件?

安装 msvcr90.dll 的简单方法! (没有 C++ 可再发行包)

使用链式安装程序部署 Visual Studio 隔离 shell 应用程序