小弟写了个串口软件,只有400k左右,加上mscomm32.ocx不到600k,但是用SetupFactory做成安装包后体积居然有12m……我感觉很离谱,请问有什么方法能生成小体积的安装包呢?而且还要包含可卸载的程序。最好不要msi的安装包,感觉那个很不保险没有installer就没法运行。
还有,怎样在安装的时候注册nscomm32.ocx控件啊?谢谢先!

解决方案 »

  1.   

    不要用 SetupFactory、InstallShield 之类。
    用 NSIS (就是包装 Winamp 的 NullSoft 产品)、INFO Setup (似乎 Delphi 的程序员更喜欢这个,因为他是用 Delphi 写的)
    个人推荐 NSIS
      

  2.   

    NSIS是专门给程序员做的安装包工具,体积小速度快。建议使用这个。
      

  3.   

    依我看啊,你既然用 VC++ 编写程序,就不应该使用这个控件了;这个控件是提供给 VB 等工具使用的。
    在 VC++ 中,直接用 API 函数读写串行口就可以了。
    这样的话,也不要制作安装程序了,绿色软件好了,大小最多也就 100K 了。
      

  4.   


    直接用 API 读写串行口的话,最终就只有2个文件,
    1、可执行文件
    2、串行口配置文件
    做成一个文件夹,安装时,只要把这个文件夹复制到别人计算机中就可以了。=============MSCOMM32 是一个 COM 控件,使用时1、复制这个文件到目标计算机中
    2、向操作系统注册这个控件=============用 VC++ 读写串行口,真的没必要使用这种控件。=============
    MSCOMM  ActiveX 控件是给 VB、PB 等开发工具使用的;在 VC++ 中,一般直接使用 Win32 API 函数直接读写串行口;这种方式 高效、灵活,结合多线程编程,功能将更强大!下面是入门级文章:
    【使用Win32创建串口通讯程序】
    http://www.vckbase.com/document/viewdoc/?id=1114
      

  5.   

    顶楼上,
    如果一定要制作安装包的话,还是用NSIS吧,很简单的,用向导就可以自动生成了
    去sf.net下载下面两个软件就可以了
    nisedit
    NSIS
      

  6.   

    感谢各位~~~早知道就不用这个控件了,我也记得可以用api函数的……怎么写的时候给忘记了……而且这个控件感觉很一般……
    再次感谢~~~