|
本帖最后由 fish2006 于 2018-11-17 15:31 编辑
Sh.exe 新版功能探讨和应用【附全系列更新系统下载】 2016.2.26
Sh.exe 的整体功能和使用方法见下面链接,本帖主要探讨Sh.exe 2016.02.07 新版的一些内容,并对以前没有发现或提到的一些功能重新明确一下,以便于更好地认识和使用 Sh.exe。
http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1
一。再谈 ShCache.idx --- 因为有了新的认识和看法
1。在应用程序根目录下手工运行 ShCache.exe ,将会自动生成当前目录及其子目录下所有应用程序配置文件 *.shl 的索引文件 ShCache.idx。也就是说 ShCache.exe 有合并 *.shl 文件的功能。
2。如果在应用程序搜索路径内没有 ShCache.idx 文件,则 Sh.exe 执行过程中将自动完成应用程序配置文件 *.shl 中的信息(执行结果不会生成 ShCache.idx 文件),这种情况下可能比直接读取 ShCache.idx 文件花费更多的时间 。也就是说 ShCache.idx 文件不是 Sh.exe 运行必须的,而应用程序配置文件 *.shl 才是最基本的。
3。上述两个结果告诉我们,我们的注意力不应该放在直接编写和修改 ShCache.idx 这个文件上面,而应该放在编写和修改每个应用程序配置文件 *.shl 上面,因为这是更基本的和根本的,有了每个应用程序配置文件 *.shl,就可运行 ShCache.exe 瞬间自动生成 ShCache.idx 文件,而这样程序形成的文件比我们手工形成的规范的多,出错机会也更少。这次重新审核 *.shl 文件,发现不少语法上错误内容,主要原因就是因为过去主要用手工直接修改 ShCache.idx 文件,而没有同时修改 *.shl 文件,结果出现了 ShCache.idx 内容和 *.shl 内容不一致的现象。
二。Sh.ini 中搜索路径可以有多个目录,目录之间用分号“;”分割
如:Path=PePrograms;PeTools
在过去的应用中,32位系统和64位系统外置程序是分开存放的,如:32位系统外置目录是“DYY8\81PE”,而64位系统外置目录是“W81X\81PeProg”,而这两个目录内很多文件是重复出现的,如绝大部分小的工具软件,而 Office、QQ、Skype、ACRONIS 等都是体积大的重复文件,严重地浪费了磁盘空间,尤其在容量较小的U盘环境下更觉得是一个问题,如何避免一个文件重复存放在两个不同目录内?利用Sh.ini 中搜索路径可以有多个目录这个功能,就可以解决这个问题,一种可行方案如下:
1。在32位系统和64位系统下完全相同的应用程序归为一类 Prog_cmn,放在 Prog_cmn 目录内,即此目录内程序是32位系统和64位系统共用的。
2。在32位系统专用的应用程序归为一类 Prog_x32 (这些程序一般是有对应的64位版本),放在 Prog_x32 目录内。
3。在64位系统专用的应用程序归为 Prog_x64,放在 Prog_x64 目录内。
下面只要修改 Sh.ini 中搜索路径就可:
32位系统 Sh.ini 中搜索路径:Path=Prog_cmn;Prog_x32
64位系统 Sh.ini 中搜索路径:Path=Prog_cmn;Prog_x64
三。[CheckVer] 新功能及其应用 --- Sh.exe 2016.02.07 新版增加的功能
下面是应用程序配置文件 *.shl 中 [CheckVer] 这个组(段)的俄文原版说明和 Google翻译的 俄-中 对照说明。
1。[CheckVer] 原文语法和说明:
[CheckVer]
;Проверка на совместимость , если условия не выполнены, link файл будет проигнорирован.
;совместимые версии, если ключ пустой или отсутствует, проверка игнорируется.
;兼容性检查,如果条件不具备,链接文件将被忽略。
;兼容的版本,如果键为空或丢失,验证被忽略。
OSArch=X86,IA64,X64
OSVersion=WIN_81,WIN_8, WIN_7,WIN_VISTA,WIN_XP,WIN_XPe,WIN_2012R2,WIN_2012,WIN_2008R2,WIN_2008,WIN_2003,WIN_10
;Наличие файла или каталога , если ключ пустой или отсутствует, проверка игнорируется.
;一个文件或目录的存在,如果该键是空的或丢失,验证将被忽略。
TagFile=\demo.exe
由于是机器翻译,加上软件功能本身很难用几个字可以说透,上述内容看了之后只能说似懂非懂。我想即使你懂得俄语,也不一定说清楚这个功能是做什么用的,具体如何使用,我在下面的说明只涉及其中一条:OSArch=X86,IA64,X64,是经过自己的实践得出的结论。
2。OSArch=X86,IA64,X64 的具体应用 --- 32位和64位应用程序合并在一个目录中
[CheckVer] 这个组(段)要放在应用程序配置文件 *.shl 的首部,整体来说其功能是进行“兼容性检查”,如果满足规定条件(或要求),则本应用程序的配置内容执行下去;如果不满足,则退出本应用程序的配置要求,即不执行本应用程序的配置内容。OSArch 是 OS Architecture(操作系统架构)的缩写,X86,IA64,X64 是用来区分 32位系统和64位系统的,OSArch=X86 表示在 32位系统下执行本应用程序的配置内容(而在64位系统下不执行本应用程序的配置内容),而 OSArch=IA64,X64 表示在 64位系统下执行本应用程序的配置内容(而在32位系统下不执行本应用程序的配置内容),利用这个功能就可以非常方便地处理上面叙述过的32位和64位应用程序问题,上面叙述中采用了三个目录,而现在只用一个目录就可统一处理32位和64位应用程序了。具体方案说明如下:
A。首先对应用程序进行分类还是需要的,如与上述内容相同,分成三类:Prog_cmn,Prog_x32,Prog_x64。
B。Prog_cmn 类是 32位系统和64位系统共用的,其配置文件 *.shl 不需要修改和变化。
C。Prog_x32 类是 32位系统专用的,在其配置文件 *.shl 的开始部分补充如下内容,检查操作系统架构,只让 32位系统执行:
[CheckVer]
OSArch=X86
D。Prog_x64 类是 64位系统专用的,在其配置文件 *.shl 的开始部分补充如下内容,检查操作系统架构,只让 64位系统执行:
[CheckVer]
OSArch=IA64,X64
利用这个方法重新处理外置程序,32位系统和64位系统使用同一个搜索目录(在作者的应用程序中统一采用 PePrograms 这个目录名称),当然在一些具体的应用程序的处理上根据具体情况采取不同的处理方法,不能采取同一模式,有兴趣的网友自己分析和研究,作者不在本贴详述这些内容,相信有些处理方式会对你有启发的。修改后的外置程序和典型系统现予以发布,欢迎下载、测试和使用。
【全系列更新系统下载】
下载地址:http://pan.baidu.com/s/1c8MF4E
提取密码:qzbe
目录名称:SH新版-审核
下载链接:http://pan.baidu.com/s/1qYSo4A4 (此链接已失效)
目录名称:SH新版-外置+系统
提取密码:esqf
2016.9.26 注明:上述下载目录在百度网盘上系统显示“(审核未通过)”字样,并且分享链接失效,对新版 Sh.exe 及其对应的系统和外置程序请移步到下面的链接去下载:
下载地址:http://pan.baidu.com/s/1b34b5G (此链接已失效)
目录名称:SH新版-审核
提取密码:cxt9
2016.3.4 补充上传新的驱动程序:DriverPacks(x86+x64)_2015.7z
最近从俄国人 Win10PE 中提取的 32位+64位驱动程序,比 PePrograms.7z 压缩包内容更新、更丰富,解压后可直接替换原压缩包内容。
附注:
A。本系统主要对象是同时使用(收藏)32位和64位系统的用户,对那些只使用(收藏)32位或64位系统的用户是没有优势的。
B。如果你是硬盘上使用系统,并且你的硬盘是以 TB来计量的,对几百兆硬盘空间的浪费没有任何想法,则可以掠过上面提供的分享。
================================================================================
2016.3.22 补充“SH新版及其应用技巧” --- SH在本地化和个性化方面的应用
PE作者通过网络对外发布的一般都是公用和普遍使用的内容,那些带有私人信息和个别用户使用的不宜放在系统文件内并在网上发布,但这些东西对具体的个人和特定的环境而言又非常需要和实用的,比如个人使用的收藏夹、自己喜欢和熟悉的输入法等,本次内容就介绍如何利用SH的功能通过外置程序方式实现这些任务(通过外置程序方式实现的根本优点是不必修改系统核心文件,不同的人,在不同的设备上根据具体情况采用针对性的方法),这些方法都是作者亲身经历过的和正在使用的方法,均通过实践证明是可靠、有效的。
1。通过外置程序方式设置个人收藏夹方法
过去收藏夹是直接集成在系统WIM文件的“用户”文件夹内,在发布系统时先删除个人信息后再打包、上传,比较麻烦;现在采用系统启动时动态地从硬盘拷贝文件的方法,与系统核心文件完全脱离关系,不再经历以前的麻烦了。
A。先建立一个拷贝文件的批处理命令文件:【copy-Favorites.cmd】内容如下:
copy D:\"My Documents"\bookmarks.adr %userprofile%\AppData\Roaming\Opera\Opera\
xcopy D:\"My Documents"\Favorites\*.* /s /y %userprofile%\Favorites\
第一行 copy 命令是从 D: 盘拷贝 Opera 收藏夹到 X: 盘(bookmarks.adr 是自己使用的 Opera收藏文件名)。
第二行 xcopy 命令是从 D: 盘拷贝 IE 收藏夹到 X: 盘(Favorites 文件夹是自己使用的 IE 收藏夹)。
B。创建一个新的应用程序配置文件或在某个应用程序的配置文件中,自动运行上面 A。中创建的批处理命令文件。
我是在 AUTORUNS.SHL 这个应用程序的配置文件中调用的(将 copy-Favorites.cmd 文件放在 \PePrograms\AUTORUNS\目录下),
在【AUTORUNS.SHL】的 [AutoRun] 这个段里补充如下内容。
[AutoRun]
hide=Yes
exe=\copy-Favorites.cmd
bat=\
reg=\
2。通过外置程序方式安装搜狗输入法
搜狗输入法在Win10PE下能够顺利地安装和使用,如果对微软的拼音输入法不太满意,可通过外置程序方式安装搜狗输入法,在本人发布的几个 Win10PE 下均测试通过(含32位和64位系统),使用的版本是:6.2.0.7817 , 程序安装文件 【Sogo.exe】大小为:11.2MB。
A。安装搜狗输入法命令 【Sogo.cmd】 文件内容:
start Sogo.exe /sp- /verysilent
B。程序配置文件 Sogo.shl 文件内容:
[Shortcut]
...... 此段省略
[AutoRun]
hide=Yes
exe=\Sogo.cmd
bat=
reg=
3。通过外置程序方式安装设备驱动
我的笔记本上有摄像头和SD卡读卡器,过去有些系统里曾集成过这两个驱动,现在改为外置程序方式安装,具体方法如下:
A。PePrograms 目录下创建 MyDrv 子目录,在其下面再创建 x86 和 x64 两个子目录,分别存放 32位和 64位系统驱动程序。
再在每个系统的 Camera 子目录下存放摄像头驱动文件,而在 SDCard 子目录下存放SD卡读卡器驱动文件,目录结构如下:
\PePrograms\MyDrv\x86\Camera
\PePrograms\MyDrv\x86\SDCard
\PePrograms\MyDrv\x64\Camera
\PePrograms\MyDrv\x64\SDCard
下面仅以 32位系统做说明,64位系统与此雷同。
B。在 x86 子目录内创建 mydrv_x86.ini 和 mydrv_x86.shl 两个文件,具体内容如下:
【mydrv_x86.ini】文件内容(此文件将由 PECMD.EXE 装入执行):
DEVI .\Camera\oem1.inf
DEVI .\SDCard\oem2.inf
第一行 oem1.inf 是摄像头驱动安装文件。
第二行 oem2.inf 是 SD卡读卡器驱动安装文件。
(如果需要安装其他驱动程序,再加相应的目录和 .inf 安装语句就可,需要说明的是,事先应该手工方式确认 .inf 文件来安装驱动成功)。
C。应用程序配置文件中需要 SH新版功能 [CheckVer],用来区别32位和64位系统。
【mydrv_x86.shl】文件内容(应用程序配置文件,SH运行时自动安装给定的设备驱动):
[CheckVer]
OSArch=X86
[Shortcut]
...... 此段省略
[AutoRun]
hide=Yes
exe=%WinDir%\System32\PECMD.EXE load .\mydrv_x86.ini
bat=
reg=
|
评分
-
查看全部评分
|