Итак, папки
$OEM$ не обрабатываются если в
winnt.sif нет
OemPreinstall=Yes и
OemSkipWelcome=1.
Долго бегал с бубном о том как прицепить файл winnt.sif и при этом не автоматизировать никак установку за исключением оем директорий... В итоге отказался от этой идеи.
Вот поправленная инструкция по интеграции WMP11:
1. Берем wmp11-windowsxp-x86-ru-ru, с помощью WinRAR распаковываем в отдельную папку (например c:\WMP
2. в командной строке пишем
C:\WMP\umdf.exe /integrate:C:\disk
C:\WMP\wmfdist11.exe /integrate:C:\disk
C:\WMP\wmp11.exe /integrate:C:\disk
при условии, что папка i386 лежит в c:\disk\
3. теперь с помощью OEM директории нужно положить wmdrmsdk.dll и mfplat.dll из фрхива wmfdist11.exe (тоже можно открыть RAR'ом ) в system32 устанавливаемой системы.
Сруктура каталогов будет иметь вид
\i386
\$OEM$\$$\System32\wmdrmsdk.dll
\mfplat.dll
эти файлы атоматом скопируются в system32
3. При помощи утилиты
makecab перепаковываем те самые
wmdrmsdk.dll и
mfplat.dll:
Код:
makecab C:\папка с распакованным WMP\wmdrmsdk.dll C:\disk\I386\wmdrmsdk.dl_
для mfplat.dll также.
Добавляем в секцию [SourceDisksFiles] файла txtsetup.sif строки:
wmdrmsdk.dll = 100,,,,,,,2,0,0,,1,2
mfplat.dll = 100,,,,,,,2,0,0,,1,2
Все, из $$\System32 эти файлы можно удалять, про них вообще можно не вспоминать больше.
Чтобы установка выглядела полностью как заводская в cmdlines.txt вместо "SelApp.exe /t30000 /r" например указал выполнение "inst.cmd", который в свою очередь сначала проверяет метод установки и если она автоматическая (о чем свидетельствует наличие на диске данных из $OEM$ директории), запускает нужные приложения:
if exist %systemdrive%\файлик из $OEM$\$1 (
SelApp.exe /t30000 /r
%PATH%\REGEDIT /S reg.reg
)