安装包UI美化之路-在线安装包

在一些安装场景中,由于完整的安装包很大,下载时间长,且下载后需要人工干预来进行安装,这样会一定程度的降低用户使用体验;nsNiuniuSkin安装包制作解决方案提供了一种在线版本的安装包,支持将实际要安装的内容放到服务器上,由安装包程序下载至本地并自动进行安装;制作出来的在线安装包,体积可以控制在1M以内,能够非常方便的进行分发推广。

实现原理

在nsNiuniuSkin安装包制作解决方案中,在线安装的脚本与完整安装的脚本是同一套,区别在于打包编译时指定了宏:INSTALL_DOWNLOAD_7Z(通过bat脚本动态的传入,无需修改脚本);当这个宏被定义时,安装过程中将会插入下载的过程,下载过程中,我们将显示安装文件总大小,文件下载速度,下载完成百分比等信息,通过进度条来体现下载进度;同时在下载安装后,对下载的文件进行解压,并提供安装进度,无缝的衔接好下载与安装的两个流程。

值得一提的是,我们所下载的程序是一个7z文件(它是由所有待安装文件列表(即:FilesToInstall目录下所有文件)经过7z压缩而得到),在安装程序下载至本地后,通过nsis7zU插件解压来进行安装。

!ifdef INSTALL_DOWNLOAD_7Z
   #在线安装包
   nsNiuniuSkin::SetControlAttribute $hInstallDlg "slrProgress" "value" "0"
   nsNiuniuSkin::SetControlAttribute $hInstallDlg "progress_pos" "text" ""	
   nsNiuniuSkin::SetControlAttribute $hInstallDlg "progress_tip" "text" "[msg.downloading]"
   #开始下载在线数据包
   GetFunctionAddress $0 DownloadFile
   BgWorker::CallAndWait
   Pop $R4	
   #取回下载的结果,判断是否下载成功且校验通过  
   ${If} "$R4" != "0"		
		Pop $R5
		StrCpy $R5 "[ms
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值