Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

AIO DVD Build - DISM Acting Up


  • Please log in to reply
No replies to this topic

#1
RaynotRoy

RaynotRoy

    Newbie

  • Member
  • 28 posts
I have built myself a small DISM script to unpack a clean Windows 7 SP1 image and compile an up to date disc, which I run every month. I have gotten to the point where I am running it over and over again, taking days, just waiting for the one time it works. Eventually it always does.

:INSTALL_WIM
SET INDEX=%1
ECHO.
@TITLE Building^ Windows^ %WINVER%^ AIO^ Disc^ -^ Image^ %INDEX%^ of^ %INDEX_TOTAL%
FOR /F "tokens=*" %%A IN ('DISM /Get-WimInfo /WimFile:"%DVDROOT%\sources\install.wim" /Index:%INDEX% ^| FIND /I "Name"') DO SET EDITION=%%A
SET EDITION=%EDITION:Name : =%
FOR /F "tokens=*" %%A IN ('DISM /Get-WimInfo /WimFile:"%DVDROOT%\sources\install.wim" /Index:%INDEX% ^| FIND /I "Architecture"') DO SET MOUNT_BIT=%%A
SET MOUNT_BIT=%MOUNT_BIT:Architecture : =%
ECHO Image %INDEX% of %INDEX_TOTAL%: %EDITION% %MOUNT_BIT%
ECHO    - Mounting Image...
MKDIR "%MOUNT_DIR%" >NUL
%DISM% /mount-wim /wimfile:"%DVDROOT%\sources\install.wim" /index:%INDEX% /mountdir:"%MOUNT_DIR%" >NUL
IF EXIST "%UPDATES%\ie" ECHO    - Adding Latest Internet Explorer...& FOR %%b IN ("%UPDATES%\ie\*%MOUNT_BIT%*.*") DO %DISM% /Image:"%MOUNT_DIR%" /Add-Package /PackagePath:"%%b" >NUL 2>&1
FOR /F "tokens=*" %%a in ('dir /b /A-d "%UPDATES%\*%MOUNT_BIT%*" ^| find "" /v /n /c') DO SET UPDATE_TOTAL=%%a>NUL
SET COUNT=0
FOR %%b IN ("%UPDATES%\*%MOUNT_BIT%*.*") DO (
   SET /A COUNT+=1
   SET /P "=.%BS%   - Adding Update !COUNT! of %UPDATE_TOTAL%...!CR!" <NUL

=====MAIN PART HERE=====

   %DISM% /Image:"%MOUNT_DIR%" /Add-Package /PackagePath:"%%b" >NUL 2>&1
   IF NOT ERRORLEVEL 0 ECHO Index:%INDEX% %MOUNT_BIT% !COUNT! !ERRORLEVEL! Update:%%b >> "%ERROR_LOG%"

=====END MAIN PART=====
)
ECHO    - Adding Update %COUNT% of %UPDATE_TOTAL%...
IF /I "%WINVER%" == "Vista" Call :DRIVERS_VISTA
IF /I NOT "%WINVER%" == "Vista" Call :Drivers
IF EXIST "%ERROR_LOG%" ECHO. >> "%ERROR_LOG%"
%DISM% /Image:"%MOUNT_DIR%" /Set-TimeZone:"Eastern Standard Time" >NUL 2>&1
%DISM% /Image:"%MOUNT_DIR%" /Set-UILang:en-US >NUL 2>&1
%DISM% /Image:"%MOUNT_DIR%" /Set-SysLocale:en-CA >NUL 2>&1
%DISM% /Image:"%MOUNT_DIR%" /Set-UserLocale:en-CA >NUL 2>&1
%DISM% /Image:"%MOUNT_DIR%" /Set-InputLocale:1009:409 >NUL 2>&1
IF EXIST "%MOUNT_DIR%\Users\Public\Music\Sample Music" RD "%MOUNT_DIR%\Users\Public\Music\Sample Music" /S /Q >NUL 2>&1
IF EXIST "%MOUNT_DIR%\Users\Public\Pictures\Sample Pictures" RD "%MOUNT_DIR%\Users\Public\Pictures\Sample Pictures" /S /Q >NUL 2>&1
IF EXIST "%MOUNT_DIR%\Users\Public\Videos\Sample Videos" RD "%MOUNT_DIR%\Users\Public\Videos\Sample Videos" /S /Q >NUL 2>&1
ECHO    - Saving ^& Un-Mounting Image...
%DISM% /unmount-wim /mountdir:"%MOUNT_DIR%" /commit >NUL
RD /S /Q "%MOUNT_DIR%" >NUL
%DISM% /cleanup-wim >NUL
IF EXIST "%MOUNT_DIR%" ECHO ERROR! %MOUNT_DIR% cannot be deleted.& pause
goto :eof

My custom error log, which basically just tells me if I have an error or not, shows this:
[no problems with index 1-7]
Index:8 x64 1 -2146498512 Update:C:\WinAIO\Updates\7\IE9-Windows6.1-KB2761451-x64.cab 
Index:8 x64 2 -2146498512 Update:C:\WinAIO\Updates\7\Windows-LocalPack-CA-Package-x64.cab 
Index:8 x64 3 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2189014-v2-x64.cab 
Index:8 x64 4 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2276594-x64.cab 
ect....
Index:9 x64 1 -2146498512 Update:C:\WinAIO\Updates\7\IE9-Windows6.1-KB2761451-x64.cab 
Index:9 x64 2 -2146498512 Update:C:\WinAIO\Updates\7\Windows-LocalPack-CA-Package-x64.cab 
Index:9 x64 3 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2189014-v2-x64.cab 
Index:9 x64 4 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2276594-x64.cab 
ect....

and the next time like this:
[no problems with index 1 or 2, or updates 1 - 203]
Index:3 x86 204 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2673042-v2-x86.cab 
Index:3 x86 205 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2674365-x86.cab 
Index:3 x86 206 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2674705-x86.cab 
Index:3 x86 207 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2674913-x86.cab 
Index:3 x86 208 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2675275-x86.cab 
Index:3 x86 209 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2675611-x86.cab 
Index:3 x86 210 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2675806-x86.cab 
Index:3 x86 211 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2676562-x86.cab 
Index:3 x86 212 -2146498512 Update:C:\WinAIO\Updates\7\Windows6.1-KB2679255-v2-x86.cab 
ect....
[no problems with index 4-9]

So I can keep multiple install.wim's around and keep exporting the images that worked into a final image, all done manually, but DONE MANUALLY? yeah not cool. A snippet from the DISM log has been attached.

Why does this seem to work sometimes, but not all the time? I also use this script to update Windows Vista and 8, again sometimes working sometimes not. I am running Windows 7 Ultimate x64 with all updates and my antivirus disabled (Symantec Endpoint Protection). Windows 8 ADK is installed, I wanted to see if it fixed this problem. It didn't. Once in a while unmounting an image will also fail claiming files are in use, which they shouldn't be. I've tried finding the services responsible and I can't. Unlocker can't identify the process or remove the files manually without rebooting.

I am not dual booting or booting from a VHD or anything advanced. It's a very simple setup with one partition, one user account (admin with UAC disabled). I have a Lenovo T520 i5-2520M 8GB with OCZ 256GB Vertex 3 SSD.

I'm not sure if any other information is relevant. Does anyone else have a similar issue? I have no idea what is going on.

EDIT: In retrospect I probably should have put this in the Unattended forum, although my question isn't exactly about the unattended process. MOD feel free to move as required.

Edited by RaynotRoy, 19 November 2012 - 02:25 AM.



How to remove advertisement from MSFN



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN