hum , @lenmaer why to modify "my" original batch file ? this version is wrong and should only run with 64 bits windows and for 64 bits image integration ... because for 32 bits (x86) you need to have the choice "5" for index with the x86 ultimate image and 64 bits WAIK programs don't run in 32 bits environnement. the original batch was made for usage in both windows 7 x86 and x64 and only use 32 bits version of the WAIK programs , no need of the 64 bits tools to integrate 64 bits LP's ...
Well I didn't plan on posting it, I modified it for my purpose as I don't plan to ever install a 32 Bit OS again and now I'm slipstreaming the MUIs on Vista 64, that's why. But well I'll remove it from the site after that. Sorry.
My little contribution to this TUTO: (only fonctionnal on Seven) This code only use of DISM.exe, which is incorporated in Windows Seven. 1- Copy oscdimg.exe in windows\system32 directory 2- You need to copy the disc and lp.cab when asked Code: @echo Off cls rem ################################################## rem # Configure Paths here # rem ################################################## set WORKLW=C: set WORKDIR=7Work set WAIK=C:\Program Files\Windows AIK set LANG=fr-FR rem ################################################# rem # FROM HERE NOTHING MORE CHANGE !!!! # rem ################################################# Echo Creating directories... Echo. Set LOGS=%WORKLW%\%WORKDIR%\LOGS md %LOGS% Echo %LOGS% created... set WIM=%WORKLW%\%WORKDIR%\Mount md %WIM% Echo %WIM% created... set WD=%WORKLW%\%WORKDIR%\DVD md %WD% Echo %WD% created... set LP=%WORKLW%\%WORKDIR%\LP md %LP% Echo %LP% created... set ELP=%WORKLW%\%WORKDIR%\LPEXT md %ELP% Echo %ELP% created... set ISO=%WORKLW%\%WORKDIR%\ISO md %ISO% Echo %ISO% created... Echo. Echo Give the Windows version you want to modify: Echo 1 - Starter Echo 2 - HOMEBASIC Echo 3 - HOMEPREMIUM Echo 4 - Professional x86 or Ultimate x64 Echo 5 - Ultimate x86 Set /p EDITION=Number: Echo. %WORKLW% cd\%WORKDIR% echo Setup variables OK ... echo. dir Echo. Echo Copy your Windows installation disc in %WD% and hit a key when done Echo. pause Echo. Echo Copy your language pack lp.cab in %LP% and hit a key when done Echo. pause Echo. echo When you are ready to integrate language pack, hit a key echo. pause Cls echo ======================= echo Refresh "install.wim" echo ======================= echo. echo Mount "install.wim" to "%WIM%"... DISM.exe /LogPath:%LOGS%\MountOSInstallWim.log /Mount-Wim /WimFile:%WD%\Sources\install.wim /index:%EDITION% /MountDir:%WIM% echo. echo Adding Package... DISM.exe /LogPath:%LOGS%\AddLangPack.log /image:%WIM% /Add-Package /PackagePath:%LP%\lp.cab rem Wait for 10 seconds for finish adding package ping -n 10 127.0.0.1 >NUL DISM.exe /LogPath:%LOGS%\Set-AllIntl.log /image:%WIM% /Set-AllIntl:%LANG% DISM.exe /LogPath:%LOGS%\Gen-LangINI.log /image:%WIM% /Gen-LangINI /distribution:%WD% echo. echo Unpack and Unmount "install.wim"... DISM.exe /LogPath:%LOGS%\UnMountOSInstallWim.log /Unmount-Wim /MountDir:%WIM% /Commit echo. echo ============================================================================ echo Done, Install.wim updated with your language ... echo The system will now expand thousands of files. Don't stop the procedure... echo ============================================================================ echo. rem Wait for 15 seconds ping -n 15 127.0.0.1 >NUL Cls echo ==================== echo Refresh "boot.wim" echo ==================== echo. echo Unzip language pack "%LANG%" to "%ELP%" Expand %LP%\lp.cab -f:* %ELP% echo. echo Copy files... Xcopy %ELP%\setup\sources\%LANG%\* %WD%\sources\%LANG% /cherkyi Xcopy %ELP%\sources\license\%LANG%\* %WD%\sources\license\%LANG% /cherkyi echo. echo Mount "boot.wim" to "%WIM%"... DISM.exe /LogPath:%LOGS%\MountOSBootWim.log /Mount-Wim /WimFile:%WD%\Sources\boot.wim /index:2 /MountDir:%WIM% echo. echo Copy files... Xcopy %ELP%\setup\sources\%LANG%\* %WIM%\sources\%LANG% /cherkyi Xcopy %ELP%\sources\license\%LANG%\* %WIM%\sources\license\%LANG% /cherkyi Copy %WD%\sources\Lang.ini %WIM%\sources\Lang.ini echo. echo Delete Temp files... Rd /S /Q %ELP% echo. echo Unpack and Unmount "boot.wim"... DISM.exe /LogPath:%LOGS%\UnMountOSBootWim.log /Unmount-Wim /MountDir:%WIM% /Commit echo. echo ============================================================ echo The language pack has been integrated! - Hit a key to exit echo ============================================================ echo. echo Create bootable ISO... oscdimg.exe -h -u2 -m -b%WD%\boot\etfsboot.com -lWindows7DVD %WD% %ISO%\Windows7.iso cls echo. echo ================================================ echo The ISO has been created ! - Hit a key to exit echo ================================================ echo. echo Everything is done! The ISO is in the directory "%ISO%" pause
@ lenmaer .... no problem , just to prevent other forums users ... it's was just to say that this version is not "identical" and is not fully working for X86 LP integration or not for usage in X86 environnement... The original was OK for use in x86 and x64 OS and to integrate both x64 and 32bits LP's... nice add-on for zelda ... but need to copy windows and lp files manually after starting the batch ... i may prefer to prepare all the folders and copies before starting...
Well I couldn't use the old one on Vista 64, it simply refused to used "%WAIK%\Tools\x86\" and gave me errors and re-create the same un-modified ISO without the MUI, that's why I modified it to "%WAIK%\Tools\amd64\"
Ok, thank you! EDIT: I guess this line: set WAIK=C:\Program Files\Windows AIK it's not necessary, right? This script doesn't need Windows AIK. I run the script and everything seems fine but at the end my ISO folder is empty.
Yes you're right no need of this line... For the iso, you can find all the files in the "DVD" folder. Take it with UltraIso. Please copy oscimg.exe in your 7Work directory too, there is an error in the zip file. At the end of the .bat file replace: oscdimg.exe -h -u2 -m -b%WD%\boot\etfsboot.com -lWindows7DVD %WD% %ISO%\Windows7.iso instead of the other line with oscdimg
Thank you so much for your help! Now everything works just fine. I'm going to try to install this iso right now.
I don't understand, the script from zelda2000 is a lot easier and only needs a little exe file, everything else is already in Windows 7.
You're right, but for those who like to understand what they're doing, it's ok. And by the way, I suggest zelda to update its script with the news in the guide, like the local pack integration.
No problem, i'm working on it... But i have some problems: => sometimes the DISM.exe don't unmount the wim files !!! I don't understand why ?! I will probably update my script for more stability (2 temp wim directories instead of one)
It's more difficult to use the ImageX.exe tool? It's like the GImageX but from command line (the GImageX should be the GUI). Maybe it's better on mounting and unmounting WIMs.
This batch is working for win7 images and using the RC WAIK 7100 ... older version may not work properly with 7 ... you need also to use it in win7 environnement not vista ... Yes , i've noticed that already thus i prefer the command with "imageX" to mount /unmount images ... no problem with it
Yeah but I prefer to work on an OS that I truly know and that I'm sure I'll have no probs. I still consider Seven as a beta till the SP1 comes out. By the way I used RC WAIK 7100.
Hello...I'm trying to add the it-IT lp to the final rtm iso but, when I lauch this command: >DISM.exe /Image:C:\7Work\WIM /Add-Package /PackagePath:C:\7Work\LP\lp.cab I got an error...this is the report log: 2009-07-27 11:02:10, Info DISM DISM.EXE: <----- Starting Dism.exe session -----> 2009-07-27 11:02:10, Info DISM DISM.EXE: 2009-07-27 11:02:10, Info DISM DISM.EXE: Host machine information: OS Version=6.1.7260, Running architecture=x86, Number of processors=2 2009-07-27 11:02:10, Info DISM DISM.EXE: Executing command line: DISM.exe /Image:C:\7Work\WIM /Add-Package /PackagePath:C:\7Work\LP\lp.cab 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Getting the collection of providers from a local provider store type. - CDISMProviderStore::GetProviderCollection 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Provider has not previously been encountered. Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Loading Provider from location C:\Windows\System32\Dism\WimProvider.dll - CDISMProviderStore::Internal_GetProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Connecting to the provider located at C:\Windows\System32\Dism\WimProvider.dll. - CDISMProviderStore::Internal_LoadProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Provider has not previously been encountered. Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Loading Provider from location C:\Windows\System32\Dism\FolderProvider.dll - CDISMProviderStore::Internal_GetProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Connecting to the provider located at C:\Windows\System32\Dism\FolderProvider.dll. - CDISMProviderStore::Internal_LoadProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Provider has not previously been encountered. Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Loading Provider from location C:\Windows\System32\Dism\CompatProvider.dll - CDISMProviderStore::Internal_GetProvider 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Connecting to the provider located at C:\Windows\System32\Dism\CompatProvider.dll. - CDISMProviderStore::Internal_LoadProvider 2009-07-27 11:02:10, Info DISM DISM.EXE: Got the collection of providers. Now enumerating them to build the command table. 2009-07-27 11:02:10, Info DISM DISM.EXE: Attempting to add the commands from provider: WimManager 2009-07-27 11:02:10, Info DISM DISM.EXE: Succesfully registered commands for the provider: WimManager. 2009-07-27 11:02:10, Info DISM DISM.EXE: Attempting to add the commands from provider: FolderManager 2009-07-27 11:02:10, Info DISM DISM.EXE: Attempting to add the commands from provider: DISM Log Provider 2009-07-27 11:02:10, Info DISM DISM.EXE: Attempting to add the commands from provider: Compatibility Manager 2009-07-27 11:02:10, Info DISM DISM.EXE: Succesfully registered commands for the provider: Compatibility Manager. 2009-07-27 11:02:10, Info DISM DISM Provider Store: PID=5996 Getting the collection of providers from a local provider store type. - CDISMProviderStore::GetProviderCollection 2009-07-27 11:02:11, Info DISM DISM Provider Store: PID=5996 Getting the collection of providers from a local provider store type. - CDISMProviderStore::GetProviderCollection 2009-07-27 11:02:12, Error DISM DISM Manager: PID=5996 Failed to create unique image session lock name for DISM located at 'C:\7Work\WIM\Windows\System32\Dism\dismprov.dll'. - CDISMManager::CheckSessionAndLock(hr:0x801f0005) 2009-07-27 11:02:12, Error DISM DISM Manager: PID=5996 Failed to create the image session lock for location: C:\7Work\WIM\Windows\System32\Dism - CDISMManager::CreateImageSession(hr:0x801f0005) 2009-07-27 11:02:12, Error DISM DISM.EXE: Could not load the image session. HRESULT=801F0005 2009-07-27 11:02:12, Error DISM DISM.EXE: Unable to start the servicing process for the image at 'C:\7Work\WIM'. HRESULT=801F0005 2009-07-27 11:02:12, Info DISM DISM.EXE: Image session has been closed. Reboot required=no. 2009-07-27 11:02:12, Info DISM DISM.EXE: 2009-07-27 11:02:12, Info DISM DISM.EXE: <----- Ending Dism.exe session -----> any idea? :/