Как создать SFX архив с NVDA AutoSetup и собственными пользовательскими настройками
⬇
Инструкция для тех кто желает собрать NVDA AutoSetup с собственными пользовательскими настройками: Дополнениями, синтезаторами речи и иными компонентами и изменениями.
Такая сборка может ускорить настройку NVDA, если вам пришлось удалить рабочую NVDA со своего ПК, но вы не успели сохранить папку с пользовательскими настройками.
Также, можно быстро перенести точно такую же версию на любой другой ПК. В общем применять это можно по разному.
Упаковка будет происходить в обычный SFX архив при помощи архиватора WinRar. Опытные пользователи ПК, могут собрать подобный архив при помощи других архиваторов или утилит.
⚠⤵
Реквизиты для донатов
В качестве благодарности или мотиватора, вы можете отправить любую сумму разработчику сайта, администратору и модератору.
Если пожелаете, то также можете отправить любую сумму на развитие сайта (реквизиты эти же самые, только сделайте в этом случае соответствующий комментарий).
Благодарю всех кто не прошел мимо!
И помните, что все, кто читал эту строчку, думали, что автора )администратора) кто-то обязательно поддержит, но это буду не я.
Посмотреть отчёт о поступивших донатах
(Ниже, самые удобные реквизиты, а в вверхней части сайта под кнопкой Donate можно найти другие варианты).
- Карта Visa (Sberbank):
- Кошелёк YooMoney
QR-код на странице Сбербанка
4274320030798774
410011051505223
Перейти на мою визитку YooMoney
1. Подготавливаем файл nvdasetup.exe
nvdaSetup.exe это обычный инстолятор NVDA.
Скачиваем последнюю стабильную версию NVDA или любую другую версию, например здесь:
https://nvda.ru/download
или в архиве стабильных релизов «NV Access»
https://www.nvaccess.org/category/news/releases/
Например, скаченный файл, имеет имя:
- nvda_2022.1.exe
изменяем на
- nvdaSetup.exe
Это делаем для того, чтобы не вносить изменения в файле «Start. bat», о котором информация ниже.
Полученный файл, помещаем в папку «NVDA-AutoSetup-template».
Архив этой папки со всеми необходимыми файлами, можно скачать ниже в статье.
2. О создании SFX архивов
Последовательность шагов, которые потребуются нам для выполнения поставленной задачи.
Всё что не указанно, пропускаем или оставляем по умолчанию.
Открываем:
- Контекстное меню
- WinRAR подменю
- Добавить в архив…
- Общие вкладка выделено
- Создать самораспаковывающийся архив флажок отмечено
- Дополнительно вкладка выделено
- Параметры SFX. кнопка
- Общие вкладка выделено
- Путь для распаковки редактор
- Установка вкладка выделено
- Выполнить после распаковки: редактор многострочный пусто
- Режимы вкладка выделено
- Скрыть всё радиокнопка отмечено
- Обновление вкладка выделено
- Извлечь и заменить файлы радиокнопка отмечено
- Перезаписывать все файлы без запроса радиокнопка отмечено
- ОК кнопка
- ОК кнопка
Внимание! При создании архива Settings.exe эту вкладку пропускаем, она будет необходима только при создании основного архива.
3. Подготавливаем файл SETTINGS.exe
это обычный SFX архив, внутри которого находится пользовательская папка «nvda» со всеми настройками, дополнениями и синтезаторами.
Пользовательские настройки в установленной NVDA расположены по пути:
- «C:\Users\Admin\AppData\Roaming\nvda»
или можно выполнить команду»
- %APPDATE%
через пункт выполнить, чтобы быстро дойти до папки «nvda».
Кроме этого, в папку пользовательских настроек можно попасть через интерфейс Windows:
- Меню «Пуск» (Windows)
- Программы подменю
- NVDA подменю
- Просмотреть папку пользовательских настроек NVDA
Попав во внутрь папки «nvda», просто вернитесь на уровень выше.
При создании архива, в параметрах SFX, необходимо указать, путь для распаковки:
%APPDATA%\
(Обратите внимание на то, что переменная обрамляется символами процента, и после неё стоит символ обратного слеша).
Все шаги, смотрите в пункте 2.
Такая универсальная системная переменная, будет равна пути:
- «C:\Users\Admin\AppData\Roaming\»
- «D:\Users\superman\AppData\Roaming\»
или
то есть, извлечение будет происходить на системный диск, там где установлена система, не зависимо от буквы локального диска.
Также, имя пользователя, будет взято из системных данных, не зависимо какой указан UserName.
Можно также использовать путь извлечения с конкретным локальным диском и переменной в качестве UserName:
C:\Users\%username%\AppData\Roaming\
Но в этом случае, невозможно будет использовать подобные архивы, если система установлена на другой локальный диск.
После запаковки, мы получим архив «nvda.exe», потому что запаковывали папку «nvda», изменяем имя архива на:
- SETTINGS. exe
Полученный файл, также как и первый файл, помещаем в папку «NVDA-AutoSetup-template».
Архив этой папки со всеми необходимыми файлами, можно скачать ниже в статье.
4. Создаём основной SFX архив со всеми файлами с извлечением в temp.
В папку с произвольным названием, например «NVDA-AutoSetup-template» )Эту папку можно назвать по другому или после архивации изменить название, но ммы будем использовать именно это имя которое совпадает с архивом, где расположены следующие файлы):
- Kill.exe
- list.txt
- nvdasetup.exe
- Play.exe
- Play.wav
- SETTINGS.exe
- start.bat
Все эти файлы, кроме Settings.exe, можно скачать ниже в архиве «NVDA-AutoSetup-template.zip».
Перед запуском создания архива, выделяем все эти файлы.
В параметрах SFX, необходимо указать путь для распаковки к временной папки «temp», для извлечения, ниже два примера.
Можно использовать универсальный путь с системной переменной:
%TEMP%\nvda
или путь с определенной буквой локального диска, но с системной переменной пользовательской папки:
C:\Users\%username%\AppData\Local\Temp\nvda
В конце пути, у нас указана будущая папка «NVDA», которая создастся в папке «Temp». В завершении установки, папка «NVDA» со всем содержимым будет удалена.
Кроме этого, в параметрах SFX указываем, что необходимо Выполнить после распаковки, файл «start.bat» который будет запущен на выполнение сразу после извлечения содержимого архива «Settings.exe» в папку «temp».
В редактор, Выполнить после распаковки, просто вписываем «start.bat».
В файле «Start.bat», указаны команды, которые будут последовательно выполняться, запуская в нужном порядке файлы из списка выше.
Все шаги, смотрите в пункте 2.
5. Примечание
Собирать NVDA AutoStart со своими пользовательскими настройками, лучше всего из установочной версии.
Это чтобы не было ошибки «NVDA remote helper», при входе в систему.
Конечно же делать можете как вам захочется и вполне возможно на вашем ПК подобной ошибки не будет.
6. Загрузить шаблон NVDA-AutoSetup-template
Представленный шаблон имеет комплект необходимых файлов, при помощи которых вы сможете собрать собственную сборку автоустановочной NVDA с собственными пользовательскими настройками.
Загрузить NVDA-AutoSetup-template.zip
В архиве находится файл nvdaSetup.exe — это NVDA 2021.3.1, при необходимости замените на нужную вам версию.
В папке отсутствует файл SETTINGS.exe, не забудьте этот архив собрать самостоятельно и положить в папку пперед архивацией основного архива SFX.
Внимание! Если вам сложно запомнить имена файлов «SETTINGS.exe» и «nvdaSetup.exe», в именах которых присутствуют заглавные буквы, то вы можете сделать так.
- Файл nvdaSetup.exe — переименовать в 1.exe
- Файл SETTINGS.exe — переименовать в 2.exe
- В файле start.bat, найти эти два файла и заменить также, на 1.exe и 2.exe
Открыть start.bat, можно простым текстовым редактором: блокнот, AkelPad, NotePad.
Перед этим, измените расширение файлу, с .bat на .txt.
После изменения имен файлов, верните расширение обратно на .bat.
7. Содержимое файла Start.bat
На всякий случай, ниже представлены все команды из файла Start. bat с комментариями.
:: Принудительно завершает процессы скринридеров start Kill.exe :: Команды с паузами для выполнения, далее будут ещё несколько пауз TIMEOUT /T 2 :: Удаление пользовательской папки nvda, если такая осталась от предыдущей установки RMDIR /s/q C:\Users\%username%\AppData\Roaming\nvda TIMEOUT /T 3 :: Установка стационарной NVDA в скрытом режиме start /wait nvdaSetup.exe --install-silent TIMEOUT /T 2 :: Звуковой сигнал после завершения установки start Play.exe :: Извлечение пользовательской папки NVDA с аддонами, синтезаторами и прочими настройками start /wait SETTINGS.exe start Play.exe TIMEOUT /T 3 :: Запуск установленной NVDA start nvda.exe TIMEOUT /T 3 :: Удаление временной папки NVDA из временной Temp RMDIR /s/q C:\Users\%username%\AppData\Local\Temp\nvda
Источники
Для инструкции был взят образец архива с NVDA AutoSetup от проекта «Тифло жизнь».
Раздел с NVDA на Tiflo Life
Архив с NVDA AutoSetup был изучен, и на его основе написана представленная инструкция.
Просьба администратораЛичные просьбы по работе сайта или облачных хранилищ, невозможности скачать предложенный файл отправляйте через
- форму обратной связи или через раздел
- обсуждений в сообществе VK, а не через форму для комментариев.
Вышла NVDA версии 2021.3.3 с исправлениями проблем безопасности
Новое дополнение Sounds splitter 22.0
МеткиАвтоустоновочная NVDA с своими настройкамиКак создать NVDA AutoSetupКак создать SFX архивСамораспаковывающийся архив SFX в WinRar
Ещё может быть для вас интересным
Как создать самораспаковывающийся 7Z архив
Для создания создания самораспаковывающегося 7Z архива доступны следующие модули:
7Z SFX (7z.sfx)
При выборе данного модуля создается минималистическое 32-битное приложение с графическим интерфейсом на английском языке. При его запуске появляется следующее окно:
Директорию, в которую будет произведено извлечение упакованных файлов, можно указать вручную в поле ввода Extract to или выбрать ее нажатием на кнопку с многоточием слева от поля ввода. Если выбранной директории не существует, то она будет создана автоматически. Нажатие на кнопку Extract начнет извлечение содержимого архива, а нажатие на кнопку Cancel приведет к закрытию приложения. После начала извлечения окно сменится на окно прогресса:
Кнопка Background переключает приоритет процесса извлечения на фоновый с уменьшенным потреблением ресурсов компьютера. Кнопка Pause приостанавливает процесс извлечения, а кнопка Cancel отменяет его. После извлечения всех файлов приложение автоматически закроется.
7Z Console SFX (7zCon.sfx)
При выборе данного модуля создается 32-битное консольное приложение. После его запуска сразу же начинается процесс извлечения содержимого архива в папку, в которой расположен сам SFX-архив.
Работу приложения можно скорректировать следующими параметрами командной строки:
Команды
- t: тестировать целостность архива (от анг. Test)
- x: извлекать файлы с полными путями (от анг. eXtract), данная опция является опцией по умолчанию
Переключатели
- -o{Directory}: установить директорию для извлечения упакованных файлов (от анг. Output)
- -p{Password}: указать пароль (от анг. Password)
- -y: отвечать Да на все запросы (от анг. Yes)
Сторонние модули
Существуют модули, разработанные независимыми разработчиками. Их также можно использовать для создания самораспаковывающихся архивов. Для этого нужно скопировать дополнительные модули (файлы с расширением SFX) в папку 7zip, которая расположена в папке, в которую был установлен TC4Shell (по умолчанию это папка %ProgramFiles%\TC4Shell).
Важно! Папка %ProgramFiles%\TC4Shell\7zip может быть защищена от модификации и вам понадобятся права Администратора для копирования файлов в нее.
После копирования TC4Shell автоматически найдет дополнительные модули и добавит их в список доступных модулей.
Некоторые сторонние модули поддерживают настройку конфигурации создаваемого самораспаковывающегося архива. Конфигурация может определять, например, заголовок окна приложения, или позволит отобразить текст лицензионного соглашения. Для изменения конфигурации нужно нажать на кнопку Настройки модуля. Появится окно, в котором можно задать местоположение файла конфигурации.
Местоположение файла конфигурации можно задать одной из опций:
- Не добавлять конфигурацию создает самораспаковывающийся архив без данных конфигурации
- Include configuration from file добавляет в самораспаковывающийся архив выбранный файл конфигурации
- Include configuration from input field добавляет в самораспаковывающийся архив введенные в соответствующее поле ввода текстовые данные в выбранной кодировке.
Важно! Формат данных конфигурации зависит от используемого модуля.
Создание самораспаковывающегося архива в Linux
Самораспаковывающийся архив (SFX) удобен, когда вам нужно скопировать файлы на другой компьютер, на котором, возможно, еще не установлено программное обеспечение архивации. Например, многие драйверы Windows устанавливаются с помощью SFX.
В Windows мы можем создать SFX, используя программное обеспечение для архивирования с графическим интерфейсом, такое как 7-Zip и WinRAR. Просто щелкните правой кнопкой мыши выбранные файлы и выберите Добавить в архив… , затем отметьте Создать SFX-архив . Если вы хотите зашифровать файлы, вы можете установить пароль. Если вы также хотите зашифровать имена файлов, отметьте Шифровать имена файлов . Таким образом создается SFX с защитой паролем как данных, так и заголовка.
Создать SFX (как бинарный файл Linux) в Linux
Но как мы можем создать SFX в Linux с помощью командной строки?
Это оказывается возможным с помощью программы 7z
(из пакета p7zip
) с использованием
опция -sfx
. Например, чтобы создать SFX data.exe
для каталога data
:
7z a -sfx data.exe data
Вы также можете зашифровать как данные, так и заголовок в SFX с опцией -mhe=на
. Например, для создания SFX data.exe
с паролем 123456
для данных каталога
:
7z a -mhe=on -p123456 -sfx данные data.exe
Если вы не хотите писать пароль открытым текстом, вы можете использовать только -p
и
он запросит у вас пароль:
7z a -mhe=on -p -sfx data.exe data
Создать SFX (как двоичный файл Windows) в Linux
Но вы, возможно, заметили, что созданный SFX является двоичным файлом Linux, а не Windows двоичный файл:
# файл data.exe data.exe: исполняемый файл ELF 64-bit LSB, x86-64,...
Так что это не будет работать в системах Windows. Чтобы понять это, обратите внимание, что SFX
составлен из исполняемой части (заглушки) и неисполняемой части (архива). К
визуализировать это, мы даем простой пример создания SFX с форматом ZIP
используя cat
:
cat "$(который unzipsfx)" foo.zip > foo.exe
Здесь заглушка unzipsfx
происходит из пакета unzip
, который вы можете найти на большинстве
дистрибутивы линукс. Как видите, создать SFX можно так же просто, как кот
заглушка
и архив.
Теперь должно быть легче понять, почему data.exe
является двоичным файлом Linux: потому что
он создается с помощью заглушки Linux. Если вы копируете файлы на компьютер с Windows,
вам нужно сгенерировать SFX, используя заглушку Windows. Это еще возможно с -sfx
вариант. На самом деле 9Опция 0017 -sfx позволяет указать SFX-модуль
в сгенерированном архиве в формате -sfx[{SFX_Module}]
. Теперь нам нужно найти
правильный модуль Windows SFX.
Модуль Windows SFX присутствует в программе установки 7-Zip:
Для 32-разрядной системы Windows: https://www. 7-zip.org/a/7z1805.exe
Для 64-разрядной системы Windows: https://www.7-zip.org/a/7z1805-x64.exe
Например, 64-битная программа. Эта программа на самом деле является звуковым эффектом. Так мы можем извлечь из него файлы, даже если мы в Linux:
7z x 7z1805-x64.exe
В извлеченных файлах есть файл с именем 7z.sfx
. Это то, что мы используем в качестве
модуль SFX в опции командной строки. Скопируйте этот файл в каталог, где
будет запущена команда, и выполните команду:
7z a -mhe=on -p -sfx7z.sfx data.exe data
Сгенерированный звуковой эффект должен работать в системе Windows.
-sfx (Создать SFX-архив) переключатель
-sfx (Создать SFX-архив) переключательСоздает самораспаковывающийся архив.
Синтаксис
-sfx[{SFX_Module}]
- {SFX_Module}
Указывает модуль SFX, который будет объединен с архивом. Этот модуль должен находиться в той же директории, что и 7z. exe. Если {SFX_Module} не назначен, 7-Zip будет использовать стандартную консоль. SFX-модуль 7zCon.sfx.
SFX_Module Описание 7z.sfx Версия для Windows. 7zCon.sfx Консольная версия. 7zS.sfx Версия Windows для установщиков. 7zSD.sfx Версия Windows для установщиков (использует MSVCRT.dll).
Модуль SFX может распаковывать архив 7z или многотомный архив 7z. Например, если у вас есть архив name.7z или name.7z.001, просто переименуйте sfx muldule в name.exe и поместите в ту же папку с архивом.
Модули SFX для монтажников
Модули SFX для инсталляторов включены во внешний пакет (7z_extra). Вы можете скачать эти модули с www.7-zip.org. Модули SFX для установщиков (7zS.sfx и 7zSD.sfx) позволяет создать собственную программу установки. Такой модуль извлекает архив во временную папку пользователя и запускает указанную программу, и удаляет временные файлы после завершения программы. Самораспаковывающийся архив для установщиков должен быть создан путем объединения следующих файлов: SFX_Module, Installer_Config (необязательно), 7z_Archive. Вы можете использовать следующую команду для создания самораспаковывающегося архива установщика:
копировать /b 7zS.sfx + config.txt + archive.7z archive.exe
Можно достичь оптимально небольшого размера установочного пакета, если установочные файлы были распакованы перед включением их в архив 7z.
Переключатель -y для модуля установки задает извлечение в тихом режиме.
Формат файла конфигурации установщика
Этот файл конфигурации содержит команды для установщика. Файл начинается со строки ;!@Install@!UTF-8! и заканчивается на ;!@InstallEnd@! . Файл должен быть записан в кодировке UTF-8. Файл содержит любую или все эти пары строк:
ID_STRING = «Значение»
ID_STRING | Описание |
---|---|
Заголовок | . нет». Значение по умолчанию — «да».|
RunProgram | Команда для выполнения. Значение по умолчанию — «setup.exe». Подстрока %%Т будет заменен на путь к временной папке, в которую были извлечены файлы |
Каталог | Префикс каталога для «RunProgram». Значение по умолчанию: «.\\» |
ExecuteFile | Имя файла для выполнения |
ExecuteParameters | Параметры для «ExecuteFile» |