首页 游戏问答 正文

诺艾尔会努力的_更新日志_无捆绑绿色下载

我被恶心到了,所以决定自己动手

我不是一开始就想当什么“绿色下载”的布道者。我就是单纯被现在那些软件的安装包给恶心到了,实在忍不了。

本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.me

上个月,我寻思着想给电脑装个小工具,用来批量改点图片尺寸。这个工具本身特别小,我知道它干活厉害,就去官网下了。结果?我点开那个安装程序,就傻眼了

我本来只想装一个改尺寸的工具,结果它跳出来,先是问我要不要装它的“全家桶”,里面塞了三个根本没用的浏览器插件,一个弹窗广告卫士,还有一个不知道从哪儿冒出来的游戏大厅。我心想妈的,我只是想改个图!

我小心翼翼地,把所有“推荐安装”的小勾勾都给取消了,这简直像是在玩排雷游戏。终于,工具是装上了,但它还是偷偷给我留了个后门。第二天开机,右下角就弹出了广告。我当时那个火气,直接把整个程序都给卸了。

我琢磨着,这不行。既然市面上这些家伙都在干这种捆绑销售的脏活儿,那咱们自己做点东西,就得做个问心无愧的。这就是我为什么决定把手头的几个实用小项目,全部整理成“诺艾尔会努力的”更新日志系列。核心目标就一个:无捆绑,绿色,解压即用,删掉就干净

从零开始:拆包与重构

定下目标后,我立马动手开始实践。我的第一个任务,就是把我之前写的一个常用的本地文件管理脚本,彻底剥离出来,让它能自己跑,不依赖系统环境。

我做的是反编译,把原来那个依赖一堆运行库的程序,一层一层扒开看。我发现它最大的问题是,启动的时候会往系统注册表里写东西,目的是为了记住用户的偏好设置。这是个陷阱!一旦写进去,就算你把主程序删了,注册表里的垃圾也清不掉。

于是我立马动手改代码:

  • 第一步:迁移配置。我把所有读写系统注册表的操作,全部改成了读写程序所在文件夹里的一个纯文本配置文件。这样,程序启动时,只会找自己家里的文件,对系统是完全无感的。
  • 第二步:封装运行环境。原程序依赖的那个运行库,我没法让用户自己去装,太麻烦了。我采取的办法是“塞箱子”,用一个自解压工具,把运行库和程序主体包在一起。重点是,这个“自解压”不是真正的安装,它只是把所有东西临时解压到一个专用的、隐藏的临时目录里,程序跑完就自动清空。
  • 第三步:定制启动器。我写了一个超级简单的启动脚本(一个不到5KB的批处理文件),它的唯一使命就是:启动核心程序,并且在程序退出时,强制性地检查并杀掉所有相关的子进程和临时文件。我必须保证用户点击“退出”后,是真的退得干干净净。

在“绿色”路上遇到的绊脚石

实践过程里,我可没少碰壁。这绿色下载,说起来简单,做起来简直是细节地狱。

最头疼的是路径问题。因为程序是在一个“相对路径”的环境里运行,有些老代码会默认去C盘找某些系统文件。我一开始没注意到,导致有几个测试老哥反馈说,只要文件放在D盘或E盘的深处,程序就找不到配置文件,报错了。

我赶紧回去查,发现是程序在初始化路径变量的时候,没有用“当前执行路径”作为基准,而是用了操作系统的默认路径。我花了一个通宵,把所有硬编码的系统路径都改成了动态获取当前目录的逻辑。这下好了,无论你把这个压缩包扔到哪个角落,它都能自己找到自己的邻居,安心干活。

还有个小插曲,我用那个自解压工具打包后,杀毒软件时不时会报毒。因为它“看起来像”一个安装程序。我找了很久,换了一个更轻量级的打包器,并且在打包的时候,给文件加上了数字签名。虽然麻烦,但这是对用户最基本的尊重——告诉他们这个文件是谁做的,保证它没被乱改过

最终成果和诺艾尔的承诺

经过这么一番折腾,新的版本终于出炉了。文件名就叫“诺艾尔会努力的_更新日志”。每一次的修复和调整,我都会像今天这样,老老实实地记下来,告诉大家我改了什么,解决了什么。

你下载到的,是一个真正的压缩包。

你只需要解压

然后双击里面的主程序,它就开始跑了。

用完了?直接把整个文件夹删掉,系统里不会留下任何痕迹,不会有注册表残留,不会有偷偷运行的后台进程。

这才是我们这些做工具的人应该有的良心。我做这个,不是为了赚钱,就是图个心里痛快,图个清净。我希望大家用我的工具,都能用得舒心,不用再担心被那些捆绑软件给算计。诺艾尔会努力的,就是这个意思,我会一直盯紧这些细节,让绿色下载成为常态。