Installing Windows 11 IoT Enterprise on iMX93

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Installing Windows 11 IoT Enterprise on iMX93

Jump to solution
1,931 Views
MichaelV
Senior Contributor III

Hi,

I'm following the IMXWQSG.pdf i.MX Windows IoT Quick Start Guide Rev. 1.5.1 — 24 May 2024 to the letter.

Step 5 results in an error:

 

 

C:\W21H2-1-5-1-imx-windows-bsp-binaries\IoTEntOnNXP>.\make-winpe-enterprise.cmd /disable_updates /test_signing /no_patch

Selected: "install.wim"


OPTIONS SUMMARY:
Source image:                          install.wim
Test signing:                          yes
Windows debug over ethernet:           no, IP:
Windows PE debug over ethernet:        no, IP:
KD_NET file (for debug over net):      no
Windows debug over serial:             no
Windows PE debug over serial:          no
Unattended install answer file:        no
Disable updates:                       yes
Disable transparency:                  yes
Split wim:                             no
Cumulative update:                     no, path:
Skip updates to Windows Enterprise:    yes
Skip updates to Windows PE:            yes

*********************************************************************************************************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*** Step 1 Creating i.MX Windows IoT Enterprise image: out\imx_win_iot_install.wim
*********************************************************************************************************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


---------------------------------------------------------------------------------------------------------------------------------------------------------
*** Step 1.1 Copying Windows Enterprise image install.wim to out\imx_win_iot_install.wim
---------------------------------------------------------------------------------------------------------------------------------------------------------
A subdirectory or file out already exists.
copy "install.wim" "out\imx_win_iot_install.wim"
        1 file(s) copied.
"Cannot identify Windows image version"

 

 

 

This comes from the command "dism /Get-WimInfo /WimFile:!IMX_WIN_ENTERPRISE_IMAGE! /index:2" in the make-winpe-enterprise.cmd batch file (which results in the command "dism /Get-WimInfo /WimFile:out\imx_win_iot_install.wim /index:2" being executed).

The dism.log file shows:

 

 

2024-11-27 15:23:09, Info                  DISM   PID=2060 TID=13108 Scratch directory set to 'C:\Users\vboxuser\AppData\Local\Temp\'. - CDISMManager::put_ScratchDir
2024-11-27 15:23:09, Info                  DISM   PID=2060 TID=13108 DismCore.dll version: 10.0.22621.1 - CDISMManager::FinalConstruct
2024-11-27 15:23:09, Info                  DISM   Initialized Panther logging at C:\Windows\Logs\DISM\dism.log
2024-11-27 15:23:09, Info                  DISM   PID=2060 TID=13108 Successfully loaded the ImageSession at "C:\Windows\system32\Dism" - CDISMManager::LoadLocalImageSession
2024-11-27 15:23:09, Info                  DISM   Initialized Panther logging at C:\Windows\Logs\DISM\dism.log
2024-11-27 15:23:09, Info                  DISM   DISM Provider Store: PID=2060 TID=13108 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2024-11-27 15:23:09, Info                  DISM   Initialized Panther logging at C:\Windows\Logs\DISM\dism.log
2024-11-27 15:23:09, Info                  DISM   DISM Manager: PID=2060 TID=13108 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: 
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: <----- Starting Dism.exe session ----->
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: 
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: Host machine information: OS Version=10.0.22621, Running architecture=amd64, Number of processors=4
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: Dism.exe version: 10.0.22621.2792
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: Executing command line: dism  /Get-WimInfo /WimFile:out\imx_win_iot_install.wim /index:2 
2024-11-27 15:23:09, Error                 DISM   DISM WIM Provider: PID=2060 TID=13108 onecore\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:3487 - CWimManager::InternalOpGetImages(hr:0x80070057)
2024-11-27 15:23:09, Error                 DISM   DISM WIM Provider: PID=2060 TID=13108 onecore\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:4274 - CWimManager::InternalCmdGetImages(hr:0x80070057)
2024-11-27 15:23:09, Error                 DISM   DISM WIM Provider: PID=2060 TID=13108 "Error executing command" - CWimManager::InternalExecuteCmd(hr:0x80070057)
2024-11-27 15:23:09, Error                 DISM   DISM WIM Provider: PID=2060 TID=13108 onecore\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:2128 - CWimManager::ExecuteCmdLine(hr:0x80070057)
2024-11-27 15:23:09, Error                 DISM   DISM.EXE: WimManager processed the command line but failed. HRESULT=80070057
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: Image session has been closed. Reboot required=no.
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: 
2024-11-27 15:23:09, Info                  DISM   DISM.EXE: <----- Ending Dism.exe session ----->
2024-11-27 15:23:09, Info                  DISM   DISM.EXE:

 

 

The install.wim file is copied from the ISO "26100.1.240331-1435.ge_release_CLIENT_IOT_LTSC_EVAL_A64FRE_en-us.iso".

I've also tried the /iso option (and copying the iso file in IoTEntOnNXP, and the result is always the same.

What could be the problem?

 

0 Kudos
Reply
1 Solution
1,512 Views
MichaelV
Senior Contributor III

The previous reply was missing one more required change in the make-winpe-enterprise.cmd file (of release W21H2-1-5-1), so here is the complete solution:

The Windows 11 IoT Enterprise evaluation ISO WIM file is using index 1, not 2. So, you need to change the batch commands in make-winpe-enterprise.cmd from line 425 as follows (this will then work for Windows 10 and Windows 11, no matter which ISO you use):

@REM Identify Windows version from .wim image

set wimindex=2

:TryWimIndexAgain
for /f "tokens=1,* delims=: " %%a in ('dism /Get-WimInfo /WimFile:!IMX_WIN_ENTERPRISE_IMAGE! /index:%wimindex% ^| findstr /i "name"') do (
set WINNAME=%%b

for /f "tokens=1,2 delims= " %%c in ("!WINNAME!") do (
        set WINVER=%%d
)

) 

if not "!WINVER!" == "10" (
    if not "!WINVER!" == "11" (
		if "%wimindex%" == "2" (
			echo "Cannot identify Windows image version using index 2, trying index 1"
			set wimindex=1
			goto TryWimIndexAgain
		)
		else (
			echo "Cannot identify Windows image version!"
			goto ErrExit
		)
    )
)

echo "Identified Windows !WINVER! from .wim file"

echo:
echo ---------------------------------------------------------------------------------------------------------------------------------------------------------
echo *** Step 1.2 Mounting i.MX Windows IoT Enterprise image at %IMX_WIN_ENTRPRISE_MOUNT_DIR%
echo ---------------------------------------------------------------------------------------------------------------------------------------------------------
mkdir "%IMX_WIN_ENTRPRISE_MOUNT_DIR%"
echo dism /mount-wim /wimfile:"%IMX_WIN_ENTERPRISE_IMAGE%" /mountdir:"%IMX_WIN_ENTRPRISE_MOUNT_DIR%" /index:%wimindex%
dism /mount-wim /wimfile:"%IMX_WIN_ENTERPRISE_IMAGE%" /mountdir:"%IMX_WIN_ENTRPRISE_MOUNT_DIR%" /index:%wimindex% || goto ErrExit

 

And from line 713 (after changing the batch file at line 425 as per above):

if "!SPLIT_WIM!" == "yes" (
    echo dism /Apply-Image /ImageFile:"%WINPE_DRIVE_LETTER%:\install.swm" /SWMFile:"%WINPE_DRIVE_LETTER%:\install*.swm" /index:%wimindex% /ApplyDir:W:\ /Compact >> "%WIN_ENTERPRISE_INSTALL_CMD%"
) else (
    echo dism /Apply-Image /ImageFile:"%WINPE_DRIVE_LETTER%:\%IMX_WIN_ENTERPRISE_IMAGE_FILE_NAME%" /index:%wimindex% /ApplyDir:W:\ /Compact >> "%WIN_ENTERPRISE_INSTALL_CMD%"
)

 

Now Windows 11 will install successfully on the iMX93 EVK.

Hopefully these fixes make it into the next release so others don't have to waste time trying to find out why it all doesn't work...

View solution in original post

0 Kudos
Reply
3 Replies
1,895 Views
MichaelV
Senior Contributor III

Ok, so the problem is with the batch file itself. The Windows 11 WIM file is using index 1, not 2. So, for anybody running into this same issue, change the batch commands from line 425 as follows (this will then work for Windows 10 and Windows 11):

@REM Identify Windows version from .wim image

set wimindex=2

:TryWimIndexAgain
for /f "tokens=1,* delims=: " %%a in ('dism /Get-WimInfo /WimFile:!IMX_WIN_ENTERPRISE_IMAGE! /index:%wimindex% ^| findstr /i "name"') do (
set WINNAME=%%b

for /f "tokens=1,2 delims= " %%c in ("!WINNAME!") do (
        set WINVER=%%d
)

) 

if not "!WINVER!" == "10" (
    if not "!WINVER!" == "11" (
		if "%wimindex%" == "2" (
			echo "Cannot identify Windows image version using index 2, trying index 1"
			set wimindex=1
			goto TryWimIndexAgain
		)
		else (
			echo "Cannot identify Windows image version!"
			goto ErrExit
		)
    )
)

echo "Identified Windows !WINVER! from .wim file"

echo:
echo ---------------------------------------------------------------------------------------------------------------------------------------------------------
echo *** Step 1.2 Mounting i.MX Windows IoT Enterprise image at %IMX_WIN_ENTRPRISE_MOUNT_DIR%
echo ---------------------------------------------------------------------------------------------------------------------------------------------------------
mkdir "%IMX_WIN_ENTRPRISE_MOUNT_DIR%"
echo dism /mount-wim /wimfile:"%IMX_WIN_ENTERPRISE_IMAGE%" /mountdir:"%IMX_WIN_ENTRPRISE_MOUNT_DIR%" /index:%wimindex%
dism /mount-wim /wimfile:"%IMX_WIN_ENTERPRISE_IMAGE%" /mountdir:"%IMX_WIN_ENTRPRISE_MOUNT_DIR%" /index:%wimindex% || goto ErrExit
1,513 Views
MichaelV
Senior Contributor III

The previous reply was missing one more required change in the make-winpe-enterprise.cmd file (of release W21H2-1-5-1), so here is the complete solution:

The Windows 11 IoT Enterprise evaluation ISO WIM file is using index 1, not 2. So, you need to change the batch commands in make-winpe-enterprise.cmd from line 425 as follows (this will then work for Windows 10 and Windows 11, no matter which ISO you use):

@REM Identify Windows version from .wim image

set wimindex=2

:TryWimIndexAgain
for /f "tokens=1,* delims=: " %%a in ('dism /Get-WimInfo /WimFile:!IMX_WIN_ENTERPRISE_IMAGE! /index:%wimindex% ^| findstr /i "name"') do (
set WINNAME=%%b

for /f "tokens=1,2 delims= " %%c in ("!WINNAME!") do (
        set WINVER=%%d
)

) 

if not "!WINVER!" == "10" (
    if not "!WINVER!" == "11" (
		if "%wimindex%" == "2" (
			echo "Cannot identify Windows image version using index 2, trying index 1"
			set wimindex=1
			goto TryWimIndexAgain
		)
		else (
			echo "Cannot identify Windows image version!"
			goto ErrExit
		)
    )
)

echo "Identified Windows !WINVER! from .wim file"

echo:
echo ---------------------------------------------------------------------------------------------------------------------------------------------------------
echo *** Step 1.2 Mounting i.MX Windows IoT Enterprise image at %IMX_WIN_ENTRPRISE_MOUNT_DIR%
echo ---------------------------------------------------------------------------------------------------------------------------------------------------------
mkdir "%IMX_WIN_ENTRPRISE_MOUNT_DIR%"
echo dism /mount-wim /wimfile:"%IMX_WIN_ENTERPRISE_IMAGE%" /mountdir:"%IMX_WIN_ENTRPRISE_MOUNT_DIR%" /index:%wimindex%
dism /mount-wim /wimfile:"%IMX_WIN_ENTERPRISE_IMAGE%" /mountdir:"%IMX_WIN_ENTRPRISE_MOUNT_DIR%" /index:%wimindex% || goto ErrExit

 

And from line 713 (after changing the batch file at line 425 as per above):

if "!SPLIT_WIM!" == "yes" (
    echo dism /Apply-Image /ImageFile:"%WINPE_DRIVE_LETTER%:\install.swm" /SWMFile:"%WINPE_DRIVE_LETTER%:\install*.swm" /index:%wimindex% /ApplyDir:W:\ /Compact >> "%WIN_ENTERPRISE_INSTALL_CMD%"
) else (
    echo dism /Apply-Image /ImageFile:"%WINPE_DRIVE_LETTER%:\%IMX_WIN_ENTERPRISE_IMAGE_FILE_NAME%" /index:%wimindex% /ApplyDir:W:\ /Compact >> "%WIN_ENTERPRISE_INSTALL_CMD%"
)

 

Now Windows 11 will install successfully on the iMX93 EVK.

Hopefully these fixes make it into the next release so others don't have to waste time trying to find out why it all doesn't work...

0 Kudos
Reply
1,639 Views
anthonychen-msft
Contributor II

Glad you were able to figure this out yourself.

Additional tip:

The Windows 11 IoT Enterprise LTSC Evaluation .ISO only has a single index... which contains Windows 11 IoT Enterprise LTSC

The OEM .ISO files have two indices. Index 1 contains Windows Enterprise LTSC and Index 2 contains Windows IoT Enterprise LTSC.

0 Kudos
Reply