Вот интересная
WIMGAPI UDF. С помощью неё можно даже без EXE-файлов вызывать функции прямо из wimgapi.dll. Хотя с точки зрения интерфейса командной строки кажется более надёжней, так как внутренее обращение к wimgapi.dll через imagex.exe более нативное (выделение памяти, формат параметров и т.д.).
Код:

#include <ComboConstants.au3>
#include <WindowsConstants.au3>
#include <WimConstants.au3>
#include <wimgapi.au3>
$aResult = _WIM_Startup() ; Открывает wimgapi.dll
If @error Then Exit MsgBox(0, 'Сообщение', 'Ошибка старта wimgapi.dll')
$sPath = 'F:\sources\install.wim'
$sWimList = _Get_WimLabel($sPath)
If @error Then Exit MsgBox(0, "Ошибка", 'Не найдена метка wim-файла.' & @LF & 'Без метки извлечь wim-файл невозможно.')
$hGui = GUICreate('My Program', 250, 260)
$Def_Metka = StringLeft($sWimList, StringInStr($sWimList & '|', '|') - 1)
$iCombo = GUICtrlCreateCombo("", 10, 10, 190, 24, $CBS_DROPDOWNLIST + $WS_VSCROLL)
GUICtrlSetData(-1, $sWimList, $Def_Metka)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
_WIM_Shutdown() ; закрывает открытый дескриптор wimgapi.dll
Exit
EndSwitch
WEnd
Func _Get_WimLabel($sWimFile)
Local $aLabel, $aXML, $s_WIM_List
If Not FileExists($sWimFile) Then Return SetError(1, 0, '') ; Файл не существует
; Открыть существующий с доступом чтения
$hWim = _WIM_CreateFile($sWimFile, $WIM_GENERIC_READ, $WIM_OPEN_EXISTING, 0, 0, 0)
If Not $hWim Then Return SetError(2, 0, '') ; Не удалось открыть дескриптор
$aXML = _WIM_GetImageInformation($hWim) ; Чтение информации
_WIM_CloseHandle($hWim) ; Закрыаем открытый дескриптор
$aLabel = StringRegExp($aXML[1], "(?m)(?<=<NAME>)(.*?)(?=</NAME>)", 3) ; Вытаскиваем имя метки в тегах <NAME>
If @error Then
Return SetError(3, 0, '')
Else
$s_WIM_List = ''
For $i = 0 To UBound($aLabel) - 1
$s_WIM_List &= $aLabel[$i] & '|'
Next
Return SetError(0, 0, StringTrimRight($s_WIM_List, 1))
EndIf
EndFunc ;==>_Get_WimLabel