Make_PE3 Program to Create Portable Windows 7 PE
#82
Posted 24 May 2010 - 05:40 AM
#83
Posted 29 May 2010 - 10:32 AM
Error.png (57.31K)
Number of downloads: 33
It says: Error trying to open: C:\Program Files\...
Error 3
The system could not find the path specified.
The DISM log file located at C:\...
Sense títol.png (37.81K)
Number of downloads: 27
EDIT: If I change this line (line 1180):
Dism.exe /image:"%PEWork%\mount" /Add-Package /PackagePath:"%PETools%\%ARCH%\WinPE_FPs\en-us\winpe-wmi_en-us.cab"
With:
Dism.exe /image:"%PEWork%\mount" /Add-Package /PackagePath:"%PETools%\%ARCH%\WinPE_FPs\%Lang%\winpe-wmi_%Lang%.cab"
There is no error, but explorer.exe is not working.
Please help...
PD:Sorry for my bad English
This post has been edited by aaaaalex1994: 29 May 2010 - 12:31 PM
#84
Posted 30 May 2010 - 02:01 PM
build image using Make_PE3.cmd with explorer shell option, files were not copied into PE image. boot.wim file only 131 MB, thus explorer shell not working.
build image using Make_PE3.exe has no problem.
@aaaaalex1994, try to build using Make_PE3.exe
regards
This post has been edited by trizet: 30 May 2010 - 02:02 PM
#85
Posted 31 May 2010 - 12:58 AM
What is the filedate of last version of Make_PE3.cmd with explorer shell working for you ?
The filelist of files to be added for explorer was changed after 06-05-2010
You can try to use the latest program version and use it with WIN7_add_explor.txt of previous working version.
See folder Make_PE3\PE3_mod\WIN7_add\x86
Also you can try not to boot in vmware, but boot latest pe3_x86.iso direct from real drive.
Use BOOT_IMG.exe to install pe3_x86.iso as boot option in grub4dos menu on harddisk or USB-stick.
The Dism error with winpe-wmi_en-us.cab package that you described will be present also
in previous version of 06-05-2010
Probably this error is not causing your explorer shell problem.
I can make in the next version a fix as you have given to correct the Dism wmi language error.
@trizet
Latest Make_PE3.cmd is working OK here.
In Windows 7 or Vista as OS you have to use R-mouse menu and Run Make_PE3.cmd as Administrator.
Can you test again and try to describe where the error for you occurs ?
This post has been edited by wimb: 31 May 2010 - 01:03 AM
#86
Posted 31 May 2010 - 05:55 AM
I tried the Make_PE3.exe, but...
Error2.png (21.03K)
Number of downloads: 7
@wimb
The last I tried and it worked is the 06-05, but I didn't try the next ones except the lastest version...
Thanks
PD: Sorry for my bad English...
#87
Posted 31 May 2010 - 12:42 PM
wimb, on 31 May 2010 - 12:58 AM, said:
@trizet
Latest Make_PE3.cmd is working OK here.
In Windows 7 or Vista as OS you have to use R-mouse menu and Run Make_PE3.cmd as Administrator.
Can you test again and try to describe where the error for you occurs ?
yes i run as administrator (i always turn off uac)
there was no error message, select E (explorer shell) then build using option 3 or 2+4 same result.
here is my finding
> windows 7 files copy to Make_PE3\PE3_mod\WIN7_add\x86 is OK
> load and import registry is OK
> files copy from Make_PE3\PE3_mod\WIN7_add\x86 to C:\winpe3_x86\mount is NOT OK
it say 264 files copied but files required for explorer shell were not copied, resulting "unable to launch selected shell" when boot this iso (same as aaaaalex1994 screenshot)
i see some changes in Make_PE3.cmd, and found new remarks at lines 1029/1030/1031/1135
:: IF "%explor%" == "YES" ( :: xcopy.exe "%TP%\%W7add%\%ARCH%\*.*" "%PEWork%\mount\" /i /k /e /r /y /h :: ) ELSE (
i don't know if you intentionally add those remarks and change with other commands to copy files from Make_PE3\PE3_mod\WIN7_add\x86 to C:\winpe3_x86\mount
but i made a test with removing those remarks and build PE image with explorer shell, files was copied now and iso image build succesfully.
This post has been edited by trizet: 31 May 2010 - 12:43 PM
#88
Posted 31 May 2010 - 01:30 PM
trizet, on 31 May 2010 - 12:42 PM, said:
:: IF "%explor%" == "YES" ( :: xcopy.exe "%TP%\%W7add%\%ARCH%\*.*" "%PEWork%\mount\" /i /k /e /r /y /h :: ) ELSE (
i don't know if you intentionally add those remarks and change with other commands to copy files from Make_PE3\PE3_mod\WIN7_add\x86 to C:\winpe3_x86\mount
but i made a test with removing those remarks and build PE image with explorer shell, files was copied now and iso image build succesfully.
If I modify this, it works! Thank you very much!
#89
Posted 31 May 2010 - 02:45 PM
run again make_pe3 for 2nd time (already exist work folder C:\winpe3_x86) it will build succesfully.
i add pause command at line 1136, it shows this
The system cannot find the file PE3_mod\WIN7_add\x86\WIN7_add_explor.txt. Press any key to continue . . .
i think that's why it failed to copy WIN7_add_explor files, but i couldn't find relevancies with work folder C:\winpe3_x86
#90
Posted 01 June 2010 - 03:27 AM
- Solved Language problem in Make_PE3.exe for winpe-wmi_en-us.cab
- Solved Path errors in Make_PE3.cmd (occurred only on first use)
Thanks to trizet and aaaaalex1994 for feedback and making me aware of this hidden error - Added Support for Swedish language
Required AIK for Windows 7 - KB3AIK_EN.iso - Microsoft - Windows PE 3.0
http://www.microsoft...&displaylang=en
Dism.exe of AIK must be version 6.1.7600.16385 (earlier version 7000 gives Errors)
Guide with More Info:
http://www.911cd.net...pic=21883&st=35
http://www.msfn.org/...ws-t143529.html
Thanks trizet for indicating the place and the cause of the nasty path error in Make_PE3.cmd
Please aaaaalex1994 try again with the new version.
This post has been edited by wimb: 25 September 2010 - 03:09 AM
#91
Posted 01 June 2010 - 11:34 AM
#92
Posted 02 June 2010 - 08:05 AM
I had also some problems with Make_PE3 with French language, here are some modification i made to the script Make_PE.au3:
missing & in the following msgbox
Quote
& " Free Space = " & $TargetSpaceAvail & " MB" & @CRLF & @CRLF _
& " Skip Install of " & $image_file & " on Target " & $IMG_Path)
I added in the routine _w7_selfol for copying AIK tools to folder Make_PE3 first time
Quote
& "First Install AIK for Windows 7 ")
DisableMenus(0)
GUICtrlSetState($Win7_Select, $GUI_FOCUS)
Return
If Not FileExists(@ScriptDir & "\AIK_Tools\" & $PArch & "\imagex.exe") Then DirCopy($AIK_Tools & "\" & $PArch, @ScriptDir & "\AIK_Tools\" & $PArch, 1)
If Not FileExists(@ScriptDir & "\AIK_Tools\" & $PArch & "\imagex.exe") Then
& "First Install AIK for Windows 7 ")
DisableMenus(0)
GUICtrlSetState($Win7_Select, $GUI_FOCUS)
Return
few lines modified for allways use imagex from the folder Make_PE3\Aik_Tools. I use imagex from WAIK 2.0, because i have some issue with imagex from WAIK 3.0 and the last version takes too long
Quote
;if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /unmount /mnt7_inst return with error code : " & $val)
$val = RunWait(@ComSpec & " /c imagex.exe /mount " & $WimSourceDrive & "\sources\install.wim 1 " & @ScriptDir & "\mnt7_inst", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /mount install.wim return with error code : " & $val)
$val = RunWait(@ComSpec & " /c imagex.exe /unmount " & @ScriptDir & "\mnt7_inst", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /unmount \mnt7_inst return with error code : " & $val)
$val = RunWait(@ComSpec & " /c imagex.exe /unmount " & @ScriptDir & "\mnt7_inst", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /unmount \mnt7_inst return with error code : " & $val)
$val = RunWait(@ComSpec & " /c imagex.exe /unmount " & $PEWork & "\mount >nul", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
;if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /unmount \mount return with error code : " & $val)
$val = RunWait(@ComSpec & " /c imagex.exe /mountrw " & $PEWork & "\ISO\sources\boot.wim 1 " & $PEWork & "\mount", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /mountrw boot.wim return with error code : " & $val)
$val= RunWait(@ComSpec & " /c imagex.exe /unmount /commit " & $PEWork & "\mount", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /unmount \mount return with error code : " & $val)
$val=RunWait(@ComSpec & " /c imagex.exe /export " & $PEWork & "\iso\sources\boot.wim 1 " & $PEWork & "\iso\sources\boot2.wim /compress maximum", @ScriptDir & "\AIK_Tools\" & $PArch, @SW_HIDE)
if $val <> 0 then MsgBox(48, "Error imagex", "Imagex /export boot.wim return with error code : " & $val)
_Aiklang Routine to detect the language of AIK. smaller change for winpe-wmi_ & AikLang
Quote
Func _AikLang()
If FileExists($PETools & "\WinPE_FPs\ar-SA\winpe-wmi_ar-SA.cab") Then $AikLang = "ar-SA"
If FileExists($PETools & "\WinPE_FPs\bg-BG\winpe-wmi_bg-BG.cab") Then $AikLang = "bg-BG"
If FileExists($PETools & "\WinPE_FPs\cs-CZ\winpe-wmi_cs-CZ.cab") Then $AikLang = "cs-CZ"
If FileExists($PETools & "\WinPE_FPs\da-DK\winpe-wmi_da-DK.cab") Then $AikLang = "da-DK"
If FileExists($PETools & "\WinPE_FPs\de-DE\winpe-wmi_de-DE.cab") Then $AikLang = "de-DE"
If FileExists($PETools & "\WinPE_FPs\el-GR\winpe-wmi_el-GR.cab") Then $AikLang = "el-GR"
If FileExists($PETools & "\WinPE_FPs\es-ES\winpe-wmi_es-ES.cab") Then $AikLang = "es-ES"
If FileExists($PETools & "\WinPE_FPs\et-EE\winpe-wmi_et-EE.cab") Then $AikLang = "et-EE"
If FileExists($PETools & "\WinPE_FPs\fi-FI\winpe-wmi_fi-FI.cab") Then $AikLang = "fi-FI"
If FileExists($PETools & "\WinPE_FPs\fr-FR\winpe-wmi_fr-FR.cab") Then $AikLang = "fr-FR"
If FileExists($PETools & "\WinPE_FPs\he-IL\winpe-wmi_he-IL.cab") Then $AikLang = "he-IL"
If FileExists($PETools & "\WinPE_FPs\hr-HR\winpe-wmi_hr-HR.cab") Then $AikLang = "hr-HR"
If FileExists($PETools & "\WinPE_FPs\hu-HU\winpe-wmi_hu-HU.cab") Then $AikLang = "hu-HU"
If FileExists($PETools & "\WinPE_FPs\it-IT\winpe-wmi_it-IT.cab") Then $AikLang = "it-IT"
If FileExists($PETools & "\WinPE_FPs\ja-JP\winpe-wmi_ja-JP.cab") Then $AikLang = "ja-JP"
If FileExists($PETools & "\WinPE_FPs\ko-KR\winpe-wmi_ko-KR.cab") Then $AikLang = "ko-KR"
If FileExists($PETools & "\WinPE_FPs\lt-LT\winpe-wmi_lt-LT.cab") Then $AikLang = "lt-LT"
If FileExists($PETools & "\WinPE_FPs\lv-LV\winpe-wmi_lv-LV.cab") Then $AikLang = "lv-LV"
If FileExists($PETools & "\WinPE_FPs\nb-NO\winpe-wmi_nb-NO.cab") Then $AikLang = "nb-NO"
If FileExists($PETools & "\WinPE_FPs\nl-NL\winpe-wmi_nl-NL.cab") Then $AikLang = "nl-NL"
If FileExists($PETools & "\WinPE_FPs\pl-PL\winpe-wmi_pl-PL.cab") Then $AikLang = "pl-PL"
If FileExists($PETools & "\WinPE_FPs\pt-BR\winpe-wmi_pt-BR.cab") Then $AikLang = "pt-BR"
If FileExists($PETools & "\WinPE_FPs\pt-PT\winpe-wmi_pt-PT.cab") Then $AikLang = "pt-PT"
If FileExists($PETools & "\WinPE_FPs\ro-RO\winpe-wmi_ro-RO.cab") Then $AikLang = "ro-RO"
If FileExists($PETools & "\WinPE_FPs\ru-RU\winpe-wmi_ru-RU.cab") Then $AikLang = "ru-RU"
If FileExists($PETools & "\WinPE_FPs\sk-SK\winpe-wmi_sk-SK.cab") Then $AikLang = "sk-SK"
If FileExists($PETools & "\WinPE_FPs\sl-SI\winpe-wmi_sl-SI.cab") Then $AikLang = "sl-SI"
If FileExists($PETools & "\WinPE_FPs\sr-Latn-CS\winpe-wmi_sr-Latn-CS.cab") Then $AikLang = "sr-Latn-CS"
If FileExists($PETools & "\WinPE_FPs\sv-SE\winpe-wmi_sv-SE.cab") Then $AikLang = "sv-SE"
If FileExists($PETools & "\WinPE_FPs\th-TH\winpe-wmi_th-TH.cab") Then $AikLang = "th-TH"
If FileExists($PETools & "\WinPE_FPs\uk-UA\winpe-wmi_uk-UA.cab") Then $AikLang = "uk-UA"
If FileExists($PETools & "\WinPE_FPs\zh-CN\winpe-wmi_zh-CN.cab") Then $AikLang = "zh-CN"
If FileExists($PETools & "\WinPE_FPs\zh-HK\winpe-wmi_zh-HK.cab") Then $AikLang = "zh-HK"
If FileExists($PETools & "\WinPE_FPs\zh-TW\winpe-wmi_zh-TW.cab") Then $AikLang = "zh-TW"
EndFunc ;==> _AikLang
_AikLang()
Local $aik_files[5] = [$AIK_Tools & "\" & $PArch & "\Servicing\Dism.exe", $AIK_Tools & "\" & $PArch & "\imagex.exe", _
$PETools & "\WinPE_FPs\winpe-wmi.cab", $PETools & "\WinPE_FPs\" & $AikLang & "\winpe-wmi_" & $AikLang & ".cab", _
$AIK_Tools & "\" & $PArch & "\oscdimg.exe"]
_AikLang()
If FileExists($PETools & "\WinPE_FPs\" & $DistLang & "\winpe-wmi_" & $DistLang & ".cab") Then
$val = ShellExecuteWait('"' & $Dism & '"', "/image:" & $PEWork & "\mount /Add-Package /PackagePath:" & '"' & $PETools & "\WinPE_FPs\" & $DistLang & "\winpe-wmi_" & $DistLang & ".cab" & '"', "", "open", @SW_HIDE)
ElseIf FileExists($PETools & "\WinPE_FPs\" & $AikLang & "\winpe-wmi_" & $Lang & ".cab") Then
$val = ShellExecuteWait('"' & $Dism & '"', "/image:" & $PEWork & "\mount /Add-Package /PackagePath:" & '"' & $PETools & "\WinPE_FPs\" & $AikLang & "\winpe-wmi_" & $AikLang & ".cab" & '"', "", "open", @SW_HIDE)
Else
_GUICtrlStatusBar_SetText($hStatus," Dism is Adding winpe-wmi_en-us.cab - wait .... ", 0)
$val = ShellExecuteWait('"' & $Dism & '"', "/image:" & $PEWork & "\mount /Add-Package /PackagePath:" & '"' & $PETools & "\WinPE_FPs\en-us\winpe-wmi_en-us.cab" & '"', "", "open", @SW_HIDE)
EndIf
EndIf
Here you can find the modified script to see my changes Make_PE3.au3
I am working on windows 7 x64, for working autoit i must compile the script in x64 version. Maybe it is nice to have the two versions in the package, Make_PE3_x86.exe and Make_PE3_x64.exe.
Thanks for all, it works well for me.
This post has been edited by ChrisR: 02 June 2010 - 08:19 AM
#93
Posted 03 June 2010 - 12:03 AM
Thanks for your reply with feedback info and improvements for Make_PE3.au3
Allways using imagex from the folder Make_PE3\Aik_Tools is a good idea
since it offers to use a preferred imagex version.
_Aiklang Routine to detect the language of AIK is also a good improvement.
Then you are sure to find the right language version of winpe-wmi_DistLang.cab file.
The next version of Make_PE3 will be Updated accordingly.
The present version of Make_PE3.exe will run in both x32 and x64 OS environment.
I prefer to have one version of Make_PE3.exe instead of having a separate version for x64 OS.
I hope you can confirm that the present program is running in x64 OS.
By the way, have you made pe3_amd64.iso with Explorer Shell support
and is it working for you ? Is MMC working ?
May be some extra registry is needed to make pe3_amd64.iso working with Explorer Shell and MMC,
but I don't have at the moment access to x64 Windows 7
I am interested to know how to improve the PE3_reg\amd64 registry files.
This post has been edited by wimb: 03 June 2010 - 12:24 AM
#94
Posted 03 June 2010 - 02:48 AM
My computer is a Windows 7 64 bit platetform and I use Make_PE3 with a source Windows 7 x86 (install.wim).
I prefer to build Make_PE3 with a x86 source for more compatibility.
Sorry, but I did not try to build pe3_amd64.iso to test and investigate Explorer Shell and MMC.
Make_PE3 script was complied using the 32bit compiler and work fine on 32 bit machines but fails to work on 64 bit machines (dircopy, filexist, ...)
I anderstand your choice to have only one version of Make_PE3, i test it, it doesn't work for 64bit machines.
I am not a specialist of autoit and I don't find a solution on internet to build an only version of Make_PE3 for the 2 platetforms.
I am at the beginning of my tests on Make_pe3, to work on a French version or other language, do i have to modified things in Optimize_explor.txt, Optimize_Profile.txt, WIN7_add_explor.txt, WIN7_add_files.txt
Example:
\windows\winsxs\manifests\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.7600.16385_en-us_020378a8991bbcc2.manifest (exist)
\windows\winsxs\manifests\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.7600.16385_fr-fr_a4864b8b8c14c4c9.manifest (exist)
\Windows\System32\en-US\accessibilitycpl.dll.mui (don't exist)
\Windows\System32\fr-FR\accessibilitycpl.dll.mui (exist)
...
#95
Posted 03 June 2010 - 03:08 AM
ChrisR, on 03 June 2010 - 02:48 AM, said:
Make_PE3 script was complied using the 32bit compiler and work fine on 32 bit machines but fails to work on 64 bit machines (dircopy, filexist, ...)
Is it only not functioning for dircopy or does the program not run at all in x64 OS ?
I will test again on x64 OS to look for errors ,but Make_PE3.exe was running in x64 OS environment.
ChrisR, on 03 June 2010 - 02:48 AM, said:
The program will detect the Distribution Language of the source and find the files as specified by using your DistLang.
The INCL Optimize files and EXCLude files PE3_del_files.txt and PE3_del_folders.txt are recorded and specified for en-US only.
So these files need to be adapted to the files present in your pe3_x86.iso
You can make and use as source a dirlist of all files and folders present in boot.wim
You can use manual commands like this:
imagex.exe /mountrw C:\winpe3_x86\ISO\sources\boot.wim 1 C:\winpe3_x86\mount dir /ad /b /on /s >x86_Fol_boot.txt dir /b /on /s >x86_Fil_boot.txt imagex.exe /unmount C:\winpe3_x86\mount
This post has been edited by wimb: 03 June 2010 - 03:11 AM
#96
Posted 03 June 2010 - 04:35 AM
There shouldn't be a problem with Make-PE3 under x64 OS.
A minor thing for your _AikLang() func:
$PETools is a local variable inside _Go_PE3() func, so all FileExists return failure.
$PETools may should be set as global variable, thought.
#97
Posted 03 June 2010 - 04:56 AM
Quote
I will test again on x64 OS to look for errors ,but Make_PE3.exe was running in x64 OS environment.
the program Make_PE3.exe seems to work fine in x64 but some functions will not run properly (dircopy maybe other).
for example, files for Internet Explorer does not copy in the folder Make_PE3\PE3_mod\WIN7_add\x86\Program Files\Internet Explorer
@jfx_
yes i put $PETools in global variable
; Setting variables Global $w7drive="C:", $TargetDrive="", $ProgressAll, $Paused, $g4d_vista=0, $mk_bcd=0, $ntfs_bs=1, $bs_valid=0, $PETools
This post has been edited by ChrisR: 03 June 2010 - 05:21 AM
#98
Posted 03 June 2010 - 05:17 AM
Quote
The program will detect the Distribution Language of the source and find the files as specified by using your DistLang.
The INCL Optimize files and EXCLude files PE3_del_files.txt and PE3_del_folders.txt are recorded and specified for en-US only.
So these files need to be adapted to the files present in your pe3_x86.iso
OK, thanks for the tips
This post has been edited by ChrisR: 03 June 2010 - 05:18 AM
#99
Posted 03 June 2010 - 05:17 AM
This post has been edited by Kullenen_Ask: 03 June 2010 - 05:42 AM
#100
Posted 03 June 2010 - 05:31 AM



Help


Back to top









