近期游戏客户端进行打包我使用的是NSIS,毕竟操作和使用相对简单。当然我也推荐大家使用installShield。

   那么针对于我自己使用的NSIS来说说,我在使用过程中遇到的一些小问题。

   1. 针对于NSIS大家在打大的安装包的时候都会发现,如果文件大小超过1.7GB那么在打包过程中会出现文件大小超过限制之类的提示。造成的原因:这个原因是微软系统本身所存在的限制问题,类似于CAB文件的限制。解决办法:将文件先在打包前进行压缩,嵌入解压工具。这样在用户使用安装包的时候能够解压之前所打包的文件。

   2.其次问题,有很多人认为EXECWAIT /Q在使用过程不能进行彻底的静默安装,会显示出进度条。其实,EXECWAIT在使用的时候需要配合使用NSIS插件msiexec,那么完整的静默安装写法如下:

 ExecWait '"msiexec" /package "$INSTDIR\vcredist.msi"  /qf /quiet'

该方法我只进行了MSI文件的静默安装,大家可以都试试。

还有其他的一些问题,比如在完成页面添加1个启动选项方法如下:

; 安装完成页面
!define MUI_FINISHPAGE_RUN "$INSTDIR\111.exe"
!define MUI_FINISHPAGE_RUN_TEXT "运行《XX》登录器"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\DXSETUP.exe"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "DX9更新程序(请务必安装,否则可能无法正常游戏)"
!insertmacro MUI_PAGE_FINISH

目前写到这里,还有一些比较琐碎的问题容易搜索到的就不写了。