stix unpacker gui: распаковка дистрибутивов 1С 7.7 на современных версиях Windows

02.10.26

База данных - Инструменты администратора БД

Обновлённый распаковщик дистрибутивов 1С 7.7. Утилита находит многотомные архивы InstallShield 3.x в папках DISK1…DISKn или внутри ZIP, показывает список файлов, проверяет распаковку и извлекает конфигурацию без запуска старого установщика.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
stix unpacker gui: распаковка дистрибутивов 1С 7.7 на современных версиях Windows
.7z 3,51Mb ver:0.1.1
0 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В 2012 году я опубликовал здесь скрипт для автоматической распаковки дистрибутивов конфигураций 1С 7.7 под Windows Vista и Windows 7, включая 64-разрядные версии. Он позволял извлекать файлы из многотомных архивов InstallShield 3.x без запуска старого установщика.

В основе того решения лежала утилита STIX Вайта Каннегизера (Veit Kannegieser), написанная на Virtual Pascal. Существенную помощь с компиляцией её исходников под Win32 оказал andrewks - благодаря ему появилась первая опубликованная версия распаковщика.

В этом году я вернулся к этому проекту по просьбе знакомых и разработал принципиально новую утилиту на C++ (UI) / Rust (Core), без использования каких-либо скриптов, с основным фокусом на удобство пользователя.

Основой модуля декомпрессии стала blast 1.3 Марка Адлера (Mark Adler) - реализация распаковки данных формата PKWARE DCL, опубликованная в каталоге contrib/blast проекта zlib. Для stix-unpacker я адаптировал её на Rust. Формат архивов InstallShield 3.x был восстановлен по исходникам STIX, разбор структуры архивов, поиск и обработка томов реализована отдельно.

Сначала это была небольшая консольная утилита для собственных задач. Позже, в качестве проекта выходного дня, я добавил графический интерфейс и подготовил публичную версию - stix unpacker gui.

Как устроена работа с дистрибутивами

В качестве источника можно выбрать папку с дистрибутивом или ZIP-архив. Утилита поддерживает привычную структуру DISK1, DISK2, …, DISKn, а также размещение всех томов в одной папке.

Один дистрибутив может содержать несколько архивов: например, std и stdonly с файлами конфигурации, demo с демонстрационной базой, а также _setup.lib со служебными файлами установщика. Тома распределяются по папкам носителей: std.1 может находиться в DISK1, std.2 — в DISK2 и так далее.

Программа распознаёт архивы по сигнатурам заголовков, группирует тома, проверяет их последовательность и выводит список файлов с размерами. Выбирать каждый том вручную не требуется.

Для обработки следует указывать папку одного дистрибутива. Если выбрать общий каталог с несколькими дистрибутивами и в нём обнаружатся одноимённые тома разных комплектов, программа сообщит о неоднозначности и остановит обработку.

По умолчанию включён режим Only std* archives (setup mode): извлекаются только архивы, имена которых начинаются со std, в том числе std и stdonly. Их содержимое объединяется в одной выходной папке; варианты имени EXTFORMS приводятся к ExtForms. Чтобы извлечь остальные архивы, например demo, снимите этот флажок. В таком режиме содержимое каждого архива сохраняется в отдельной подпапке.

Проверка и распаковка

После выбора источника доступны две основные операции:

  • Verify - проверка распаковки без сохранения извлечённых файлов. Программа действительно декодирует содержимое архивов и проверяет структуру потоков и размеры данных. Это не проверка по контрольным суммам файлов.
  • Unpack - извлечение файлов в папку, указанную в поле Output folder.

По умолчанию имя выходной папки формируется из имени входной с добавлением суффикса .unp. При необходимости путь можно изменить вручную. Перезапись существующих файлов включается отдельно флажком Overwrite existing files.

Если источником служит ZIP, сначала его содержимое извлекается в соседнюю папку с тем же именем без расширения .zip. Затем программа анализирует находящиеся в ней архивы InstallShield. Этот подготовительный этап записывает файлы на диск ещё до запуска Verify или Unpack.

Например, для actrcc597.1000000k.original.zip используются следующие папки:

  • actrcc597.1000000k.original - содержимое исходного ZIP с томами дистрибутива;
  • actrcc597.1000000k.original.unp - файлы конфигурации, извлечённые из архивов InstallShield.

Реализация и совместимость

Программа проверена в Windows 10 и Windows 11 на множестве дистрибутивов конфигураций 1С 7.7. Она предназначена для архивов InstallShield 3.x; более поздние форматы InstallShield CAB не поддерживаются.

Интерфейс написан на C++ с использованием нативного Windows API и стандартных элементов управления, без сторонних GUI-фреймворков. За распаковку InstallShield отвечает статически подключённая Rust-библиотека stix-unpacker, за обработку ZIP - miniz. Отдельные DLL этих библиотек не требуются. Размер текущей сборки MSVC составляет около 700 КБ.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструменты администратора БД Разработчик 1С:Предприятие 7.7 1C77 Россия Абонемент ($m)

Блокировка открытия формы обработки одним пользователем.

1 стартмани

24.05.2023    3349    igor7777    1    

0

Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)

Простецкий скрипт переименования файлов в папке в нижний регистр, будет полезен программистам и системным администраторам имеющим навыки програмирования в 1С. Можно легко настроить под себя, спасает мне периодически час времени, может, кому еще будет полезен.

1 стартмани

18.02.2022    5899    0    igor7777    6    

2

Инструменты администратора БД Разработчик Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    7610    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    14653    phsin    20    

28

Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    17461    4    devlabnn    2    

6

Инструменты администратора БД Бухгалтер Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    5333    1    Genyak    1    

0

Инструменты администратора БД Системный администратор 1С:Предприятие 7.7 1C77 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    30951    21    tux    3    

1

Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1С:Предприятие 8 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    42531    rudjuk    21    

35
Для отправки сообщения требуется регистрация/авторизация