|
轉貼wusun 大的教學回文...感謝
原文位置: http://nonameteam.cc/forum.php?mod=redirect&goto=findpost&ptid=36&pid=185&fromuid=1
如果要用新的PECMD4.0.2011.0501和MakeXpe 1.06a來製作XPE:
1.你必須先刪除以下舊的PECMD.EXE :- MakeXpe\Base\NoNXPE\RXPE\PECMD.EXE
複製代碼 2.加入新的PECMD.EXE到下面位置:- MakeXpe\Base\NoNXPE\RXPE\System32\PECMD.EXE
複製代碼 這樣製作好的XPE就可以進入到桌面了。
但MakeXpe 1.06a作好的XPE並不包含OUTTOOL外置工具,故你要從(20090909)NoName Information Team XPE.iso中擷取OUTTOOL目錄,並將之存到:此時製作好的XPE才能有外置工具可用!
但是因為新版PECMD.EXE的_SUB語法有所變更,故一些檔案還要做相應的修改!
以下變更部分為第22行:由1改為-
MakeXpe\PeISO\OUTTOOL\OUTMENU.INI
- CALL OutMenuRun
- CALL @OutMenu
- _SUB TimerRun
- CALC TimerCount = %TimerCount% - 1
- ENVI @Label=%TimerCount% 秒之後自動執行。
- _END
- _SUB TimerDisable
- ENVI @Timer1=0
- ENVI @Timer2=0
- ENVI @Label=停止計時
- _END
- _SUB ExitWin
- ENVI @Timer1=0
- ENVI @Timer2=0
- ENVI $SelMode=%List%
- KILL \%OutMenu%
- _END
- _SUB OutMenu,W250H103,OutMenu,,,-
- GROU Group,L8T4W226H85,請選擇安裝模式
- LIST List,L20T28W128H60,%MenuList%,CALL TimerDisable,%Default%
- ITEM Button1,L156T27W64H24,確定,CALL ExitWin
- ITEM Button2,L156T56W64H24,停止計時,CALL TimerDisable
- LABE Label,L24T62W128H20,%ExitTime% 秒之後自動執行。
- CALC ExitTimeM=%ExitTime% * 1000
- ENVI TimerCount=%ExitTime%
- TIME Timer1,%ExitTimeM%,CALL ExitWin
- TIME Timer2,1000,CALL TimerRun
- _END
- _SUB OutMenuRun
- ENVI ExitTime=10
- ENVI Default=載入所有模組
- ENVI MenuList=載入所有模組|自定義加載模組
- FORX %OUTTOOL%\WimList\*.LST,FullPath,0,CALL SetList
- _END
- _SUB SetList
- NAME FName=%FullPath%
- ENVI MenuList=%MenuList%|%FName%
- _END
複製代碼 以下變更部分為第30行:由1改為-
MakeXpe\PeISO\OUTTOOL\UserMenu.CMD- @echo off
- SETLOCAL ENABLEDELAYEDEXPANSION
- set CheckW=240
- set CheckH=22
- set Y=20
- for /f "delims=" %%i in (WimList\必要模組.txt) do set %%~ni.Check=1
- set WIMCount=0
- for /f "delims=" %%i in ('dir /b/s/o "WIMMOD\*.WIM"') do (
- if "!%%~ni.Check!"=="" (
- set WIMLST=!WIMLST! "%%~ni"
- set /A WIMCount=WIMCount + 1
- )
- )
- set /A X=(WIMCount-1)/Y+1
- set /A MenuW=X*CheckW+48
- if %MenuW% LSS 284 set MenuW=284
- if %X% EQU 1 (set /A MenuH=WIMCount*CheckH+72) else (set /A MenuH=Y*CheckH+72)
- set /A GroupW=MenuW-17
- set /A GroupH=MenuH-44
- set /A LabelT=MenuH-32
- set /A ButtonT=MenuH-36
- set /A ButtonL=MenuW-76
- copy UserMenu.ini %windir%\UserMenu.ini>nul
- for %%i in (
- "_SUB UserMenu,W%MenuW%H%MenuH%,UserMenu,,,-"
- "GROU Group,L6T0W%GroupW%H%GroupH%,自定義加載模組"
- "LABE Label,L20T%LabelT%W160H16,選擇你要加載的模組"
- "ITEM Button,L%ButtonL%T%ButtonT%W64H24,確定,CALL RunUserMode"
- ) do (CMD /U /C echo.%%~i>>%windir%\UserMenu.ini)
- set NowX=0
- set NowY=0
- for %%i in (%WIMLST%) do (
- set /A NowL=NowX*CheckW+20
- set /A NowT=NowY*CheckH+22
- CMD /U /C echo CHEK %%~i,L!NowL!T!NowT!W%CheckW%H%CheckH%,%%~i,CALL TimerDisable,^0>>%windir%\UserMenu.ini
- set /A NowY=NowY+1
- if !NowY! EQU %Y% (
- set /A NowX=NowX+1
- set NowY=0
- )
- )
- CMD /U /C echo _END>>%windir%\UserMenu.ini
複製代碼 以下變更部分為第52行:由1改為-
MakeXpe\PeISO\OUTTOOL\OUTPECMD.INI
- FIND MEM<384,CALL IFSetPageFile
- CALL ModSetting
- FIND $%SelMode%=自定義加載模組,CALL ChoseMod
- CALL @OUTTOOLINI
- _SUB IFSetPageFile
- ENVI PF=PEPageFile.sys
- FORX \%PF%,FILEPEPageFile,0,FILE %FILEPEPageFile%
- TEAM TEXT 是否設置系統分頁檔?|ENVI $YESNO=YES
- MESS 您的電腦記憶體較少,某些外置軟體的運行可能需要用到\n虛擬記憶體。設置了系統分頁檔,有助於提高系統的速度和穩定性;\n如果您需要保護並恢復硬碟分區數據,可跳過系統分頁檔的設置。\n \n您確定要設置系統分頁檔嗎?(建議設置,30 秒後默認選擇否)@設置虛擬內存 #YN *30000 $N
- FIND $%YESNO%=YES,Call SetPageDrv!TEXT 沒有建立系統分頁檔……
- WAIT 500
- _END
- _SUB SetPageDrv
- TEXT 正在設定系統分頁檔……
- BROW tag,*C:\,請選擇分頁檔文件存放的分區,選擇取消系統會自動選擇分區。
- FIND $%tag%=,TEAM TEXT 正在設定系統分頁檔(自動選擇存放分區)……|PAGE D:\%PF% 384 484!TEAM TEXT 正在設定系統分頁檔(系統分頁檔存放在 %tag% )……|PAGE %tag%\%PF% 384 484
- _END
- _SUB ModSetting
- TEXT 載入WIM檔案中...
- ENVI $OUTTOOL=%CURDRV%\OUTTOOL
- LOAD %OUTTOOL%\OUTMENU.INI
- _END
- _SUB ChoseMod
- PATH @%OUTTOOL%
- EXEC !=UserMenu.CMD
- LOAD %windir%\UserMenu.ini
- _END
- _SUB Run
- ENVI @PBAR=30
- PATH @%OUTTOOL%
- EXEC !=WIMMOD.CMD
- TEAM USER NoName Information Team,無名資訊團隊|FBWF P100 L300 H400|NUMK 0
- ENVI PF=PEPageFile.sys
- FORX \%PF%,FILEPEPageFile,0,FILE %FILEPEPageFile%
- _END
- _SUB ModEnd
- TEXT 執行軟體基本設置...
- ENVI @PBAR=60
- LOAD %WINDIR%\WIMMOD\PESYSTEM\PESYSTEM.INI
- PATH @%OUTTOOL%
- EXEC !=OUTTOOL.CMD
- LOAD %WINDIR%\OUTTOOL.INI
- PATH @%OUTTOOL%
- _END
- _SUB OUTTOOLINI,L1T580W800H20,模組,,,-
- PBAR PBAR,L1T7W794H10,30
- TIME OUTTOOLRUN,100,Team CALL Run|CALL ModEnd|KILL \%OUTTOOLINI%
- _END
複製代碼 修改完後,再重製XPE,這時XPE已經可以進入桌面了!
但一進桌面後點選「開始->程式集」,你會發現還是沒有外置工具的選單,這是因為MakeXpe 1.06a並沒有把WIMGAPI.dll整合進XPE內,而外置工具WIM檔的載掛需要WIMGAPI.dll,故你必手動把WIMGAPI.dll加進去:- MakeXpe\Base\NoNXPE\RXPE\System32\WIMGAPI.dll
複製代碼 這時你再重製XPE,你會發現外置工具的選單終於出來了!
|
|