找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 865|回复: 1

[【IM资讯】] 善用JauntePE,让软件都成为绿色便携版

[复制链接]
发表于 2007-4-9 19:21:58 | 显示全部楼层 |阅读模式
善用JauntePE,让软件都成为绿色便携版


  不少网友都喜欢绿色便携的软件。但很多优秀的软件并非绿色便携,实在可惜。不过,有了JauntePE(下载|主页)的帮助,每个人都可以把自己最喜欢的软件做成绿色便携版。



一、便携版的含义
  不要试图给绿色版、便携版(protable edition,有时简写为PE)下严格的定义。但可以想一下,非便携带来的不便之处:机器重装C盘后,希望D盘的MS Office能直接运行?把Maxthon复制到其他机器上,希望直接运行并保持原设置和偏好?把becky或Thunderbird及邮件内容拷到U盘,插入即用?
  便携版的应用场合主要有:重装机器不影响软件,换Windown登陆用户不影响软件,在U盘或复制到其他PC不影响软件。JPE的目标就是“非便携软件可以便携运行(run non-portable applications in a portable manner)”。
  便携版要解决的两个问题是注册表和相关文件目录。JPE对应解决为:注册表转存为文件(redirection of registry modifications into a portable registry file);特殊目录转到对应的便携目录(redirection of special directory file system modifications into equivalent portable directories)。
二、试用JPE做便携的MWSnap
  为了试验,需要找一个本身不便携,但又便于测试的软件。还真不好找。因为很多小软件,如IrfanView、EPSnap等,都将配置信息写入ini而已经便携了。而大软件如MS Office我又不想用来试验(体积、时间、风险)。最后选中了MWSnap,一款免费的截图软件,可参见《译|小巧免费的截屏精品MWSnap》。MWSnap的一些设置会写注册表,如是否自动保存截屏文件、保存格式、命名规则等。我们期望便携后,不再写注册表。下面开始试验。
运行JauntePE.exe,界面如上图,点“Build Portable”(制作便携程序)
然后,在对话框中点Select,告诉JPE你要处理的软件。我是把MWSnap目录复制了一份,改名为MWSnap_PE。建议你也这样做。



接下来2对话框分别问便携主程序和运行所需文件的存放目录,仍指定为mwsnap_pe目录。
接下来是对注册表内容的设定,如下。意为:注册表项转写文件,把当前内存中的设置写入文件。



接下来,设定运行程序的一些特殊文件是否便携化,当然是。如下



接下来,是个不重要的问题。生成的mwsnappe.exe图标是用原程序(mwsnap)还是JPE的。看你习惯。
接下来2对话框分别是问,原程序、注册表项、相关文件打包进入便携程序exe内部,还是单独存放。我选后者,即对话框第2项。
接下来的对话框对上述设定进行确认,如须修改,可返回上一步。
确认后,生成了23KB的一个MWSnap_portable.exe,但这时先不要运行。
把jauntePE.dll和madCHook.dll,从JPE目录复制到mwsnap_pe目录。
运行MWSnap_portable.exe,会发现软件界面上多了几个按钮,并有一个红框。



进行一些设置,注意要与原来的MWSnap设置不同。再关闭程序,会发现目录下多了一个MWSnap_registry.reg 文件。
制作便携版结束。 三、测试便携版的MWSnap
  现在,计算机上有一个普通的mwsnap(D:\\Program Files\\pic\\mwsnap\\MWSnap.exe)和便携的mwsnap(D:\\Program Files\\pic\\mwsnap_PE\\MWSnap_portable.exe)。进行测试,在其中一个进行设置后,运行另一个,发现并无影响。把便携版目录改名,运行也无影响。由此可证明,便携版制作成功。
  再进一步,假如我想把截屏文件存放到便携mwsnap目录下,可否实现?也就是说,现在截屏文件放到了D:\\Program Files\\pic\\mwsnap_PE,如果我复制到U盘,截屏图片存放目录要自动改成x:/mwsnap_pe。
  直接测试,发现不成功。也就是说,JPE并不能自动区分哪些目录是相对的,哪些目录是绝对的。思考:这一目录设定应该是在注册表中,可否直接写成相对目录?尝试1:直接修改MWSnap_registry.reg。结果:此文件中,注册表项的值用十六进制表示,不便修改。尝试2:regedit直接修改注册表(HKEY_CURRENT_USER\\Software\\MirWoj\\MWSnap\\AutoSave,如下图),重新生成便携版。这样操作后,成功了。



  这倒是一个有点意外、有点惊喜的发现。也就是说,在用户界面上无法实现的设置,可以通过直接修改配置文件(这里的注册表)来完成。引申一下, Windows传统也是优点,是给用户易用的界面。但这增加了开发人员的成本,并且不是所有功能都可通过图形化界面完成。有所得必有所失。
四、其他测试
  vim的设置信息会放在_vimrc文件中,可以放在vim目录下,相当于便携。但另外一些信息,比如最近打开的文件、命令行历史、跳转记录 ……都会放在C:\\Documents and Settings\\username\\_viminfo中。能否让便携版的vim把此文件放到vim目录下呢?当然,这样做实际意义不大,纯属测试。而测试结果确实没成功。
五、结论
  JPE可以把软件写注册表的设置转入文件,借此实现便携版。这对于高度可配置而又将配置写入注册表的软件(我见过最典型的是Becky),是一大福音。有需求的用户,可自行用它制作便携版,从而做到U盘即用、装机无忧。
附:关于JPE软件及其他说明
下载包并非官方。据发布包中比较混乱的文档,推知原作者Redllar,最后发布版是PortaPotty Pre-Alpha 0.1.0 Build 20061010-001,所用的库也刚从Detours library换为madCodeHook。但是,作者此后好象在网上消失了。于是http://www.portablefreeware.com的网友Firewrath接手过来,附上了一些教程和示例,并且将软件改名,成了目前的下载包。这些信息,以及下述的信息,都混杂在这个下载包中。挺有意思,但也比较混乱,好几个说明文件,但没有明确作者和日期,只能根据目录和语议来分析。因此,不排除有误解,欢迎指正。
此软件没开发完。下载包中,主程序版本为JauntePE Pre-alpha 0.10 Build 20070101——相当低的版本。一般情况下,这样的版本不会公开发布的。因此,如有不稳定,请做好心理准备。另外,某些应用的功能,尚未开发或换库之后未更新。例,点主界面的Discovery,软件会提示“此功能尚未开发”。例,手工复制jauntePE.dll和madCHook.dll完全可以自动完成。
免费软件但需要帮助。此软件借用了第3方成果,就是madCHook.dll。你可以捐助它,这样他们就能买一份 madCHook应用许可(250美元),以便于它的代码直接包含进便携程序,而不再需要单独的madCHook.dll。
便携版并不是什么太重要的问题。理论上讲,很多小软件基本上是便携或准便携的;而某些不能便携的大软件也不适合携带。实际情况来看,xbeta专门安装便携版的软件只有 Firefox和Thunderbird。而我的Nvu,OOo,GIMP虽然是便携版,但其实原版也几乎便携。 接受JPE软件的教训,明示如下:JPE软件由Redllar开发,Firewrath修改发布,hugh网友告知xbeta,xbeta于2007年4月进行了测试并写就此文。JPE非商用免费;本文可非商业、署名转载。
回复

使用道具 举报

发表于 2007-4-10 09:46:27 | 显示全部楼层
好东西啊 方便以后做实验
谢谢咯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-15 12:49 , Processed in 0.221190 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表