最新消息:

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

nsis 永恒心锁 1454浏览 0评论

四、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

免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。丨本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途。丨本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » NSIS脚本添加可信站点 (2)

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址