28 марта 2014 г.

Интеграция обновлений и IE11 в установочный дистрибутив Windows 7

    Примечание:
    16.02.2015. Обновил статью для работы с 13 редакциями/версиями (добавил там где необходимы новые строчки).



    Windows 7 можно устанавливать уже с обновлениями и последним IE11. Но для этого их нужно интегрировать в дистрибутив. И в этой статье я покажу как это сделать.
    За основу я буду брать файл install.wim, который модифицировал в своей предыдущей статье (совместил x86 и x64 в одном wim-образе). Вы можете использовать и оригинальный install.wim - только следите за индексами внутри команд DISM (они могут отличаться).
    Обновления - только официальные и берутся от Microsoft с помощью моих же скриптов.
    IE11 - русская версия.
    Так же у нас должен быть установлен WAIK. Я использовал этот WAIK.
    А теперь обо всем подробнее.

Последовательность действий:

1. Помещаем любым способом наш файл install.wim (содержащий в себе x86 и x64 разрядности) в папку .\install_wims.

2. Посмотрим информацию о том какие редакции находятся в этом образе:
dism /get-wiminfo /wimfile:.\install_wims\install.wim
    Результат:
Cистема DISM
Версия: 6.1.7600.16385

Сведения об образе : .\install.wim

Индекс: 1
Имя : Windows 7 Starter (x86)
Описание : Windows 7 STARTER
Размер (байт): 7 873 232 304

Индекс: 2
Имя : Windows 7 HomeBasic (x86)
Описание : Windows 7 HOMEBASIC
Размер (байт): 7 893 059 504

Индекс: 3
Имя : Windows 7 HomePremium (x86)
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 8 335 398 278

Индекс: 4
Имя : Windows 7 Professional (x86)
Описание : Windows 7 PROFESSIONAL
Размер (байт): 8 218 641 683

Индекс: 5
Имя : Windows 7 Ultimate (x86)
Описание : Windows 7 ULTIMATE
Размер (байт): 8 379 064 882

Индекс: 6
Имя : Windows 7 HomeBasic (x64)
Описание : Windows 7 HOMEBASIC
Размер (байт): 11 537 436 013

Индекс: 7
Имя : Windows 7 HomePremium (x64)
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 12 050 812 181

Индекс: 8
Имя : Windows 7 Professional (x64)
Описание : Windows 7 PROFESSIONAL
Размер (байт): 11 953 184 030

Индекс: 9
Имя : Windows 7 Ultimate (x64)
Описание : Windows 7 ULTIMATE
Размер (байт): 12 116 011 126

Индекс: 10
Имя : Windows 7 Enterprise (x86)
Описание : Windows 7 ENTERPRISE
Размер (байт): 8 223 165 758

Индекс: 11
Имя : Windows 7 Enterprise (x64)
Описание : Windows 7 ENTERPRISE
Размер (байт): 11 958 749 455

Индекс: 12
Имя : Windows 7 Professional VL (x86)
Описание : Windows 7 PROFESSIONAL
Размер (байт): 8 218 767 771

Индекс: 13
Имя : Windows 7 Professional VL (x64)
Описание : Windows 7 PROFESSIONAL
Размер (байт): 11 954 208 757

Операция успешно завершена.
3. Посмотрим какие пакеты у нас имеются на данный момент (до интеграции обновлений) в какой-нибудь из редакций, например, в редакции Starter (x86) - 1 индекс:
    Примечание:
    1. Я создал папку package_info и в неё заношу информацию о пакетах (в файлы "Starter (x86) - Table.txt" и "Starter (x86) - List.txt").

    2. Образ у меня монтируется в папку mount, которую, возможно, тоже нужно предварительно создать.
    3. Советую отключить антивирус, т.к. с ним процесс монтирования/отмонтирования может затянуться надолго.
    4. О команде DISM и используемых для нее параметрах - см. справку Microsoft.

dism /mount-wim /wimfile:.\install_wims\install.wim /index:1 /mountdir:.\mount /readonly
dism /image:.\mount /Get-Packages /Format:Table > ".\package_info\Starter (x86) - Table.txt"
dism /image:.\mount /Get-Packages /Format:List > ".\package_info\Starter (x86) - List.txt"
dism /unmount-wim /mountdir:.\mount /discard
dism /cleanup-wim
    Приведу результат (например, файл Starter (x86) - Table.txt). В виде скриншота, чтобы не сбилась разметка (txt-файл можете глянуть тут):
    Как вы можете наблюдать изначально в дистрибутиве (в Starter (x86)) содержится 9 пакетов. После интеграции обновлений их должно стать больше.

4. Скачиваем обновления, которые собираемся интегрировать (я использовал скрипт getUpdate из этой статьи, и обновления из списка 1).

5. Копируем/переносим их внутрь текущего каталога в папки .\x86_upd и .\x64_upd.
    Примечание:
    1. DISM может интегрировать только пакеты типа *.cab или *.msu. Так что убедитесь, что в указанных папках содержатся только файлы с этим расширением (отсутствуют всякие *.exe, *.msi, и пр.)
    2. Не стоит интегрировать обновления для IE вместе со всеми, т.к. IE будет интегрироваться после интеграции всех обновлений (для интеграции IE11 требуются обновления: KB2834140, KB2670838, KB2639308, KB2533623, KB2731771, KB2729094, KB2786081, KB2888049, KB2882822). Следовательно, убедитесь что обновления IE отсутствуют в папках.


6. Скачиваем IE11 русскую версию (x86 и x64). Перенесем их папку .\IE11.

7. Извлекаем содержимое из только что скачанных установочных файлов в папки .\IE11\x86 и .\IE11\x64:
.\IE11\IE11-Windows6.1-x86-ru-ru.exe /x:.\IE11\x86
.\IE11\IE11-Windows6.1-x64-ru-ru.exe /x:.\IE11\x64
8. Можно приступать к интеграции. Для начала интегрируем все обновления из папок .\x86_upd и .\x64_upd во все индексы:
    Примечание:
    1. Некоторые обновления могут не интегрироваться. Ничего страшного.
    2. Я интегрировал 157 обновлений (x86, x64) (столько на данный момент было актуально). Я знал, что обновление KB2533552 не интегрируется, поэтому
перед интеграцией я его удалил из папок x86_upd и x64_upd.
    3. Обновления интегрируются в алфавитном порядке.
    4. Если у вас свой install.wim - измените индексы на свои.
    5. Позаботьтесь о наличие достаточного свободного места на жестком диске. Из-за этого тоже могут быть ошибки. И отключите антивирус - без него гораздо быстрее пойдет процесс.

mkdir .\mount

::1. Starter x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:1 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::2. HomeBasic x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:2 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::3. HomePremium x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:3 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::4. Professional x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:4 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::5. Ultimate x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:5 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::6. HomeBasic x64
dism /mount-wim /wimfile:.\install_wims\install.wim /index:6 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x64_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::7. HomePremium x64
dism /mount-wim /wimfile:.\install_wims\install.wim /index:7 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x64_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::8. Professional x64
dism /mount-wim /wimfile:.\install_wims\install.wim /index:8 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x64_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::9. Ultimate x64
dism /mount-wim /wimfile:.\install_wims\install.wim /index:9 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x64_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::10. Entreprise x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:10 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::11. Entreprise x64
dism /mount-wim /wimfile:.\install_wims\install.wim /index:11 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x64_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::12. Professional VL x86
dism /mount-wim /wimfile:.\install_wims\install.wim /index:12 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x86_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

::13. Professional VL x64
dism /mount-wim /wimfile:.\install_wims\install.wim /index:13 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\x64_upd
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim 
   В результате образ install.wim у меня вырос до ~5 ГБ. На стандартную DVD-болванку, конечно, он уже не влезет, но мы же все равно его будет ставить с флешки.

9. Посмотрим какие пакеты у нас содержатся в редакции Starter (первый индекс) после интеграции обновлений. Используем команды указанные в шаге 3.
    Примечание:
    Делать это не обязательно, всего лишь ради того, чтобы убедиться, что все обновления добавились успешно.

    Теперь в 1 индексе у меня содержится 166 пакетов (9 были там изначально + 157 новых только что добавленных обновлений = 166). Значит все хорошо.

10. Интегрируем IE11.
    Для успешной интеграции IE11 пакеты должны добавляться в образ только в следующем заданном порядке:
  1. IE-Win7.CAB
  2. ielangpack-ru-RU.CAB
  3. IE-Hyphenation-en.MSU
  4. IE-Spelling-en.MSU
  5. IE-Hyphenation-ru-RU.MSU
  6. IE-Spelling-ru-RU.MSU
    Поэтому интегрируем каждый пакет IE по-отдельности следующими командами:
dism /mount-wim /wimfile:.\install_wims\install.wim /index:1 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:2 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:3 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:4 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:5 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:6 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:7 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:8 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:9 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:10 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:11 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:12 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x86\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim

dism /mount-wim /wimfile:.\install_wims\install.wim /index:13 /mountdir:.\mount
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Win7.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\ielangpack-ru-RU.CAB
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-en.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Hyphenation-ru-RU.MSU
dism /image:.\mount /Add-Package /PackagePath:.\IE11\x64\IE-Spelling-ru-RU.MSU
dism /unmount-wim /mountdir:.\mount /commit
dism /cleanup-wim
    В результате образ install.wim стал размером >5 ГБ. И первый индекс (редакция Starter) стал содержать 172 пакета (9 были там изначально + 157 обновлений + 6 пакетов IE = 172).

11. Переименуем полученный образ install.wim в _install.wim, чтобы в дальнейшем его сжать с помощью ImageX:
move /y .\install_wims\install.wim .\install_wims\_install.wim

imagex /export ".\install_wims\_install.wim" 1 ".\install_wims\install.wim" "Windows 7 Starter (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 2 ".\install_wims\install.wim" "Windows 7 HomeBasic (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 3 ".\install_wims\install.wim" "Windows 7 HomePremium (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 4 ".\install_wims\install.wim" "Windows 7 Professional (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 5 ".\install_wims\install.wim" "Windows 7 Ultimate (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 6 ".\install_wims\install.wim" "Windows 7 HomeBasic (x64)" /compress maximum
imagex /export ".\install_wims\_install.wim" 7 ".\install_wims\install.wim" "Windows 7 HomePremium (x64)" /compress maximum
imagex /export ".\install_wims\_install.wim" 8 ".\install_wims\install.wim" "Windows 7 Professional (x64)" /compress maximum
imagex /export ".\install_wims\_install.wim" 9 ".\install_wims\install.wim" "Windows 7 Ultimate (x64)" /compress maximum
imagex /export ".\install_wims\_install.wim" 10 ".\install_wims\install.wim" "Windows 7 Enterprise (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 11 ".\install_wims\install.wim" "Windows 7 Enterprise (x64)" /compress maximum
imagex /export ".\install_wims\_install.wim" 12 ".\install_wims\install.wim" "Windows 7 Professional VL (x86)" /compress maximum
imagex /export ".\install_wims\_install.wim" 13 ".\install_wims\install.wim" "Windows 7 Professional VL (x64)" /compress maximum
    Как вы можете сами убедиться новый файл install.wim весит гораздо меньше несжатого _install.wim (разница ~1 ГБ).
    Повторное сжатие как ни к чему не приведет (размер не изменится) - можете даже не пытаться.
    >4,5 ГБ - многовато конечно, но другого способа я не знаю, если кто знает как уменьшить его, поделитесь знаниями.
    Старый несжатый _install.wim можно удалить:
del /q .\install_wims\_install.wim
12. Перенесем полученный файл install.wim внутрь нашего распакованного образа в .\ISO_files\sources:
move /y .\install_wims\install.wim .\ISO_files\sources\install.wim
13. Обратно запакуем всё в ISO-образ с помощью OSCDIMG. Для этого создадим bat-файл следующего содержания и запустим его в "Командной строке средств развертывания":
:: Папка с установочными файлами Windows
SET source=.\ISO_files
:: Папка для сохранения ISO-образа
SET target=.\
:: Путь до загрузчика
SET bootloader="%source%\boot\etfsboot.com"

:: Создание ISO-образа
oscdimg -u2 -lWIN7 -m -h -b"%bootloader%" "%source%" "%target%\WIN7x86-x64.iso"

::-u2 - Создает образ, который имеет файловую систему UDF.
::-l  - Задает метку тома. Между параметрами l и метка пробелов быть не должно.
::-b  - Указывает на загрузочный файл образа, который используется для создания загрузочного сектора на DVD-диске или образе.
::-h  - Включает в создаваемый образ все скрытые файлы и папки, расположенные по указанному пути
::-m  - Игнорирует ограничение максимального размера образа.
    У меня получился ISO-образ размером ~5 ГБ .

    Итого, после интеграции 157 обновлений и IE11 образ install.wim вырос на ~1 ГБ по сравнению с образом из предыдущей статьи.
    Установку этот образ успешно прошел. В результате мы имеем уже установленные 163 обновления/исправления о чем говорит соответствующее окно:
    Аналогичный результат мы получим, если посмотрим результат команды systeminfo. Мой результат.
    Если попробуем посмотреть обновления, которые нам предложит WindowsUpdate установить, то их количество гораздо меньше нежели на "чистой" системе без интегрированных обновлений. У меня их получилось 13 штук (значит я использовал не самые актуальные списки обновлений) + .NET (который таким образом не интегрируется):

    По-моему, хороший результат. В результате всех проделанных действий мы сократили время на установку обновлений и IE после установки чистой Windows 7 на новый компьютер, а также интернет-трафик требуемый на их закачку.
    В дальнейшем раз в год/полгода можно освежать данный образ добавляя новые вышедшие обновления в образ созданный на предыдущих этапах, и у Вас всегда будет образ, содержащий актуальные обновления и устанавливающийся в автоматическом режиме.
    На этом всё! Удачи!

Используемый материал:
Технический справочник по системе обслуживания образов развертывания и управления ими DISM (Windows 7)
Интеграция Internet Explorer 9 в дистрибутив Windows 7 (SP1)
Интеграция Internet Explorer 10 в дистрибутив Windows 7 (SP1)
Интеграция Internet Explorer 11 в дистрибутив Windows 7 (SP1)
Как интегрировать обновления через Microsoft Windows AIK

При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.

22 комментария:

  1. Спасибо за отличную "разжёванную" статью.

    ОтветитьУдалить
  2. Дошел до обновления системы. Пользуюсь на ноутбуке Windows 7 Professional без SP1. Обновлений никогда не ставил (знаю, плохо делаю, планирую исправится). getUpdate не работает. В xml логе нашел информацию что не может соединится, акrаунт Dropbox заблокирован. Я предполагаю, программа работает через ваш Dropbox и берет от туда ссылки. Но в связи с тем, что он заблокирован, я был бы признателен если бы вы скинули бы мне обновления Windows (или, по крайней мере номера (KBxxxxxx)). Я просто никогда не обновлялся, в этом деле не шарю. В режим аудита лезть неохота. Наперед спасибо.

    ОтветитьУдалить
    Ответы
    1. Ага, равильно полагаете. Эх, сколько же проблем из-за этого дропбокса оказывается...
      А я правильно понял то, что Вы хотите поставить обновления на уже установленную систему к тому же без SP1?
      Просто эта инструкция немного для другого дела.

      Удалить
    2. Все спасибо, разобрался. Помог режим аудита. Кстати, а почему вы не напишите про режим аудита в качестве альтернативы интеграции? Ничего сложного в этом нет.

      Удалить
    3. Если есть простой автоматизированный метод добавления обновлений, то почему бы им не воспользоваться. Аудит - монстр, в котором можно непонятно что натворить.

      Удалить
    4. Не работает. Бьюсь уже вторые сутки.Эксперимента ради взял два дистрибутива 32 и 64 битных Win7 Pro SP1 Rus, скачанные мною лично с фтп майкрософта и утсаноленная уже не хочу говорить сколько раз.Дистрибутивы изначально рабочие, интегрирую 1 обновление (любое), сохраняю образ. Упаковываю или не упаковываю - реакция одинакова. Возвращаю вим-файл в дистрибутив, пускаю на установку и в процессе установки вываливается ошибка 0х80070570. У меня есть подозрение, что нужно пересобирать файл каталогов .clg. Иначе я ничем не могу объяснить тупое упрямое нессответствие результатов у меня и у остальных. Что я делаю не так?

      Удалить
    5. > ошибка 0х80070570
      как пускаете на установку?

      Удалить
    6. Да..всё всё верно. после паковки образа, его нужно открыть в Windows System Image Manager.Он спросит о том что нет файла каталогов и предложит его создать. соглашаемся. Идёт создание clg-файла. У меня где-то полчаса шло,только после этого винда таки встала. Автор, допишите пожалуйста статью с указанием того, что нужно под каждое пересоздание образа менять и файл каталогов. и если не трудно, укажите способ (как вариант) через менеджер системных образов с процессом пересоздание файла каталогов. Всё остальное выше описанное - на отлично. Спасибо!

      Удалить
    7. Открывать в Windows System Image Manager ничего не нужно. Достаточно просто удалить все clg файлы. Проверенно.

      Удалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить
  4. На сегодняшнее число обновлений уже 200, у меня предложение: почему бы интегрировать в сборку драйвера USB3.0 это очень сэкономит время установки + не нужно будет париться если вставил в синюю дырку) как такая идея?

    ОтветитьУдалить
  5. К сожалению после интеграции обновлений образ перестал работать (до этого все было отлично)
    http://i79.fastpic.ru/big/2016/0529/bf/6a71bb7cba1e227cad55cf7f90822cbf.png
    http://i79.fastpic.ru/big/2016/0529/27/ec4a54fdc66a9d8c1a2e5ca682ea1827.png
    Увы...

    ОтветитьУдалить
  6. Здравствуйте!
    Почему-то в информации о пакетах отображается неверная кодировка:
    http://i59.fastpic.ru/big/2016/0705/f3/bd2ea56ec2532f18e65e2908a20aaaf3.png

    С чем может быть связано, как привести к нормальному виду?

    ОтветитьУдалить
    Ответы
    1. Это одно из стандартных кодировок Windows - СР816 (если мне не изменяет память).
      Чтоб привести к нормальному виду используйте текстовый редактор, который может в автоматическом режиме выбирать правильную кодировку. Например, AkelPad, Notepad++, и др.
      Или онлайн-сервисы:
      http://www.artlebedev.ru/tools/decoder/

      Удалить
    2. Спасибо за ответ, но скриншот с Notepad++ (возможно, у меня версия устаревшая)
      Пришлось вручную выбрать OEM 866.
      --------------------------------------

      У меня еще такой вопрос: возможно ли каким-то образом проверять наличие уже интегрированных обновлений в образе, дабы избежать их повторной интеграции? Сейчас проверил - в образ добавляются уже имеющиеся обновления. Следовательно, возрастает размер. Или только создавать отдельные папки по датам?

      Удалить
    3. уточнение: имеется ввиду проверять автоматически

      Удалить
    4. Запустить диспетчер образов в WAIK, создать каталог (если не делали), подключить образ и в нём увидите уже интегрированные пакеты.

      Удалить
  7. здравствуйте делал сборку по вашим статьям интегрировал обновления в 11 редакциям и instail.wim у меня 6,24 гига это нормально или нет такой размер ?

    ОтветитьУдалить
  8. думаю, что да, количество обновлений выросло => увеличится размер образа
    сжимать не забывайте:
    imagex /export "install.wim" ..... /compress maximum

    ОтветитьУдалить
  9. а почему вы не пробовали сжать install.wim прогой 78RePack в формат install.esd он на много у меньшит ?

    ОтветитьУдалить
    Ответы
    1. Первый раз слышу о такой программе, поэтому не пробовал

      Удалить