【发布时间】:2012-05-25 05:25:29
【问题描述】:
所以我知道这是一个常见问题。我希望能够在其他 Windows 机器上运行 C++ 程序,而无需在它们上安装 Visual Studio。自然地,我收到有关缺少 dll 文件的错误消息。我想知道是否可以创建一个安装程序来安装该 dll,然后能够运行该程序。那会起作用还是有其他需要的文件?如果会,我会怎么做这样的事情?有一个自动安装程序肯定会很好。谢谢
【问题讨论】:
标签: windows dll installation
所以我知道这是一个常见问题。我希望能够在其他 Windows 机器上运行 C++ 程序,而无需在它们上安装 Visual Studio。自然地,我收到有关缺少 dll 文件的错误消息。我想知道是否可以创建一个安装程序来安装该 dll,然后能够运行该程序。那会起作用还是有其他需要的文件?如果会,我会怎么做这样的事情?有一个自动安装程序肯定会很好。谢谢
【问题讨论】:
标签: windows dll installation
看看有没有static 编译选项。应该有。这样你就可以静态编译你的程序,什么会将所有必要的dll文件放入可执行文件中,这样你就可以在其他windows平台上移动exe文件,而无需安装VS。
【讨论】:
确定您需要哪些 DLL(和控件等)的常用方法是使用 Dependency Walker。
【讨论】:
如果您确切知道缺少哪些 dll 文件,您只需在应用程序旁边提供它们,例如以 .zip 文件的形式。
为 Windows 制作安装程序并非易事。您可能想研究为您做这件事的软件,例如Setup Factory(付费)或Nullsoft Scriptable Install System(免费)。这些软件可让您轻松创建具有专业外观的安装。
【讨论】:
您是否知道您不必安装整个 VS 即可在那里运行您的应用程序,而只需安装 VS redistributable package,它可能比静态编译的应用程序还要小(~5 MB)?如果您希望包含先决条件的应用看起来是一体成型的,也可以使用deployment bootstrapper。
但是,静态链接也是一个不错的选择,尤其是当您的程序不包含太多二进制文件并且执行非常简单的任务时。
【讨论】: