Windows 10 or Windows 11 ISO files downloaded from Microsoft will have descriptive names, such as en_windows_10_pro_10586_x64_dvd.iso
and en_windows_10_pro_14393_x86_dvd.iso
, depending upon the variant you downloaded. The file name depicts the language, version, build edition, and the bitness of the Operating System contained in the ISO.
Let’s assume you have a copy of the Windows ISO with a generic name such as windows_10.iso
(which doesn’t make any sense) obtained from a friend. To find the Windows version, build and edition from an ISO file or Windows Setup DVD, you can use the DISM tool.
Find Windows version, build, edition from ISO
To find the Windows version, build and edition from an ISO file or DVD, use these steps:
- Mount the ISO file by double-clicking on it. By default, Mount will be the default action for ISO files. If not, right-click on the file and choose “Mount” in the context menu.
- Double-click the drive letter of the mounted drive.
- Double-click the
Sources
folder. - Sort folder contents by Name, and look for a file named
install.wim
. Ifinstall.wim
is missing, then you’ll haveinstall.esd
.Install.esd located in the Sources folder. - Open an elevated Command Prompt window, and then type the following command:
dism /Get-WimInfo /WimFile:F:\sources\install.wim /index:1
In the ISO file, if you have
install.esd
instead ofinstall.wim
, you’d type:dism /Get-WimInfo /WimFile:F:\sources\install.esd /index:1
DISM can handle both these file formats (
.wim
&.esd
), at least in Windows 10.
Running DISM command on install.esdYou’ll see the following output:
Deployment Image Servicing and Management tool Version: 10.0.14393.0 Details for image : F:\sources\install.esd Index : 1 Name : Windows 10 Pro Description : Windows 10 Pro Size : 14,747,431,455 bytes WIM Bootable : No Architecture : x64 Hal : Version : 10.0.14393 ServicePack Build : 0 ServicePack Level : 0 Edition : Professional Installation : Client ProductType : WinNT ProductSuite : Terminal Server System Root : WINDOWS Directories : 19070 Files : 103878 Created : 7/16/2016 - 8:35:47 PM Modified : 8/3/2016 - 3:15:18 AM Languages : en-US (Default)
If you’re using Windows 7, running the above DISM command-line with the
.esd
file name parameter would throw the following error:An attempt was made to load a program with an incorrect format.
The DISM log file can be found at C:\Windows\Logs\DISM\dism.logIn that case, you can pass
boot.wim
as the parameter, as below:dism /Get-WimInfo /WimFile:F:\sources\boot.wim /index:1
Running DISM command on boot.wim This results in the following output:
Details for image : F:\sources\boot.wim Index : 1 Name : Microsoft Windows PE (x64) Description : Microsoft Windows PE (x64) Size : 1,501,424,835 bytes WIM Bootable : No Architecture : x64 Hal : Version : 10.0.14393 ServicePack Build : 0 ServicePack Level : 0 Edition : WindowsPE Installation : WindowsPE ProductType : WinNT ProductSuite : System Root : WINDOWS Directories : 3313 Files : 15074 Created : 7/16/2016 - 6:26:52 PM Modified : 8/3/2016 - 3:11:57 AM Languages : en-US (Default) The operation completed successfully.
Note that for Multi-arch ISO files that include both 32-bit and 64-bit versions of Windows, the
boot.wim, install.wim, install.esd
file path varies slightly. These files are located under their respective architecture folders.\x86\sources\ \x64\sources\
Easier way using DISM GUI!
Download the DISM GUI utility and open a WIM or ESD file in it. Click the “Display WIM Info” button. It works for install.wim
as well as install.esd
— if you’re using Windows 10.
You’ll see the list of indexes and the corresponding Windows OS editions under the “DISM Output” section below. The OS version is also displayed in the output.
We covered DISM GUI before.
That’s it! You’ve now obtained the maximum information about the Operating System included in an ISO file, such as the OS version, edition, Service Pack level, architecture.
DISM Get-WimInfo showing the wrong version?
Sometimes, the Windows 8 or 10 ISOs may have the wrong version info metadata that causes the above DISM command to show the wrong version or build.
I downloaded the Windows 20 20H2 ISO (20H2 Build starts with 19042.nnn) from Microsoft.
- Filename: Win10_20H2_English_x64.iso
- SHA-256: e793f3c94d075b1aa710ec8d462cee77fde82caf400d143d68036f72c12d9a7e
Running DISM showed this:
Whereas, 20H2 build starts with 19042.nnn
(as shown by the winver command)
The setup.exe (inside the 20H1 ISO) file’s version showed up as 19041.xxx, instead of 19042.nnn.
Here is another such case: Windows version mismatch for Install.WIM, shows it as “Windows 8.1 Enterprise”
To know why this happens in Windows 10/11, read further.
Windows 10 ISO Version and build number are reported incorrectly
Windows 10, versions 2004, 20H2, 21H1, 21H2, and 22H2 share a common core operating system with an identical set of system files. Therefore, the new features in Windows 10, version 22H2 are included in the latest monthly quality update for Windows 10, version 2004, 20H2, 21H1, and 21H2, but are in an inactive and dormant state. These new features will remain dormant until they are turned on through the “enablement package,” a small, quick-to-install “master switch” that activates the Windows 10, version 22H2 features.
Because of this, the image metadata on 1909 media will report the version 1903 build number of 18362, and the image metadata on 20H2/21H2/22H2 media will report the version 2004 build number of 19041.
Workaround
- To determine whether the media is 1909 media, mount the image, run
dism /get-packages
and check whether the 1909 Enablement Package is installed. Specifically, look for a package namedPackage_for_KB4517245
. - To determine whether the media is 20H2 media, mount the image, run
dism /get-packages
and check whether the 20H2 Enablement Package is installed. Specifically, look for a package namedPackage_for_KB4562830
. - To determine whether the media is 21H1 media, mount the image, run
dism /get-packages
and check whether the 21H1 Enablement Package is installed. Specifically, look for a package namedPackage_for_KB5000736
. - To determine whether the media is 21H2 media, mount the image, run
dism /get-packages
and check whether the 21H2 Enablement Package is installed. Specifically, look for a package namedPackage_for_KB5003791
. - To determine whether the media is 22H2 media, mount the image, run
dism /get-packages
and check whether the 22H2 Enablement Package is installed. Specifically, look for a package namedPackage_for_KB5015684
.
Here are the DISM commands to mount the ISO and then query the mounted WIM to find if the “enablement package” is installed.
Step 1) Mounting the WIM Image
First, create a directory named “WinMount” on the C:\ drive, and try the following steps.
# Assumes that the Windows Setup USB/ISO is mounted at J: and the index of the edition [Home, Pro, etc.] must be chosen: Dism /Mount-Image /ImageFile:"J:\sources\install.wim" /Index:1 /MountDir:"C:\WinMount" /ReadOnly
Note: If you have the file install.esd (instead of install.wim) in your ISO or USB drive, you need to convert the ESD file to WIM in order to mount its contents.
Step 2) Query if an Enablement Package is installed
dism /Get-Packages /Image:"C:\WinMount"
Sample Output
Package Identity : Package_for_KB5000736~31bf3856ad364e35~amd64~~10.0.1.3 State : Installed Release Type : Update Install Time : 4/9/2021 1:43 PM
KB5000736 is the enablement package that upgrades your Windows 10 device to version 21H1.
(or)
Package Identity : Package_for_KB5003791~31bf3856ad364e35~amd64~~19041.1237.1.3 State : Installed Release Type : Update Install Time : 12/16/2021 11:13 AM
KB5003791 is the enablement package that upgrades your Windows 10 device to version 21H2.
(or)
Package Identity : Package_for_KB5015684~31bf3856ad364e35~amd64~~19041.1799.1.2 State : Installed Release Type : Update Install Time : 9/8/2022 3:00 AM
KB5015684 is the enablement package that upgrades your Windows 10 device to version 22H2.
(Optionally, you can pipe the output to “clip” to copy the output to the clipboard and paste it into Notepad.)
Step 3) UnMounting the WIM Image
After you complete the query, you can unmount the image using the following syntax:
Dism /Unmount-image /MountDir: {/Commit | /Discard}
In our case, we’d use:
Dism /Unmount-image /MountDir:"c:\WinMount" /discard
See also: How to Extract Specific Files from Windows ISO (Install.wim)