如何 运行 我在另一台计算机上编写的 c 程序
How to run a c program i wrote on another computer
我写了一个程序并用 Visual Studio 2017 编译了它。.exe 文件在我的 PC 上运行没有问题,在我的电脑上编译它,但是当我拿 .exe 文件时,或者即使整个文件夹到不同的机器,它也不行。
首先,我尝试复制整个文件夹,包括.c 和.h 文件;另外,我尝试下载 Visual Studio 的扩展,它允许我创建一个 .msi 安装文件,它也没有太大变化。
我收到的错误信息如下:
the code execution cannot proceed because ucrtbased.dll was not found
this code execution cannot proceed because vcruntime140.dll was not found
根据我所做的研究,问题的主要原因是缺少合适的 c++ 可再发行文件。我的主要问题是这个程序是为一家小公司编写的,让他们安装额外的软件对我来说是个问题。有没有办法在不让他们安装额外软件的情况下解决这个问题?我可以通过在 .exe 文件中包含更多文件来解决这个问题吗?
几乎所有使用 Visual Studio 2015 或更高版本构建的 C
或 C++
程序将 仅 运行(正确)在安装了相关 VC Redistributable 的 PC 上。
您说您不希望人们必须安装其他东西 - 但是,无论如何,他们将不得不安装。但是,在构建安装包时,您可以在该安装程序中将相关的可再发行组件设置为 "prerequisite"。
不过,这意味着要为 运行 .msi 包创建一个 "Setup.exe" 文件。要使用此方法,请右键单击 "Solution Explorer" 中的“.vdproj”项目,然后单击 "Prerequisites" 按钮。 (如果此按钮未启用,请务必 select 属性 页面左上角的一项 "Release" 配置。)
单击此按钮时,确保选中 "Prerequisites" 对话框顶部的 "Create setup program to …" 复选框,然后向下滚动并 select 相关 "Visual C++ '14' Runtime Libraries" 选项(每个支持的平台一个)。 [请注意,虽然它们被称为 VC '14',但它们都适用于任何 VC 14 以上的版本!]
然后您必须分发 "Setup.exe" 程序 和 您的 .msi
程序包。当他们双击 "Setup.exe," 时,将检查并在必要时下载并安装可再发行组件。
还有另一种方法,通过在安装包中包含相关的、特定于平台的可再发行组件,然后 运行将其作为安装程序的 "Custom Action" .但这不是微不足道的!如果您选择走这条路,我可以 post 一些示例代码来执行此操作。
我写了一个程序并用 Visual Studio 2017 编译了它。.exe 文件在我的 PC 上运行没有问题,在我的电脑上编译它,但是当我拿 .exe 文件时,或者即使整个文件夹到不同的机器,它也不行。
首先,我尝试复制整个文件夹,包括.c 和.h 文件;另外,我尝试下载 Visual Studio 的扩展,它允许我创建一个 .msi 安装文件,它也没有太大变化。
我收到的错误信息如下:
the code execution cannot proceed because ucrtbased.dll was not found
this code execution cannot proceed because vcruntime140.dll was not found
根据我所做的研究,问题的主要原因是缺少合适的 c++ 可再发行文件。我的主要问题是这个程序是为一家小公司编写的,让他们安装额外的软件对我来说是个问题。有没有办法在不让他们安装额外软件的情况下解决这个问题?我可以通过在 .exe 文件中包含更多文件来解决这个问题吗?
几乎所有使用 Visual Studio 2015 或更高版本构建的 C
或 C++
程序将 仅 运行(正确)在安装了相关 VC Redistributable 的 PC 上。
您说您不希望人们必须安装其他东西 - 但是,无论如何,他们将不得不安装。但是,在构建安装包时,您可以在该安装程序中将相关的可再发行组件设置为 "prerequisite"。
不过,这意味着要为 运行 .msi 包创建一个 "Setup.exe" 文件。要使用此方法,请右键单击 "Solution Explorer" 中的“.vdproj”项目,然后单击 "Prerequisites" 按钮。 (如果此按钮未启用,请务必 select 属性 页面左上角的一项 "Release" 配置。)
单击此按钮时,确保选中 "Prerequisites" 对话框顶部的 "Create setup program to …" 复选框,然后向下滚动并 select 相关 "Visual C++ '14' Runtime Libraries" 选项(每个支持的平台一个)。 [请注意,虽然它们被称为 VC '14',但它们都适用于任何 VC 14 以上的版本!]
然后您必须分发 "Setup.exe" 程序 和 您的 .msi
程序包。当他们双击 "Setup.exe," 时,将检查并在必要时下载并安装可再发行组件。
还有另一种方法,通过在安装包中包含相关的、特定于平台的可再发行组件,然后 运行将其作为安装程序的 "Custom Action" .但这不是微不足道的!如果您选择走这条路,我可以 post 一些示例代码来执行此操作。