最近用nsis做产品的发布包。发现nsis很不错,速度比install wizard强很多,当然,它的安装包也小很多,而且如果还需要一个光明的理由的话,它是免费开源的,好像也支持linux?(不太清楚)
但是用nsis比较恶心的一点就是它的语法,解压文件,释放到某个地址,这些还好,但是如果涉及到逻辑判断,环境变量检查,配置文件中的字符串替换的时候,nsis的解决方案真的让人很想挠墙,要不就是我照着写那么一堆类似汇编的东西,然后后期不停的维护,要么,用我相对熟悉的python或者perl来写逻辑,然后在nsis中调用。
目前发现可以采用的两种解决方案:
1.用python写逻辑,然后用py2exe转化为程序,通过nsExec调用
2.通过 nsPython的插件,将python23.dll和py逻辑文件加入到安转包。(但是不知道为什么我用python25编译(cygin环境下面)出来怎么老是崩溃呢)
但是用nsis比较恶心的一点就是它的语法,解压文件,释放到某个地址,这些还好,但是如果涉及到逻辑判断,环境变量检查,配置文件中的字符串替换的时候,nsis的解决方案真的让人很想挠墙,要不就是我照着写那么一堆类似汇编的东西,然后后期不停的维护,要么,用我相对熟悉的python或者perl来写逻辑,然后在nsis中调用。
目前发现可以采用的两种解决方案:
1.用python写逻辑,然后用py2exe转化为程序,通过nsExec调用
2.通过 nsPython的插件,将python23.dll和py逻辑文件加入到安转包。(但是不知道为什么我用python25编译(cygin环境下面)出来怎么老是崩溃呢)