nsis打包下载地址形式的第三方软件

最近要用nsis打包一个软件,大家都知道的,自由免费软件现在很难生存下去,只能靠捆绑其他cpa软件才能生存,这也是现实的无奈,谁都不想这样做,但是国内环境如此,谁都不想付费使用软件,那只能在安装的时候推荐一些有偿安装的软件了,闲话少说,直接上干货。

首先要制作定义cpa下载连接的远程ini文件,可能有些朋友想问,为什么不把第三方软件一起打包呢,非要用远程配置文件配置链接地址去下载吗个我稍微罗嗦一下,第三方的cpa也很坑爹的,不是说你打包进去,就永远会给你收益的,所以要通过远程配置文件去配置,远程ini文件如下:

解释一下,title,就是软件名称了,ischeckdefault是软件前面要放一个checkbox框,可以让安装的人勾选的,有人不喜欢,就可以取消掉,file就是下载到本机的文件名,这个也有讲究的,很多cpa,你的pid就在文件名上,比如setup_001.exe,你的pid就是001,如果你把这个001去掉,就不算你推广的安装了,当然也就拿不到佣金了。最重要的就是execute,就是软件的下载地址了,当然这里只是提供个例子,实际地址并没有这些文件。

然后就是nsis这边的代码了,我不打算把全部代码都贴出来,选几个重点讲一下,首先是读这个ini文件以及显示这个特别的安装页面。

要制作自定义的安装界面,就要用到nsdialogs,所以要在include区,你搜索include,就能找到这个区块,加上:

!include “nsdialogs.nsh”

然后定义自定义页面需要用的函数

Page custom 函数1 函数2 …;函数名自己命名,多个函数按顺序定义,就会按顺序调用,用空格隔开

然后读取文件,下载文件要用inetc插件,这个搜nsis插件,到处都是

这两个前提条件准备好了,先读取远程ini文件,并下载到本地

解释一下,inetc:get就是上面提到的inetc插件,把远程文件下载到本地,这个操作最好放到oninit函数里 

接下来就根据这个ini文件的配置,去画这个自定义的安装页了

一头一尾,都调用了nsdialogs的方法,这是重点,要不然没法做出自定义的安装页,中间代码比较好理解,不多解释,就是生成checkbox以及读取软件标题,还有就是是否默认勾选的选项

关键的一步到了,读取用户勾选的信息,并写到ini文件里,为后面判断是否要下载并安装cpa做准备。

好像也不用解释了,代码非常清晰,就是读取checkbox勾选状态,然后写入到ischeckdefault字段区,这个字段复用了

最后就是下载勾选的软件并安装,这个步骤一定要放在.onInstSuccess函数里,并且在执行下载安装的操作前,使用HideWindow命令,要不然,整个安装界面会卡在那里,直到所有下载和安装都结束才会响应,这是非常糟糕的。

然后就是download2setup函数了
至此,就完成这个功能了,就不发那个捆绑了很多软件的安装界面的截图了,你痛恨,我也痛恨,要不是为了生存,谁没事捆什么浏览器播放器游戏加速器什么的,太讨厌了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年6月21日
下一篇 2012年6月21日

相关推荐