Предисловие

На практике NCALayer нередко устанавливается «успешно», но без нужных модулей:
ЭЦП не определяется, внешние системы не работают, а повторная установка не помогает.

Разбор конфигураций, Java-параметров и логов — путь рабочий, но не всегда оправданный по времени.
Ниже — способ проще, который не требует вмешательства в конфиги и проверен в реальных средах.

В чём идея

NCALayer — это самораспаковывающийся Java-архив.
Его можно открыть любым архиватором (например, 7-Zip) и добавить нужные JAR-модули напрямую.

NCALayer подхватывает эти модули автоматически при первом запуске.

Где лежат модули

  • Открываем NCALayer.exe через 7-Zip

  • Переходим в каталог: kncabundles

    Это каталог OSGi-бандлов, которые NCALayer загружает при старте.

Как происходит «вшивание»

В каталог kncabundles добавляются нужные .jar-файлы.

Из практики без проблем вшивались:

  • esf-signer.jar

  • Raiting1c_edoBundle.jar

Файлы добавляются напрямую в архив, без распаковки и без изменения структуры.

Критически важный момент — кэш

Если NCALayer уже запускался хотя бы один раз, он сохраняет состояние и список модулей в пользовательском кэше.

В этом случае новые модули из NCALayer.exe проигнорируются.

Что нужно удалить перед запуском

Перед первым запуском модифицированного клиента необходимо очистить кэш:

AppData\Roaming\NCALayer\

Удаляются каталоги:

bundles
ncalayer-cache
jre

После этого запускаем модифицированный NCALayer.exe — модули будут подхвачены корректно.

Почему это работает именно так

NCALayer использует OSGi:

  • при первом запуске бандлы извлекаются из kncabundles;

  • сохраняются в пользовательском кэше;

  • при последующих запусках используется сохранённое состояние.

Поэтому без очистки кэша любые изменения в exe не учитываются.

Ограничения и риски

Целостность файла

После модификации:

  • меняется хэш NCALayer.exe;

  • цифровая подпись становится недействительной.

В средах с AppLocker / SRP это может быть критично.

Источник модулей

Любой .jar из kncabundles будет выполнен в контексте пользователя и участвовать в работе с ЭЦП.

Использовать стоит только проверенные модули из доверенных источников.

Обновления

При обновлении NCALayer файл NCALayer.exe будет перезаписан, и все вшитые модули пропадут.

Практичный вариант — хранить:

  • чистую версию;

  • модифицированную версию;

  • список добавленных модулей.

FAQ

NCALayer не видит модуль
→ Проверьте, очищен ли кэш. В 90% случаев причина именно в этом.

Нужны ли права администратора?
→ Обычно нет, если используются только JAR-модули.

Можно ли добавить несколько модулей сразу?
→ Да, но только до первого запуска.

Можно ли сломать NCALayer?
→ Максимум он не запустится. Всегда можно вернуться к чистому exe.

Где смотреть ошибки?
AppData\Roaming\NCALayer\ncalayer.log

Итог

Это не взлом и не обход защиты, а использование внутренней логики NCALayer.
Метод неофициальный, но в ситуациях, когда штатный установщик не справляется, он оказывается самым быстрым и предсказуемым.