无忧启动论坛

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

[V1.30.2011.501版]WimTool -- Wim文件的图形视窗处理工具[无忧首发]

    [复制链接]
271#
 楼主| 发表于 2008-1-5 17:26:17 | 显示全部楼层
原帖由 nn2nn 于 2008-1-5 05:18 PM 发表
运行

环境变量和LOGO命令演示.CMD;
出现错误!(SHOW完后,退出时)

测试环境:精简版XP


晕,有这等事?
本人的机子2003是通过的。

未命名.PNG (39.12 KB, 下载次数: 158)

未命名.PNG
回复

使用道具 举报

272#
 楼主| 发表于 2008-1-5 17:39:28 | 显示全部楼层
本人在XP的PE下测试也通过的。你用下面的三种方法测试一下:

1、直接双击有没有出现这个错误?
2、将 环境变量和LOGO命令演示.INI 文件中
      TEAM LOGO #0xFF0000L200T200R600B280|WAIT xxxx
  后面的延时加大一些。
3、检查注册表看看8个环境变量在系统中是否存在?

如果是1和3引起的,WinCMD.EXE才需要更新。

[ 本帖最后由 lxl1638 于 2008-1-5 05:41 PM 编辑 ]

未命名.PNG (19.69 KB, 下载次数: 158)

未命名.PNG
回复

使用道具 举报

273#
 楼主| 发表于 2008-1-5 18:07:09 | 显示全部楼层
原帖由 nn2nn 于 2008-1-5 05:53 PM 发表
我再看看!

1、根据nn2nn的要求,通过命令行压制WIM时支持定义捕获的过滤规则;
上一句,在哪体现?是不是1#没有更新。

在界面上
制作WIM时支持捕获规则,但要手工LOAD。
解开时,看不到相关的捕获规则 ...


1、定义捕获的过滤规则
制作映像
   ①.静默方式,不提供处理进度
   格式:WimTool.EXE [/Boot] [/Compress <Maximum|Fast|None>] /Capture <目录名> <映像名> [卷名] [描述]
   示例:WimTool.EXE /Boot /Compress Maximum /Capture D:\PROGRAMS D:\Test.WIM "MyPrograms"
   ②.窗口方式,提供处理进度,支持操作隐藏分区
   格式: WimTool.EXE  <目标路径名>  </CompPath>  [/Config  <配置文件>]  [映像文件]
   示例: WimTool.EXE  D:\PROGRAMS  /CompPath  D:\Test.WIM
           WimTool.EXE  C:\  /CompPath  /Config  MyConfig1.INI  0:4\SysBack.WIM
           WimTool.EXE  0:1\  /CompPath  /Config  MyConfig2.INI  F:\SysBack.WIM

2、解开文件时不支持过滤规则,是WIMGAPI.DLL不提供这样的支持。
3、HD空间提示这个问题现在算了,因为要预计空间大小不容易,既使可以计算出文件的总体积,
    也没法确定制出的WIM要多大的空间,原因是有些文件可能是RAR、ZIP压缩文件。
回复

使用道具 举报

274#
 楼主| 发表于 2008-1-5 18:09:27 | 显示全部楼层
原帖由 nn2nn 于 2008-1-5 06:06 PM 发表
与行数有关!
显示3行就正常,4行就出错。

TEAM LOGO #0xFF0000L200T200R600B280|WAIT 2000
TEAM ENVI T=20|CALC B=%T% + 20
TEXT 配置文件目录:  %CurDir% #0x40FFL20T%T%R600B%B%$20

CALL SetNewVal ...


这样是精简的系统问题,WinCMD.EXE没有考虑到精简系统的环境变量也给砍掉了,以后有空再完善一下。

[ 本帖最后由 lxl1638 于 2008-1-11 01:24 AM 编辑 ]
回复

使用道具 举报

275#
 楼主| 发表于 2008-1-5 18:28:34 | 显示全部楼层
原帖由 nn2nn 于 2008-1-5 06:20 PM 发表
2、解开文件时不支持过滤规则,是WIMGAPI.DLL不提供这样的支持。

真可惜!

解开文件时不支持CALLBAK,对吗?


支持CALLBACK,但MS没有这方面的说明,本人也调试可所有CALL MSG,解开文件时根本没有文件信息,所以无法过虑。
你也试验,看看能否在解开文件过程中找到文件信息?

另外,MS提供的WIMGAPI说明是很老的,不知有没有新的说明。

[ 本帖最后由 lxl1638 于 2008-1-5 06:29 PM 编辑 ]
回复

使用道具 举报

276#
 楼主| 发表于 2008-1-5 18:36:41 | 显示全部楼层
原帖由 nn2nn 于 2008-1-5 06:29 PM 发表


软件说明更新了,1#没有更新。


不明你的意思。命令参数压制WIM是支持文件过滤的,图形界面下可以通过点[配置文件]按钮来编辑配置文件。
回复

使用道具 举报

277#
 楼主| 发表于 2008-1-5 19:20:12 | 显示全部楼层
找到了解开文件的过滤MSG了,以后更新再支持这方面的功能。
回复

使用道具 举报

278#
 楼主| 发表于 2008-1-5 21:03:18 | 显示全部楼层
原帖由 nn2nn 于 2008-1-5 08:16 PM 发表
谢了!

备份一份系统,就可按需还原,这才是WIM备份的最大优势。


对路之极,按需备份,按需还原。如果在之基础上做出多份不同的文件解压过滤配置,这样同一WIM用不同的配置还原也是N合1系统的一种思路。
回复

使用道具 举报

279#
 楼主| 发表于 2008-1-6 13:46:21 | 显示全部楼层
nn2nn,测试一下这个 WinCMD.EXE 。

[ 本帖最后由 lxl1638 于 2008-1-8 12:50 AM 编辑 ]

WinCMD.rar

22.28 KB, 下载次数: 44, 下载积分: 无忧币 -2

回复

使用道具 举报

280#
 楼主| 发表于 2008-1-6 21:55:19 | 显示全部楼层
原帖由 nn2nn 于 2008-1-6 09:51 PM 发表
在PE上没问题。。。。


在你上次出现问题的机子中试试,如果这个WinCMD.EXE可以,就定下来了,半年或一年以后再考虑更新。
回复

使用道具 举报

281#
 楼主| 发表于 2008-1-6 22:17:34 | 显示全部楼层
原帖由 nn2nn 于 2008-1-6 09:58 PM 发表
第一次,显示有错行重叠现象,第二次就没了。

但每一次都在退出时出现问题。

出现问题的那个提示窗口要长点时间才出现。


很个别的现象就别管了,明天再拿两台机试试。


重叠现象可以在 LOGO 命令后加延时解决。退出时出现问题实在不解。
回复

使用道具 举报

282#
 楼主| 发表于 2008-1-7 09:06:29 | 显示全部楼层
原帖由 zts59 于 2008-1-7 08:12 AM 发表
用0106版打不开蛋蛋,晕  好像停在读硬盘分区时卡住了一样,窗口空白了

0101F版可以打开的


那你先用0101F,本人有空再查一下0106。
回复

使用道具 举报

283#
 楼主| 发表于 2008-1-7 09:21:41 | 显示全部楼层
原帖由 nn2nn 于 2008-1-7 09:16 AM 发表
我用0106版能开蛋蛋,正常!


情况应是个别的,下载量近8000了,无忧有2人报到这个现象(通过外部链接下载的可能也有个别存在这个现象)。
WimTool-0106头一天的下载量不到10秒就1份。
回复

使用道具 举报

284#
 楼主| 发表于 2008-1-7 11:10:55 | 显示全部楼层
原帖由 nn2nn 于 2008-1-7 09:30 AM 发表
WinCMD.EXE 在TEXT命令还要改改,
在2003上,没有出错提示框,但显示不全(空行),
在XP上重叠。
运行多几次才正常。

在精简XP系统上,BUG还出现(如果是个别现象就算了。)


以后再作打算,半年内不管了,因为要装XP,在XP中重装VS2005,很麻烦的事。
等XP SP3出来了,装XP SP3后再看看它在XP中为何出错。

空行问题可以在 LOGO 命令后加延时解决,或者不要 LOGO 命令,直接在屏幕上写文字。
回复

使用道具 举报

285#
 楼主| 发表于 2008-1-7 17:24:40 | 显示全部楼层
原帖由 secowu 于 2008-1-7 03:37 PM 发表
根据这个?

WimTool的命令行和图形窗口下操作都支持定义规则配置,图形界面时点[配置文件]铵钮编辑你的规则,命令行参数的用法见说明。
回复

使用道具 举报

286#
 楼主| 发表于 2008-1-8 10:08:21 | 显示全部楼层
WinCMD.EXE 有问题的,请测试一下123页2楼的WinCMD.EXE

本人办公室的机子没有问题,用的是JUJU猫宽带宝藏论坛春节内部版.
回复

使用道具 举报

287#
 楼主| 发表于 2008-1-8 12:22:02 | 显示全部楼层
原帖由 nn2nn 于 2008-1-8 11:05 AM 发表
WinCMD.EXE 有问题的,请测试一下123页2楼的WinCMD.EXE
一样有问题的。


怪事,实在找不到原因了,本人在XP/2003/PE中试验都没有问题,可能是与精简系统有关了。
顺便顶起,下载量就过万了。
回复

使用道具 举报

288#
 楼主| 发表于 2008-1-10 12:17:59 | 显示全部楼层
好象 WIM_MSG_COMPRESS 是压缩消息吧?
回复

使用道具 举报

289#
 楼主| 发表于 2008-1-11 18:43:39 | 显示全部楼层
原帖由 jzdai0903 于 2008-1-11 01:46 PM 发表
老九有試過在雙核心電腦內...xp系統跑最新版本wimtool的蛋蛋功能嗎?

我使用會出現錯誤畫面...(晚點再貼圖片)

同版本wimtool在單核心pe內可以正常使用...

在支援雙核心版本內同樣會出現錯誤畫面...

...


没有双核机子,无法试验,存在这方面问题很正常,WimTool设计之初没有考虑到多核处理器的情况,本人也无法找到多核处理器来试验。
WimTool中多次使用多线程处理,且WimTool中的多线程不是通过Delphi的多线程模板而是用API建立的简化多线程,可能在线程同步方面存在问题。
你尽可能试验一下,除蛋蛋功能出错之外,其它功能,如挂载、压缩、解压等功能在多核机子中能否使用。
回复

使用道具 举报

290#
 楼主| 发表于 2008-1-11 18:57:42 | 显示全部楼层
另问,虚拟机能否虚似多核?
回复

使用道具 举报

291#
 楼主| 发表于 2008-1-12 12:09:13 | 显示全部楼层
原帖由 GDH 于 2008-1-12 09:49 AM 发表
只有主机CPU是多核的才能在虚拟机里虚拟多核的


本人无法进行多核测试了。
回复

使用道具 举报

292#
 楼主| 发表于 2008-1-13 13:08:00 | 显示全部楼层
按 xuexiang 的提议,简单更新。
回复

使用道具 举报

293#
 楼主| 发表于 2008-1-18 17:55:44 | 显示全部楼层
原帖由 ck 于 2008-1-18 05:53 PM 发表

同问。。。。。。。。。。。。。。


可以不用,但无右键菜单。
那个 DLL 无需更新,所以附件中没有。用原来的。
回复

使用道具 举报

294#
 楼主| 发表于 2008-1-19 13:20:20 | 显示全部楼层
原帖由 secowu 于 2008-1-19 12:54 PM 发表
老九:

   经过昨天晚上与今天早上到现在的测试

PE用老毛桃的与Chenall和各个版本测试

WIMTOOL F版本

结果:

1.几次在备份时都有程序不明退出的情况发生

2.时间显示能否用X小时X分X秒啊,省得 ...


以后如果有更新再一同更新,现在暂时将就用着。
回复

使用道具 举报

295#
 楼主| 发表于 2008-2-11 21:59:59 | 显示全部楼层
翻新一下,支持WIM个性化图标,本人的方案与阿呆的有所不同,采用最兼容的方法,但有很多地方需要完善的,大家先测试一些时间,本要有空再完善一下。明天就要上课,很可能要半年后才能更新了。
回复

使用道具 举报

296#
 楼主| 发表于 2008-2-12 01:03:53 | 显示全部楼层
本人的思路是:
1、尽可能采用最兼容的方案;
2、尽可能想办法你在系统中看到什么图标就用什么样的图标,比如可以设置成文件夹、RAR、TXT文件的图标,这些文件原本是没有图标资源的。
回复

使用道具 举报

297#
 楼主| 发表于 2008-2-12 11:32:36 | 显示全部楼层
原帖由 nn2nn 于 2008-2-12 10:13 AM 发表
LZ明文说了,现在还不支持真彩图标。


是的,Delphi默认没有支持真彩色图标,可能没有时间搞了,你专门做个WIM图标写入工具吧,就写在WIM第1卷中,看下面的XMLINFO:
<WIM>
  <TOTALBYTES>1290460</TOTALBYTES>
  <IMAGE INDEX="1">
    <DIRCOUNT>9</DIRCOUNT>
    <FILECOUNT>39</FILECOUNT>
    <TOTALBYTES>4373692</TOTALBYTES>
    <CREATIONTIME>
      <HIGHPART>0x01C033A6</HIGHPART>
      <LOWPART>0x2177EB4E</LOWPART>
    </CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01C867B3</HIGHPART>
      <LOWPART>0x4596C5D8</LOWPART>
    </LASTMODIFICATIONTIME>
    <NAME>FreeWB</NAME>
    <DESCRIPTION>极点中文输入法</DESCRIPTION>
    <WIMTOOL VER="1.0.8.0106F X86">
      <MOUNTRUNCMD>setup.exe /s</MOUNTRUNCMD>
      <UNMOUNTRUNCMD>setup.exe /u /p /s</UNMOUNTRUNCMD>
      <MOUNTPATH>D:\WIM工具\FreeWB</MOUNTPATH>
    </WIMTOOL>
     <ICON>AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AmZmZmZmZmZmZmZmZmZmZl5mZmZmZmZmZmZmZmZmZmZmZ////+f////////////iZmf/4n4n/mP//////if/4mZn/+J+J/5j//////3n/+JmZ//ifif+Y//////+Z//iZmf/4n4n/mP//////mf/4mZn/+J+J/5iIiIiIj5j/+JmZ//ifif+YmZmZmZ+Y//iZmf/4n4n/mP/4mI//mP/4mZn/+J+J/5j//5j//5j/+JmZ//ifif+Y+I+Z//if//iZmf/4n4n/mJmYmf/4n//4mZn/+J+J/5iYiXmJ+J//+JmZ//+fifiYn4mJ+Zif//iZmf//mIn4n5+Jif+Zn//4mZn//5iJ+J+fiYn/iZ//+JmZ//+YifiYmZn5iZl///iZmf//l4n5mJh5+YeZn//4mZn//4mJ+YififmP+J//+JmZ//+JeYn/j/j5iImf//iZmf//+ZmZ////+YeZj//4mZn///+Zj///+Jn/////+JmZ////iY///4mP//////iZmf//+ZmZ//+Z///////4mZn//5mJiY//mY//////+JmZ//ififefiImZiIiP//iZmf/4n4n4mJmZmZmZmP/4mZn/+I+J/4//////////+JmZ////+f////////////iZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</ICON>
  </IMAGE>
  <WIMTOOL VER="1.0.7.10.18 X86" MOUNTID="1"/>
  <GUID>5ce578fb-fc50-418c-9e46-8e61452a31db</GUID>
  <COMPRESSION>LZX</COMPRESSION>
  <PARTNUMBER>1</PARTNUMBER>
  <TOTALPARTS>1</TOTALPARTS>
  <ATTRIBUTES>0x8</ATTRIBUTES>
</WIM>

蓝色部分为图标数据的BASE64编码

//BASE64编码函数,PDat指向数据地址,DatLen为数据长度.
function BinToBase64(const PDat: PBYTE; const DatLen: DWORD): string;
const BaseTable: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var s, s1: string;
  i, p, len, n, Addnum: DWORD;
  PBin: PBYTE;
begin
  result := '';
  S := '';
  addnum := 0;
  PBin := PDat;
  for i := 1 to DatLen do
  begin
    S := S + IntToHex(PBin^, 2);
    PBin := PBYTE(DWORD(PDat) + i);
  end;
  case (length(s) mod 3) of
    0: addnum := 0;
    1: begin
        s := s + '00';
        addnum := 2;
      end;
    2: begin
        s := s + '0';
        addnum := 1;
      end;
  end;
  len := length(s) div 3;
  for i := 1 to len do
  begin
    s1 := midstr(S, i * 3 - 2, 3);
    p := strtoint('$' + s1);
    n := p div 64;
    result := result + basetable[n + 1];
    n := p mod 64;
    result := result + basetable[n + 1];
  end;
  if addnum = 1 then result := result + '==';
  if addnum = 2 then result[length(result)] := '=';
end;



[ 本帖最后由 lxl1638 于 2008-2-12 11:50 AM 编辑 ]
回复

使用道具 举报

298#
 楼主| 发表于 2008-2-12 13:30:47 | 显示全部楼层
原帖由 chenall 于 2008-2-12 12:41 PM 发表

如果可以能不依赖wimgapi.dll来显示图标的话就更好了.....

可以做到,记得以前本人在论坛发过WIM文件结构的资料,看看微软是如何定义WIM文件(头)的,找到XMLINFO的位置,直接将其读取出来处理。

但本人硬盘找不到这些资料,论坛的也找不到。

从兼容性看还是通过WIMGAPI读取XML更好,离开WIMGAPI,WIM文件也无法使用。所以这样的功能暂时不急。
回复

使用道具 举报

299#
 楼主| 发表于 2008-2-12 13:33:15 | 显示全部楼层
原帖由 玄天 于 2008-2-12 12:42 PM 发表
使用新版的Wimtool后资源管理器出现不稳定现像,双击附带的wim蓝屏,实验N次均是如此,用无图标扩展的wimtool则一切正常

Wimnt 也是一样,不过会好些(双击其开放式公用模块就会蓝屏)

经过多次测试,N次蓝屏后, ...


你是什么系统?WimShExt.DLL只在Win2K3、XP-PE中作了测试,本人在好几台机子上测试都正常。
另,你双击是通过WimTool还是WIMNT挂载WIM的?
回复

使用道具 举报

300#
 楼主| 发表于 2008-2-12 13:36:36 | 显示全部楼层
原帖由 nn2nn 于 2008-2-12 12:06 PM 发表
Delphi默认没有支持真彩色图标,只要修改下Graphics的一个函数。
procedure   WriteIcon(Stream:   TStream;   Icon:   HICON;   WriteLength:   Boolean=false);
中的
InternalGetDIBSizes(IconInfo.hbmMas ...


哈,有现成的了,你将SETICO源码打包传上来。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-19 17:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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