Многие наверное сталкивались с проблемой установки конфигураций для платформы 1С 7.7 под Windows 7 или Windows Vista ... Есть масса способов распаковать дистрибутив конфигурации 7.7 под этими ОС, XP Mode, VMWare с WinXP в ней, "недокументированный" метод с периодическим запуском Центра Управления Сетями и Общим Доступом во время установки конфигурации. Здесь же речь пойдет об автоматизации процесса получения файлов конфигурации из дистрибутивной поставки. Конфигурация представляет собой несколько папок вида DISKx ... инсталлятор создан древней версией InstallShield, если быть точным это InstallShield 3.x ... Существует несколько консольных утилит, для распаковки разных версий InstallShield, некоторая часть из них прикреплена к этому сообщению. Для распаковки IS 3.x используется утилита под названием InstallShield File Compressor Version 3.00.062 for Microsoft Windows 95, однако она не поддерживает многотомные IS 3.x архивы, а конфигурации 1С под 7.7, как раз используют несколько томов. Видели файлы вида std.1, std.2, std.3 и т.п. в дистрибутиве конфигурации? Это как раз и есть тома. Существует другая утилита STIX * decompressor for "The Stirling Compressor" / installSHIELD 3.x, которая поддерживает многотомность, но она запускается только с DOS Extender'ом. Скрипт прикрепленный к данной статье использует STIX и позволяет распаковать файлы из любой конфигурации 7.7 за 1 клик.
Порядок действий следующий - помещаем папки DISKx и файлы скрипта в одну папку, т.е. так как показано на картинке:
После чего запускаем extract_1c.cmd. Когда скрипт отработает автоматически создастся папка UNP, где и будет распакованная конфигурация.
История изменений (с момента первой публикации)
- Благодаря andrewks была собрана нативная Win32 версия Stix. Это позволило избавиться от dos extender'а, а также сделало распаковщик работоспособным на x64 платформах. Плюс, за счет перехода к нативной версии, исчезла "проблема" с регистром символов в именах файлов.
- Исправлена ошибка с определением следующего имени файла в многотомных IS 3.x (InstallShield 3.x) архивах. Ранее при наличии 9-ти томов, 10-й не открывался - т.е. например в последовательности std.8, std.9, std.10, std.11 ... stix не мог найти следующий за 9-ым том. Ошибка исправлена andrewks.
- Исправлена ошибка с путями распаковки (автор исправления опять жеandrewks). Ранее stix мог поместить файл, находящийся в дистрибутиве в одной папке совершенно в другую.
- Немного подправлен скрипт, чтобы распаковывались все архивы входящие в стандартную поставку (demo базы, например школа и т.п. в ЗиК не распаковываются, извлекается только стандартная конфигурация. Все остальное, при необходимости вы можете распаковать самостоятельно используя stix_w32
Как вы уже поняли в последней версии dos extender отсутствует, поэтому вместо трех файлов в папку содержащую дистрибутивные диски (папки DISKx) копируются всего два файла: extract_1c.cmd и stix_w32.exe