zoukankan      html  css  js  c++  java
  • 使用ILMerge将所有引用的DLL和exe文件打成一个exe文件

    今天做了一个IM自动更新的软件,里面牵扯到了文件的解压和接口签名加密,使用了2个第三方的dll,想发布的时候才发现调用的类没几个,就像把它们都跟EXE文件打包在一起,以后复制去别的地方用也方便,于是上网搜了一下,发现网上大部分都是用ILMerge实现的,于是也自己试了一下,不过网上都没有详细的步骤演示,我就花点时间做了个教程,方便以后再有人想打包自己的程序,有篇文章可以参考,好了废话少说,马上开始:

    1.先到http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-B4AD-4EAE-87CF-B14AE6A939B0&displaylang=en下载ILMerge,才600K,一下子就下好了。

    2.安装ILMerge,不到1分钟就可以安装完毕。

    3.记下ILMerge程序的安装目录,我是装在D:\Program Files\Microsoft\ILMerge下面的,等下打包的时候会用得到。

    4.我自动更新的文件结构是这样的,一个IM.exe,一个Zip.dll,还有一个Sign.dll,将这三个文件拷贝到ILMerge程序的安装目录下,即D:\Program Files\Microsoft\ILMerge,运行doc窗口,输入如下命令:

    D:\Program Files\Microsoft\ILMerge\ILMerge.exe /ndebug /target:winexe /out:IM1.exe IM.exe /log Zip.dll /log Sign.dll

    运行后,稍等片刻,就会在同级目录下生成一个IM1.exe文件,表示exe文件和dll文件已经成功捆绑在一起了。这时候只要将IM1.exe单独拷贝出来,重命名就可以使用了,此时的文件会稍大些,我这边试了下,没绑dll的时候exe大小是150KB,捆绑之后的大小是308KB。不过还是很Happy的,呵呵~!

  • 相关阅读:
    ubuntu下配置django+apache+mysql+mod_python+Python
    Makefile 学习
    一个查重算法的多种实现思路
    MongoDB基础
    基于ASP.NET MVC 3的企业应用项目总结
    CruiseControl.Net持续集成平台搭建总结
    Cnblogs Start
    JavaScript中的this
    Entity Framework 4.0 的一个bug :DefaultValue问题
    .Net平台下的B/S开发框架
  • 原文地址:https://www.cnblogs.com/guyun/p/3014698.html
Copyright © 2011-2022 走看看