NSIS脚本添加可信站点 (2)

四、NSIS脚本还是其他脚本

由于解析用户输入的URL需要用到正则表达式
但是NSIS脚本似乎不支持正则表达式,
当然这里不太肯定,是不是我没找到有关库?
所以就需要调用其他的脚本或者程序。

(1) 可选方案--C#
在stackoverflow找到一个主题,讨论通过程序添加可信站点
http://stackoverflow.com/questions/972345/programmatically-add-trusted-sites-to-internet-explorer
其中Nelvin kay 综合了前几个人的C#代码,可以将IP或域名加入可信站点,
不解析区分具体协议,而是直接设定为所有协议(*),
虽然不够精细,但是对我已经够用

在win7x64编译运行验证后可以工作。
因此将此代码作为基准,进行后续的完善,

它存在的问题,没有考虑
(a)服务器需要写到EscRanges以及EscDomains,
(b) 没有考虑64位注册表
(c) 最大问题其实是安装比较麻烦

    我打了一个带.dotnet4.0的安装包,到win2003 x64机器试验了一下,
    发现.dotnet4.0安装时报错:
        
        产生阻滞的问题:
        运行此安装程序之前,必须安装 32 位 Windows 映像处理组件(WIC)。请访问 <A HREF="http://go.microsoft.com/fwlink/?LinkId=162643&clcid=0x409">Microsoft 下载中心</A>,安装 WIC,然后重新运行此安装程序。

    由于安装看起来很麻烦,感觉没必要为了一个小功能,让用户安装一大堆东西,所以决定放弃C#

(2) 可选方案--Javascript

Javascript在功能上很强大,通过WScript,
(a)既支持正则表达式
(b)也支持执行批处理命令

但是对于它能否脱离浏览器单独运行,特别是是否有运行权限,不是十分肯定
而时间有限,无法深究此问题

题外话:调研过程中,发现了Node.js,可以在服务器端脱离浏览器执行javascript脚本,但是觉得本次应该用不到。

(3) 可选方案--VBScript
这个语言功能有点硬伤,就是没有MAX_INTEGER这样的函数
好处是,这是经过验证的做法,
因为之前用NSIS脚本调用过VBScript,即使没有获得最高权限,也没有遇到什么权限方面的问题
所以决定还是用VBScript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值