如何使用 .exe 文件传送 .dll 文件
How to ship .dll files with the .exe file
我有一个依赖于某些 .dll 文件的应用程序。
我知道如果我只是将它们放在与 .exe 文件相同的文件夹中,它会起作用,但我不想在我的 .exe 文件中留下 30 个 .dll 文件。有什么方法可以将它们与我的 .exe 文件放在一个文件夹中?
或者更好的是,是否可以使用 .exe 文件编译它们并 link 它们以获得独立文件?不,我没有这些动态库的静态版本。
(p.s。应用程序用c编写,用gcc编译,mingw win64,.dll来自gtk3 libs)
感谢您阅读我的问题
您有多种选择。
A) 获取库文件,windows 上的 .lib 和这些库的静态 link。
B) 这有点 hack,但您可以将资源附加到 Windows 可执行文件中。这通常用于字符串、图标之类的东西,但您甚至可以附加到二进制文件中。但是如果你这样做,你可能需要在程序启动时生成 dll 二进制文件并保存到与你的可执行文件相同的文件夹中。所以这样做真的没有意义,只需将其分发到与您的 exe 相同的文件夹中。这样做有什么问题? (查找 LoadResource、FindResource、MAKEINTRESOURCE 等)
C) 如果您不想将 dll 放在与您的 exe 相同的路径中,您需要将它们存储在系统路径环境变量中的一个文件夹中。例如,您可以将它们复制到 C:\Windows - 但由于安全性,这会更难。您可以创建自己的 dll_path 并将此路径添加到 env 变量作为程序安装的一部分。
D) C) 的另一个变体是复制到例如您的 exe 位置的子目录,例如 dll_files。然后你使用启动脚本来启动你的程序,如下所示:
@echo off
set PATH=%PATH%;<path to dll files>
myprogram.exe
让我们简单点
从
www.rarlab.com/download.htm 下载 winrar
A) 创建独立的 winrar 可执行文件将文件打包到存档中并执行主程序。
不知道如何为您创建独立的安装程序指南
http://www.groovypost.com/howto/howto/how-to-make-your-own-offline-installers-using-winrar/
我有一个依赖于某些 .dll 文件的应用程序。 我知道如果我只是将它们放在与 .exe 文件相同的文件夹中,它会起作用,但我不想在我的 .exe 文件中留下 30 个 .dll 文件。有什么方法可以将它们与我的 .exe 文件放在一个文件夹中?
或者更好的是,是否可以使用 .exe 文件编译它们并 link 它们以获得独立文件?不,我没有这些动态库的静态版本。
(p.s。应用程序用c编写,用gcc编译,mingw win64,.dll来自gtk3 libs)
感谢您阅读我的问题
您有多种选择。
A) 获取库文件,windows 上的 .lib 和这些库的静态 link。
B) 这有点 hack,但您可以将资源附加到 Windows 可执行文件中。这通常用于字符串、图标之类的东西,但您甚至可以附加到二进制文件中。但是如果你这样做,你可能需要在程序启动时生成 dll 二进制文件并保存到与你的可执行文件相同的文件夹中。所以这样做真的没有意义,只需将其分发到与您的 exe 相同的文件夹中。这样做有什么问题? (查找 LoadResource、FindResource、MAKEINTRESOURCE 等)
C) 如果您不想将 dll 放在与您的 exe 相同的路径中,您需要将它们存储在系统路径环境变量中的一个文件夹中。例如,您可以将它们复制到 C:\Windows - 但由于安全性,这会更难。您可以创建自己的 dll_path 并将此路径添加到 env 变量作为程序安装的一部分。
D) C) 的另一个变体是复制到例如您的 exe 位置的子目录,例如 dll_files。然后你使用启动脚本来启动你的程序,如下所示:
@echo off
set PATH=%PATH%;<path to dll files>
myprogram.exe
让我们简单点
从
www.rarlab.com/download.htm 下载 winrar
A) 创建独立的 winrar 可执行文件将文件打包到存档中并执行主程序。
不知道如何为您创建独立的安装程序指南
http://www.groovypost.com/howto/howto/how-to-make-your-own-offline-installers-using-winrar/