hello murphy78 in the August version of Windows 7, you said that you will build two more versions updated to December. May you please create the latest version now in December? I used only your version,till now 10x
Spoiler I think the date comes from the LASTMODIFICATIONTIME part inside the [1].xml inside the wim file. You can convert those hex strings into a readable format using the w32tm command. Example: Code: < ?xml version="1.0" encoding="UTF-8"?> < WIM> <TOTALBYTES>179531723</TOTALBYTES> <IMAGE INDEX="1"> <DIRCOUNT>1104</DIRCOUNT> <FILECOUNT>6119</FILECOUNT> <TOTALBYTES>775969194</TOTALBYTES> <HARDLINKBYTES>276799079</HARDLINKBYTES> <CREATIONTIME> <HIGHPART>0x01CFAD30</HIGHPART> <LOWPART>0x24D37539</LOWPART> </CREATIONTIME> <LASTMODIFICATIONTIME> <HIGHPART>0x01CFB02C</HIGHPART> <LOWPART>0xAAF245D3</LOWPART> </LASTMODIFICATIONTIME> <WINDOWS> <ARCH>0</ARCH> <PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME> <PRODUCTTYPE>WinNT</PRODUCTTYPE> <PRODUCTSUITE /> <LANGUAGES> <LANGUAGE>en-US</LANGUAGE> <DEFAULT>en-US</DEFAULT> </LANGUAGES> <VERSION> <MAJOR>6</MAJOR> <MINOR>3</MINOR> <BUILD>9600</BUILD> <SPBUILD>16384</SPBUILD> <SPLEVEL>0</SPLEVEL> </VERSION> <SYSTEMROOT>WINDOWS</SYSTEMROOT> </WINDOWS> <NAME>MODERNCORE_INSTALL</NAME> <WIMBOOT>0</WIMBOOT> </IMAGE> [...] < /WIM> (example WIM from IoT preview 2) Highpart: 0x01CFB02C Lowpart: 0xAAF245D3 fonte: betaArchive
hey murph, thanks for all the info you mentioned in OP that for 64bit iso you like to add efi info: im confused as to when i have to use this command. example: i take windows 7 64bit iso from msdn. extract it. integrate updates into install.wim. now what? you mention something about using w8 efisys.bin file. whats wrong with the one thats already in the w7x64 iso? also, can you please provide a subsitute of this: Code: oscdimg -bc:\win8x64\efi\microsoft\boot\efisys.bin -pEF -u1 -bootdata:2#p0,e,bc:\win8x64\boot\etfsboot.com#pEF,e,bc:\win8x64\efi\microsoft\boot\efisys.bin -lWin8DVD c:\win8x64\ C:\temp\OutputDVDName.iso for windows 7 x64? (if it varies based on the .bin im using) thank you!
Here's what i use. "%DISMX64%\Dism.exe" /Get-wimInfo /wimFile:%PATH%\iso\sources\install.wim "%ISOMAKER%\oscdimg.exe" -h -m -o -u2 -udfver102 -bootdata:2#p0,e,b%PATH%\iso\boot\etfsboot.com#pEF,e,b%PATH%\iso\efi\microsoft\boot\efisys.bin -l"%DISC%" %PATH%\iso "%WD%:\%DISC%.iso" Obvious for their reasons: -o = Uses a MD5 hashing algorithm to compare files. <----- not really required unless you're uploading or transferring the file and need to make sure it did so correctly -h = Includes hidden files and directories in the source path of the image. <----- just in case there are (i'm not sure if the system folders count as they're hidden by default on a live system?) -m = Ignores the maximum size limit of an image. <-----since i use usb drives to install with -u1 vs -u2 i'm not sure i figured I'm not burning cd's so don't really need iso 9660 filesystem. -x = Computes and encodes the AutoCRC value in the image. (only found this on vista adk) <-----MS uses this so i guess murphy just decided too as well
You can export all wim indexes to one, from Vista and up, remember the install.wim/esd/swm will grow a lot in size.
By moving the mkdir part inside the loop and using the runtime variable %%x of the loop to assign a sub-folder per index, like: Code: @echo off if not exist c:\win81x64 exit for /l %%x in (1, 1, 7) do ( if not exist d:\mount\%%x mkdir d:\mount\%%x dism /mount-wim /wimfile:c:\win81x64\sources\install.wim /index:%%x /mountdir:D:\mount\%%x ) To make the script auto-detect the contained indizes: Code: @echo off setlocal EnableDelayedExpansion if not exist c:\win81x64 exit for /f "tokens=2 delims=: " %%a in ('dism /english /Get-WimInfo /WimFile:"c:\win81x64\sources\install.wim" ^| findstr /i Index') do ( rem remove any quotes in index nr. in newer dism versions set ix=%%a set ix=!ix:"=! if not exist d:\mount\!ix! mkdir d:\mount\!ix! dism /mount-wim /wimfile:c:\win81x64\sources\install.wim /index:!ix! /mountdir:D:\mount\!ix! )
Hello s1ave77, I did the first one and everything worked out, set up the folders according to the index, correct, the second scripts I did not understand, but I'm doing another one, only this is breaking my head, I'm still an apprentice, the scripting programs, I like automation, want to ask, how do I do a loop like this - for / L %% i in (1, 1,% VERSIONS%) of (, with index: %% i, , example: set "INSTALLMOUNTDIR =% MOUNTDIR% \ install", inside that install ?, and also, make recognize in the directory of the folder where this Packs / updates / x32 / x64, doing with the set, in the same way as the example above no need to make a folder with mkdir? do not wait for your feedback, and thanks for your help!
I want to make a script where it gives me information of all images, with Count, IndexNo, Architecture, Name, Description, Flag, Edition, InstallationType, DefaultLanguage, Build, Version, ServicePackBuild, ServicePackLevel, Size and PackageServicePackBuild, recognizing windows 7-8.1 -10, as well as in msmg, but without pointing out, but the scripts already go straight, and recognize the folder inside packs, update and drivers, and mount all the images with a newer dism.exe with the adk inslated in machine physically, or a dism folder within the directory, within each image index its folder before, then install updates or put drivers, save and unmount, and export, all within an install.wim with maximum compression and move, create the .iso, recognizing Windows 7-8.1-10, then deleting all folders, understood?
@Bira ambitious and also complex task since it needs some know-how regarding the for /f loops to parse the informations needed directly from the used WIM. Note: the /english switch forces english output to make the parsing more consistent. Code: dism /english /Get-WimInfo /WimFile:"c:\win81x64\sources\install.wim" gives an overview to check the available indices in a wim. Code: G:\win>dism /english /Get-WimInfo /WimFile:"install.wim" Deployment Image Servicing and Management tool Version: 10.0.14393.0 Details for image : install.wim Index : 1 Name : Windows 10 Home Description : Windows 10 Home Size : 16.013.005.171 bytes Index : 2 Name : Windows 10 Pro Description : Windows 10 Pro Size : 16.117.026.519 bytes Index : 3 Name : Windows 10 Pro for Workstations Description : Windows 10 Pro for Workstations Size : 16.094.029.596 bytes Index : 4 Name : Windows 10 Enterprise Description : Windows 10 Enterprise Size : 16.094.030.666 bytes The operation completed successfully. Code: dism /english /Get-WimInfo /WimFile:"c:\win81x64\sources\install.wim" /Index:1 gives verbose output for each chosen index with all the info you're searching for. Code: G:\win>dism /english /Get-WimInfo /WimFile:"install.wim" /Index:1 Deployment Image Servicing and Management tool Version: 10.0.14393.0 Details for image : install.wim Index : 1 Name : Windows 10 Home Description : Windows 10 Home Size : 16.013.005.171 bytes WIM Bootable : No Architecture : x64 Hal : <undefined> Version : 10.0.17063 ServicePack Build : 1000 ServicePack Level : 0 Edition : Core Installation : Client ProductType : WinNT ProductSuite : Terminal Server System Root : WINDOWS Directories : 21490 Files : 103775 Created : 15.12.2017 - 02:52:51 Modified : 20.12.2017 - 17:38:43 Languages : de-DE (Default) The operation completed successfully. The second script isn't that complicated. The for loop checks the Wim-Info for the line 'Index : "1"' (in older versions of dism it's shown without the "), assigns the runtime variable %%a to variable %ix% and cleans any quotes in the second set line. Since the variable is set inside the loop, it needs to use !ix! instead of %ix%. Rest is similiar to the 1st script.