通常,我的exe有dll依赖项,我用像nsis或inno这样的安装程序进行打包。对于大型程序来说,这是有意义的,但对于小型脚本来说,这是过分的。
是否有另一种方法来捆绑依赖项,以便用户只需执行单个exe,而不需要路径中的dll目录?
编辑
我希望有一种解决方案,它不依赖于dll的类型,也适用于其他类型的依赖项。
以下是一些潜在的选择:
有人有这种工具的经验吗?
发布于 2011-04-30 04:01:55
好吧,你不喜欢我另外两个想法……所以就这样..。
你发货给你的客户一个“存根EXE”。存根EXE不依赖于其他任何东西,只包含一个ZIP文件(或安装包或类似的),作为存根EXE中的资源。嵌入在存根EXE中的zip文件只包含实际程序EXE及其所有依赖的DLL。当存根EXE运行时,它只是将ZIP文件解压缩到临时子目录并启动应用程序EXE。
您可以对其进行优化,如果应用程序已经安装在%TEMP%中,那么您可以跳过解压缩步骤,只需启动已经存在的应用程序EXE。
就我个人而言,我不会走这条路。如果EXE有依赖项,只需给用户一个安装程序。但你比我更了解你的用户和客户。
发布于 2011-04-29 05:02:05
您可以静态地链接可执行文件。
发布于 2011-04-29 05:00:45
另一种选择是在GAC中安装DLL。
https://stackoverflow.com/questions/5828073
复制相似问题