![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Перепаковка MSI при помощи WiMakCab.vbs |
|
VBS/WSH/JS - Перепаковка MSI при помощи WiMakCab.vbs
|
Старожил Сообщения: 150 |
Есть такой стандартный скрипт WiMakCab.vbs, идущий в комплекте с серверной виндой. С его помощью, кроме всего прочего, можно взять msi-инсталлер + комплект устанавливаемых файлов россыпью и превратить в msi-инсталлер + cab-архив, в который помещается все, что раньше было россыпью. Прежде чем упаковывать, скрипт создает промежуточный ddf-файл, в который помещает список файлов для упаковки. Так вот, для некоторых msi-инсталлеров этот ddf создается некорректно. Он просто теряет часть имен файлов. Как итог, результат становится непригодным для использования.
Я заметил закономерность, какие имена файлов попадают в ddf, а какие нет. Если залезть внутрь msi, то среди таблиц имеется File.idt. В ней каждая строка посвящена одному файлу. Такого типа строки проходят в ddf: SWL_ACAD_EXE LCK_ACAD acad.exe 5913984 30.0.47.0 0 0 3303 _3D_model.dwg._A476F1115068 _3D_model.dwg._A476F1115068 3D_model.dwg 128096 0 15 _ASMBASEA.dll._0EE808D7680D _ASMBASEA.dll._0EE808D7680D kzz8rfng.dll|ASMBASE226A.dll 1307448 226.0.0.65535 0 0 571 TKY2JGD._par.1C7043BC_1407_4BA9_9B01_E0A7AB8D297A TKY2JGD._par.1C7043BC_1407_4BA9_9B01_E0A7AB8D297A ckybkio2._pa|TKY2JGD._par 4707900 8704 3304ReadMe.txt.1C7043BC_1407_4BA9_9B01_E0A7AB8D297A ReadMe.txt.1C7043BC_1407_4BA9_9B01_E0A7AB8D297A ReadMe.txt 4358 8704 3291 RDF_COMP_AecbPartBaseRes.dll.1F1E4850_FEE5_41E5_BFB RDF_COMP_AecbPartBaseRes.dll.1F1E4850_FEE5_41E5_BFB AecbPa~1.dll|AecbPartBaseRes.dll 419200 8.3.51.0 1033 8192 3276 Для тестирования прикладываю сам скрипт и один из msi-инсталлеров, с которым у меня проблемы: https://yadi.sk/d/sqR4R5DXyGEYxQ Остальные установочные файлы не нужны. Чтобы создать ddf-файл запустите команду cscript WiMakCab.vbs acad.msi Data1 |
|
Отправлено: 10:47, 02-04-2020 |
Старожил Сообщения: 150
|
Профиль | Сайт | Отправить PM | Цитировать Iska, не получится. Посмотрел я 7zip-овский msi-инсталлер. Во-первых, там нет файлов россыпью - всё внутри в cab-файле в стриме. Во-вторых, все файлы имеют одинаковый формат. Этот инсталлер не соответствует техзаданию.
Но я придумал вариант с тем небольшим инсталлером, о котором писал выше, с тем, который самостоятельно не запускается, а только в составе пакета. Его оказалось можно запустить самостоятельно в режиме административной установки. Вот комплект, включая скрипт и используемый им упаковщик: https://yadi.sk/d/D9tA55UHyBKF7w 1. Упаковываем файлы россыпью в cab командой cscript WiMakCab.vbs /C /U ACAOE.msi Data1 2. Убираем из папки файлы росыпью, оставляя только ACAOE.msi, Data1.cab, ACAOE_build.xml 3. Запускаем административную установку командой msiexec.exe /a ACAOE.msi У меня установка упирается в отсутствие файла UPICA.dll. По опыту скажу, что если пройти этот файл, то будут еще стопы на Aec32BitAppServer57.exe, Aec32BitAppServer57.tlb, UPI.dll, UpiConfig.xml. Если кинуть этот набор файлов россыпью рядом с ACAOE.msi, то инсталлер их скушает без ругани. С этим инсталлером я обычно так и поступаю. Но вот когда я работаю с acad.msi, там слишком большой объем приходится "выставлять за дверь", что делает всю работу по упаковке бессмысленной. |
Отправлено: 09:18, 05-04-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
7 / 2008 R2 - Перепаковка WinSXS и удаление кеша драйверов при подготовке усановочного диска | Rupinskiy | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 2 | 12-04-2015 23:05 | |
VBS/WSH/JS - Прошу помощи в VBS | Destany | Скриптовые языки администрирования Windows | 3 | 06-06-2013 13:20 | |
2008 R2 - Отказ в доступе к шаре при запуске скрипта при помощи ГП | SANIOK_AV | Windows Server 2008/2008 R2 | 3 | 11-10-2012 20:26 | |
7 / 2008 R2 - [решено] Ошибка при удалении ненужных компонентов при помощи DISM | ruslanhamidov80 | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 4 | 10-10-2011 15:24 | |
VBS/WSH/JS - Помогите редактировать Autorun_Disable.vbs на Autorun_Enable.vbs | nod201 | Скриптовые языки администрирования Windows | 0 | 05-12-2009 05:44 |
|