Winform程序及dll打包成一个可执行的exe

Posted netlock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform程序及dll打包成一个可执行的exe相关的知识,希望对你有一定的参考价值。

使用场景

通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL。想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以采用该方法。

 方案一

利用ILMerge将exe及dll合并成一个新的exe

ILMerge下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17630

将ILMerge.exe复制到exe所在目录,执行以下命令

ILMerge.exe /ndebug /target:winexe /targetplatform:v4 /out:d:/output.exe input.exe /log BouncyCastle.Crypto.dll /log Dapper.dll 

/targetplatform 是用来指定版本号

/log 将dll打包进output.exe中,多个dll就用多个/log指定

方案二

利用压缩软件的自解压特性

1. 切换到Winform输出目录,全选并右键添加到压缩文件

2. 修改压缩文件名后缀为.exe

3. 切换到高级选项 -> 自解压选项,设置 -> 提取后运行:./程序名.exe,模式 -> 临时模式:勾选解包到临时文件夹,安静模式:选中全部隐藏

4. 确定并压缩,会生成一个exe文件,点击可执行

以上是关于Winform程序及dll打包成一个可执行的exe的主要内容,如果未能解决你的问题,请参考以下文章

winform把所有dll打包成一个exe

怎样打包winform程序成.exe

我写了一个winform程序,怎么整体打包为一个EXE

c# winform 中 怎样把dll封装到exe中

winform项目打包后生成一个exe安装包

PyInstaller将python脚本打包成exe可执行程序