无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 834772509
打印 上一主题 下一主题

[发布] DriverIndexer - 驱动索引加载器

    [复制链接]
1#
发表于 2021-5-19 20:16:01 | 显示全部楼层
这个支持WIM格式吗?我一般都是小的包用CAB或7Z,大的包如显卡驱动用WIM,挂一下倒也快。

点评

文件格式不限制,只要能解压、里面有驱动就行了  详情 回复 发表于 2021-5-19 21:24
回复

使用道具 举报

2#
发表于 2021-5-19 21:38:46 | 显示全部楼层
834772509 发表于 2021-5-19 21:24
文件格式不限制,只要能解压、里面有驱动就行了

试了,确实对WIM也可以。这个是用什么工具编写的?

点评

使用Rust编写的(Rust是一门系统级编程语言,效率略高于C++,与C语言不相上下)  详情 回复 发表于 2021-5-19 22:29
回复

使用道具 举报

3#
发表于 2021-5-19 21:52:13 | 显示全部楼层
本帖最后由 hhh333 于 2021-5-19 21:53 编辑

看了一下,工具是不是要调用7z来处理包里面的文件?只要7z能处理的包都可以安装。这样的话,如果系统里面已经有7z.exe/7z.dll/devcon.exe,是不是可以把这个工具做得很小?

点评

是的,但是由于Rust程序体积很膨胀,即便外置7z、Devcon程序也有1MB+,所以还是内置好一些。  详情 回复 发表于 2021-5-19 22:32
回复

使用道具 举报

4#
发表于 2021-5-19 23:35:18 | 显示全部楼层
834772509 发表于 2021-5-19 22:32
是的,但是由于Rust程序体积很膨胀,即便外置7z、Devcon程序也有1MB+,所以还是内置好一些。

哦,可是,然而7z就有1M+,我以为可减少1M+至0.5M左右。

点评

现在的1.4MB也是UPX压缩过的,压缩前有4MB左右  详情 回复 发表于 2021-5-20 06:26
回复

使用道具 举报

5#
发表于 2021-5-20 10:22:17 | 显示全部楼层
经过比较,确实要比PECMD DEVI *sub XXXXX要快,主要是PECMD安装成功后还会继续尝试扫描安装其他目录的驱动(dpinst.exe的逻辑也是这样的)。
回复

使用道具 举报

6#
发表于 2021-5-20 11:14:28 | 显示全部楼层
经过测试效率比较高,不错。
  1. @echo off
  2. echo.|time>t.log
  3. DriverIndexer.exe load-driver DRV_VGA.wim
  4. pecmd.exe kill explorer
  5. echo.|time>>t.log
复制代码
两个时间之间相差13''49
又把上述包解压后,把上述第三行改成DriverIndexer.exe load-driver DRV_VGA即直接指定驱动目录,安装驱动约耗时:11''76,解压与不解压只相差1''73,也即不到2秒,而这个包有250多M,解压后700多M,如果全部解压2秒时间绝对做不到
又用PECMD DEVI *sub比较,耗时要多一倍


点评

其实也可以用索引法,在GitHub上有详细的说明,可以使得速度介于压缩包与解包驱动之间,适用于大文件或固定的驱动包  详情 回复 发表于 2021-5-20 12:07
回复

使用道具 举报

7#
发表于 2021-5-20 11:49:57 | 显示全部楼层
请尽快发布32位版,当然有空做一下调用工具外置版更好,再减点体积就更OK了。
回复

使用道具 举报

8#
发表于 2021-5-20 15:26:39 | 显示全部楼层
834772509 发表于 2021-5-20 12:07
其实也可以用索引法,在GitHub上有详细的说明,可以使得速度介于压缩包与解包驱动之间,适用于大文件或固 ...

看了说明,确实使用很简洁,32位版呢,想测试一下

点评

32位程序已更新  详情 回复 发表于 2021-5-20 19:08
回复

使用道具 举报

9#
发表于 2021-5-20 20:06:34 | 显示全部楼层

有了这个调用,我原来的脚本可以简化点,我先把固定的驱动建一个索引才
回复

使用道具 举报

10#
发表于 2021-5-20 20:20:01 | 显示全部楼层
其他都还满意,就是体积大了点,几十KB最多几百KB为好
回复

使用道具 举报

11#
发表于 2021-5-20 22:56:42 | 显示全部楼层
几个问题:
1、索引与包在同一目录下,索引是不是可以不写路径?如下效果是一样的?
DriverIndexer.exe load-driver D:\netcard.7z netcard.json
DriverIndexer.exe load-driver D:\netcard.7z D:\netcard.json
2、我的显卡包加--DriveClass Display反而驱动不了,是什么原因?
3、--DriveClass Display的命令行中的位置不固定吧

点评

1. 是的,不写路径会优先搜索当前路径,如果当前路径不存在则会尝试解压驱动包内的索引文件。 2. BUG,经排查是Devcon指定设备类别时,没有安装驱动的设备不会显示,下版本修复。 3. 需要在子命令(load-driver)  详情 回复 发表于 2021-5-21 17:20
回复

使用道具 举报

12#
发表于 2021-5-22 10:15:57 | 显示全部楼层
刚才放8、8.1PE试了一下提示缺文件,从win10中补齐那几个文件,又提示装载点找不到,歇菜

点评

缺啥文件?截图看看  详情 回复 发表于 2021-5-22 10:59
回复

使用道具 举报

13#
发表于 2021-5-22 12:09:44 | 显示全部楼层
834772509 发表于 2021-5-22 10:59
缺啥文件?截图看看

"api-ms-win-crt-stdio-l1-1-0.dll"
"api-ms-win-crt-string-l1-1-0.dll"
"api-ms-win-crt-convert-l1-1-0.dll"
"api-ms-win-crt-heap-l1-1-0.dll"
"api-ms-win-crt-locale-l1-1-0.dll"
"api-ms-win-crt-math-l1-1-0.dll"
"api-ms-win-crt-runtime-l1-1-0.dll"

点评

是运行32位的DriverIndexer吗?  详情 回复 发表于 2021-5-22 12:19
回复

使用道具 举报

14#
发表于 2021-5-22 12:29:31 | 显示全部楼层
834772509 发表于 2021-5-22 12:19
是运行32位的DriverIndexer吗?

目前测的是32位

点评

好的,因为32位是临时编译的,VC-LTL编译遇到了些困难,等整明白了再重新编译吧  详情 回复 发表于 2021-5-22 12:56
回复

使用道具 举报

15#
发表于 2021-5-22 16:38:17 | 显示全部楼层
834772509 发表于 2021-5-22 12:56
好的,因为32位是临时编译的,VC-LTL编译遇到了些困难,等整明白了再重新编译吧

64位似乎没问题,刚才测试了
回复

使用道具 举报

16#
发表于 2021-5-23 23:14:46 | 显示全部楼层
32位还没整明白?
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-18 00:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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