The trick works if you know how to edit the file pointers in the file allocation table for NTFS. I will be updating this to include Enterprise-N as well. I have tested this and it DOES work on SP1-U as well. Also I will include batch files for users without Enterprise or Enterprise-N as well.
Will this work for fat32 ? The reason i ask is because to install efi on my paticular board (p5q deluxe) i have to use a usb stick that is formatted in fat32 otherwise the uefi option doesn't show up, and the biggest usb i got is 8gb << about 700mb to small If it will work could you give me a quick guide on how to do it please ? great work btw
I wrote a batch script to integrate all Retail/Enterprise versions of Windows 7 in one image. I will rewrite it someday (because it's rather ugly) in c++ and post the source in the forums. It uses the same method.
btw, 64bit doesn't install when you put this on a usb drive... I think it's the Setup redirector because it's searching drive letters but only for type "CDROM". So it never finds the boot drive. I experimented with alt methods to find the boot drive letter, no dice, but there might be a way to run setup with the /installfrom: switch. It's tough because setup.exe is so early, not much in the PE env yet. * Maybe mine is jacked, I will investigate
I have installed Windows 7 64 bit from USB Stick many times no problems at all. Tired it both with 64 bit and 32 bit installer (32 bit is used for AIO versions, because x86PCs cannot run the 64 bit installer)
Might it be possible to integrate windows 7 updates into this on both x64 and x86 at once? I'm doing this from a 32GB USB flash drive so I'm not worried about space considerations.
Thank you for the guide. some questions: Do i need "Windows 7 SP1 Enterprise 32bit & 64bit" in order to do this? I'm not interest in Windows 7 SP1 Enterprise 32bit & 64bit. I'm only interest in Windows 7 SP1 Ultimate 32bit & 64bit. What section I need to skip? thx
Haven't tested this but I think you could open an admin console and do: Code: cd x64\sources del install.wim mklink install.wim ..\..\sources\install.wim That should make it fit on a 5GB flash drive. Also those of you installing from USB 3 drives might want to check out my other thread (which I can't link) EDIT: x64 installer on USB appears to be broken regardless of whether it is left with two separate images or just a symlink. No way to test until that is resolved.
EDIT: Confirmed, x64 installer is broken on USB. I even injected some extra USB drivers and it does not work.
Sabresite, thanks to your code and others on the web, I can now make either 32bit or 64bit updated multiversion DVDs of Windows 7. I just put the updated MSU files from Microsoft in either Win7_32_Updates or Win7_64_Updates. My iso32bit.cmd file looks like this: Code: @echo off Color 3F IF /i %PROCESSOR_ARCHITECTURE% NEQ x86 GOTO 64bit set AIK=C:\Program Files\Windows AIK set PATH=%AIK%;%AIK%\Tools\Servicing;%AIK%\Tools\x86\;%AIK%\Tools\x86\Servicing;%PATH%; GOTO CheckInstalled :64bit set AIK=C:\Program Files\Windows AIK set PATH=%AIK%;%AIK%\Tools\Servicing;%AIK%\Tools\amd64\;%AIK%\Tools\amd64\Servicing;%PATH%; GOTO CheckInstalled @echo on :CheckInstalled cd /d %~dp0 choice /d n /t 5 /M "Rename wims?" if %errorlevel%==1 goto RENAME goto SKIP_RENAME :RENAME echo Naming 32bit install.wim's imagex /info ".\Win7_32\sources\install.wim" 1 "32bit Windows 7 Starter" "32bit Windows 7 Starter" choice /d y /t 3 > nul imagex /info ".\Win7_32\sources\install.wim" 2 "32bit Windows 7 Home Basic" "32bit Windows 7 Home Basic" choice /d y /t 3 > nul imagex /info ".\Win7_32\sources\install.wim" 3 "32bit Windows 7 Home Premium" "32bit Windows 7 Home Premium" choice /d y /t 3 > nul imagex /info ".\Win7_32\sources\install.wim" 4 "32bit Windows 7 Professional" "32bit Windows 7 Professional" choice /d y /t 3 > nul imagex /info ".\Win7_32\sources\install.wim" 5 "32bit Windows 7 Ultimate" "32bit Windows 7 Ultimate" choice /d y /t 3 > nul :SKIP_RENAME choice /d n /t 5 /M "Update wims?" if %errorlevel%==1 goto UPDATE goto SKIP_UPDATE :UPDATE Dism /MOUNT-WIM /WIMFILE:.\Win7_32\sources\install.wim /Index:1 /MOUNTDIR:.\mount\ choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_32_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_32\sources\install.wim /Index:2 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_32_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_32\sources\install.wim /Index:3 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_32_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_32\sources\install.wim /Index:4 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_32_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_32\sources\install.wim /Index:5 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_32_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul :SKIP_UPDATE echo Compiling ISO file to Win7x32.iso oscdimg.exe -lWin7x32 -t11/11/2011:11:11 -o -m -u2 -b.\Win7_32\boot\etfsboot.com .\Win7_32 .\Win7x32.iso pause
My iso64bit.cmd looks similar to the above one: Code: @echo off Color 3F IF /i %PROCESSOR_ARCHITECTURE% NEQ x86 GOTO 64bit set AIK=C:\Program Files\Windows AIK set PATH=%AIK%;%AIK%\Tools\Servicing;%AIK%\Tools\x86\;%AIK%\Tools\x86\Servicing;%PATH%; GOTO CheckInstalled :64bit set AIK=C:\Program Files\Windows AIK set PATH=%AIK%;%AIK%\Tools\Servicing;%AIK%\Tools\amd64\;%AIK%\Tools\amd64\Servicing;%PATH%; GOTO CheckInstalled @echo on :CheckInstalled cd /d %~dp0 choice /d n /t 5 /M "Rename wims?" if %errorlevel%==1 goto RENAME goto SKIP_RENAME :RENAME echo Naming 64bit install.wim's imagex /info ".\Win7_64\sources\install.wim" 1 "64bit Windows 7 Home Basic" "64bit Windows 7 Home Basic" choice /d y /t 3 > nul imagex /info ".\Win7_64\sources\install.wim" 2 "64bit Windows 7 Home Premium" "64bit Windows 7 Home Premium" choice /d y /t 3 > nul imagex /info ".\Win7_64\sources\install.wim" 3 "64bit Windows 7 Professional" "64bit Windows 7 Professional" choice /d y /t 3 > nul imagex /info ".\Win7_64\sources\install.wim" 4 "64bit Windows 7 Ultimate" "64bit Windows 7 Ultimate" choice /d y /t 3 > nul :SKIP_RENAME choice /d n /t 5 /M "Update wims?" if %errorlevel%==1 goto UPDATE goto SKIP_UPDATE :UPDATE Dism /MOUNT-WIM /WIMFILE:.\Win7_64\sources\install.wim /Index:1 /MOUNTDIR:.\mount\ choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_64_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_64\sources\install.wim /Index:2 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_64_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_64\sources\install.wim /Index:3 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_64_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul Dism /Mount-Wim /WimFile:.\Win7_64\sources\install.wim /Index:4 /MountDir:.\MOUNT choice /d y /t 3 > nul Dism /image:.\MOUNT /Add-Package /PackagePath:.\Win7_64_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:.\MOUNT /commit choice /d y /t 3 > nul :SKIP_UPDATE echo Compiling ISO file to Win7x64.iso oscdimg.exe -lWin7x64 -t11/11/2011:11:11 -o -m -u2 -b.\Win7_64\boot\etfsboot.com .\Win7_64 .\Win7x64.iso pause
The downside to updating all 32bit and 64bit wim files is that an AIO DVD no longer fits on a 4.7GB DVD. I'm going to have to put the AIO on a USB stick.
Untouched it does fit on a DVD... Ive fitted an AIO with two language packs, s**tloads of drivers into 4.5GB.
I am working on a Windows 8 16-in-1 with EFI/Upgrade support. It will be difficult to test because I do not have a retail or MAK key. I am also not sure if I will need to split VLK from Retail due to the changes made in ei.cfg. Once complete, I will make a new thread and link it to here. Hopefully all goes well! EDIT: If I include the N versions, then it does not fit on a DVD5. Will have to be a humble 8-in-1.
This code is cleaned up a little from post 51 Code: @echo off setlocal ENABLEDELAYEDEXPANSION set WAIK=C:\Program Files\Windows AIK set ARCH=x86 IF /i %PROCESSOR_ARCHITECTURE% NEQ x86 set ARCH=amd64 set PATH=%WAIK%;%WAIK%\Tools\Servicing;%WAIK%\Tools\%ARCH%\;%WAIK%\Tools\%ARCH%\Servicing;%PATH%; cd /d %~dp0 echo A little housekeeping dism /cleanup-wim choice /d n /t 5 /M "Rename wims?" if %errorlevel%==1 goto RENAME goto SKIP_RENAME :RENAME set wim1="32bit Windows 7 Starter" set wim2="32bit Windows 7 Home Basic" set wim3="32bit Windows 7 Home Premium" set wim4="32bit Windows 7 Professional" set wim5="32bit Windows 7 Ultimate" FOR %%W IN (1 2 3 4 5) DO ( imagex /info ".\Win7_32\sources\install.wim" %%W !wim%%W! !wim%%W! choice /d y /t 3 > nul ) :SKIP_RENAME choice /d n /t 5 /M "Update wims?" if %errorlevel%==1 goto UPDATE goto SKIP_UPDATE :UPDATE FOR %%I IN (1 2 3 4 5) DO ( Echo. Echo Updating Image Index %%I Dism /MOUNT-WIM /WIMFILE:.\Win7_32\sources\install.wim /Index:%%I /MOUNTDIR:MOUNT choice /d y /t 3 > nul Dism /Image:MOUNT /Add-Package /PackagePath:.\Win7_32_Updates choice /d y /t 3 > nul Dism /Unmount-Wim /MountDir:MOUNT /Commit choice /d y /t 3 > nul ) :SKIP_UPDATE oscdimg.exe -lWin7x32 -t11/11/2011:11:11 -o -m -u2 -b.\Win7_32\boot\etfsboot.com .\Win7_32 .\Win7x32.iso pause