最新消息:

禁止显示 banner

nsis 永恒心锁 866浏览 0评论

因为安装程序初始化的时候,也就是 .onInit 函数里需要用到某个文件的时候安装程序需要搜索整个数据区块来把它解压出来,当安装程序比较大的时候搜索比较费时,这个时候才显示解压百分比。一般都是用 ReserveFile 来避开这种搜索。比如 Function .onInit 里有:

 InitPluginsDir
 File "/oname=$PLUGINSDIR\io.ini" ".\io.ini"

或者其他类似的话,安装程序就需要搜索并解压这个文件。一般在脚本头部加:

 ReserveFile ".\io.ini"

这样 io.ini 就保存在数据区块的尾部,安装程序初始化的时候就不用搜索整个数据区块了,相当于加快了安装程序的启动速度。

问:根据以上方法使用了,确实不会再出现初始化的对话框了,但是在自定义的 InstallOptions 页显示前,程序还是会停顿一段时间,请问这是为何?如何避免?

答:某些控件比较消耗时间的,比如显示 ICON、位图 等,如果 InstallOptions 里含有这些控件可能会停顿。如果 InstallOptions 是第一个页面的话还要把 InstallOptions.dll 加入到 ReserveFile 参数里。再或者就是进入 InstallOptions 的时候含有比较复杂的指令,比如循环等。一般在加入 ReserveFile ${NSISDIR}\Plugins\InstallOptions.dll 既可避免。

永恒心锁,版权所有丨如未注明,均为转载丨本网站采用BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » 禁止显示 banner

您必须 登录 才能发表评论!