Создание портативной программы air explorer в nsis

Обновлено: 05.07.2024

У каждого, чья работа связана с контентом, есть собственный набор излюбленных программ для решения разнообразных задач, будь то создание презентаций, обработка фото или сведение звука. Чтобы нужный софт оставался всегда под рукой, можно приобрести компактный планшет, мощности которого, увы, хватит отнюдь не для всех задач, обзавестись мощным, но громоздким ноутбуком либо же загрузить portable-приложения на флешку, получив возможность работать в привычной среде за любым доступным ПК. Если же разработчики не озаботились созданием портативной версии нужной программы, то. остается действовать самостоятельно.

Создаем portable-версию программы с помощью Cameyo

Из всего многообразия инструментов для создания portable-приложений наиболее интересным можно назвать Cameyo Free Packager. Главной фишкой данного продукта является полная автоматизация: после запуска приложение самостоятельно отслеживает состояние операционной системы, «запоминая», какие именно файлы, папки и ключи реестра изменялись в ходе установки программы, и формирует portable-контейнер на основе собранных сведений. Таким образом, вам вообще не нужно понимать, как работает та или иная утилита, — Cameyo разберется в этом без вашего участия. Давайте научимся ею пользоваться.

1. Скачайте программу, portable-версию которой хотите создать.

2. Загрузите Cameyo на свой ПК с официального сайта .

3. Запустите утилиту двойным щелчком мыши по исполняемому файлу. Cameyo сама по себе является portable-программой и не требует установки. В появившемся окне выберите пункт «Capture an Installation» и нажмите на «Ок».

Ранее Cameyo Player позволял загружать готовые portable-программы из облачного сервиса разработчиков. С 31 декабря 2019 года поддержка сетевых функций прекращена, поскольку этот модуль был включен в состав коммерческих продуктов компании.

4. Приложение сделает снимок текущего состояния операционной системы, о чем уведомит во всплывающем окне. Дождитесь окончания процедуры.

5. Когдасоздание снэпшота будет завершено, над системным треем появится панель управления Cameyo, где будет мигать красный огонек (сигнализирует о том, что ведется мониторинг операционной системы). Теперь можно приступать к установке нужного приложения.

6. Установите на ПК программу, portable-версию которой желаете создать. Для чистоты эксперимента мы выбрали Skype.

7. После окончания установки кликните по кнопке «Install done».

8. Cameyo сделает новый снимок состояния операционной системы для сравнения с исходным.

9. Сразу после этого начнется формирование контейнера portable-программы. Дождитесь окончания процесса.

10. Cameyo уведомит о завершении создания исполняемого файла во всплывающем окне. Портативные версии приложений по умолчанию сохраняются в папке C:\Пользователи\%Имя_пользователя%\Документы\Cameyo apps.

11. В указанной папке появится файл под названием «имя_приложения.cameyo.exe» — это и есть наша portable-программа. Проверим, как она работает.

Тонкая настройка portable-программ в Cameyo

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

1. Запустите утилиту, выберите пункт «Edit a package» и нажмите «Ok».

2. Кликните по «Open existing virtual app».

Все когда-либо редактированные вами контейнеры будут отображаться в блоке «Recently edited». В дальнейшем для доступа к ним будет достаточно кликнуть по соответствующей иконке.

3. Выберите portable-приложение, которое хотите изменить, и нажмите на кнопку «Открыть».

4. Cameyo начнет распаковку контейнера. Процесс может занять довольно длительное время: его скорость зависит от размера программы и производительности вашего ПК.

5. Откроется окно редактора. Пройдемся по вкладкам и основным опциям.

Вкладка General

  • Virtualization — здесь можно выбрать метод виртуализации.

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

RAM mode — содержимое контейнера остается в оперативной памяти, что позволяет существенно ускорить быстродействие приложения.

  • Startup — позволяет указать дополнительные параметры запуска.

Specific command — сюда можно вписать фиксированный параметр запуска, если такая возможность поддерживается приложением.

Display menu to choose from — позволяет добавить несколько параметров, которые затем можно будет выбирать в стартовом меню при каждом запуске программы.

  • Data Storage — здесь можно выбрать директории, в которых будут сохраняться служебные данные (например, файлы настроек).

Default — используются пути, заданные в приложении по умолчанию (однако с учетом текущего расположения исполняемого файла).

Under the executable’s directory — вся информация будет сохраняться в каталоге исполняемого файла. Рекомендуем выбрать именно этот пункт: так вы сможете быть уверены в том, что все настройки, логи, временные файлы и другие данные останутся на флешке с портативным приложением.

Custom location — здесь можно указать собственную директорию, задав относительный или абсолютный путь.

  • Extras — здесь можно изменить иконку, название и версию программы.

Вкладка Files

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

Вкладка Registry

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

Вкладка Advanced

  • Integration — выбор метода интеграции с хост-системой.

No integration — интеграция отсутствует (выставлено по умолчанию), подходит для большинства приложений и обеспечивает высокий уровень приватности.

Recreate shortcuts and associations — ассоциации файлов и пути каждый раз будут пересоздаваться заново.

Virtual Integration — программа сможет взаимодействовать со стандартным проводником Windows через виртуальную прослойку.

  • Remove traces upon app exit — выбираем метод удаления служебных файлов после закрытия приложения.

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

Leave no registry traces — автоматическое удаление ключей реестра при закрытии (их резервная копия будет сохранена в виде отдельного файла внутри контейнера).

Remove all virtual data upon exit — при закрытии программы удаляются все созданные файлы (такой подход обеспечивает максимальный уровень приватности, однако все настройки и пользовательские данные будут утрачены).

Exclude child process from virtualization — ориентировано на продвинутых пользователей, позволяет исключить из контейнера лишние процессы, которые не нужны для функционирования приложения, и повысить его производительность.

Save package as .DAT — данные и библиотеки сохраняются в отдельном от исполняемого файла контейнере (рекомендуется для программ размером от 2 гигабайт).

Volatile virtual registry — использование динамического виртуального реестра, рекомендуется оставить включенным.

Вкладка Security

  • Encrypt application data — позволяет активировать шифрование файлов, входящих в состав portable-программы.

Ask user to create password on first use — при первом запуске программа попросит установить пароль, который затем будет запрашиваться каждый раз, когда кто-либо попытается воспользоваться софтом.

Encrypt with this password — вы можете заранее установить пароль средствами редактора.

Encrypt with key — активация шифрования по заданному ключу (может быть сгенерирован автоматически по клику на «Generate»).

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

В нашем случае изменения вступят в силу практически мгновенно, однако сохранение других настроек (например, параметров виртуализации) может занимать продолжительное время, так как в этом случае контейнер будет полностью пересобран. Об окончании процедуры вас уведомит всплывающее окно. Нажмите «Ок», чтобы закрыть редактор.

Проверим, как все функционирует. После запуска автономная версия Skype попросит указать пароль.

Вводим кодовую фразу, подтверждаем выбор и запускаем программу заново. Отлично, все работает.

Выбираем флешку для portable-программ

Итак, вы научились создавать portable-программы и теперь способны сделать портативным практически любое приложение. Дело за малым: осталось выбрать подходящую флешку, на которой вы и будете хранить ваш арсенал. Чтобы упростить эту задачу, мы провели небольшое исследование, сравнив размеры классических и portable-версий популярных приложений. Наиболее показательные результаты представлены в таблице ниже.

Portable-версия браузера Firefox оказывается на 15% меньше установочной папки, а медиаплеера VLC — на 30%. Chrome в размерах почти не изменился, зато пакет офисных программ OpenOffice «потолстел» на 25%, а Skype — на все 40%. Как мы видим, Cameyo умеет неплохо сжимать файлы, но, если приложение использует тяжеловесный фреймворк вроде Electron JS, контейнер все равно получится заметно больше.

Поскольку размеры portable-программ превышают объем установочной папки не более чем на 40% (в нашей выборке Skype оказался рекордсменом), а многие утилиты занимают даже меньше места, можно сделать вывод о том, что нам будет вполне достаточно 128/256 ГБ (стандартный объем системного SSD для рабочего ПК). А вот с производительностью все не так однозначно.

Как работает программа? При запуске компьютер загружает в оперативную память исполняемый файл и необходимые компоненты приложения. Причем отнюдь не все и сразу: например, если вы создаете текстовый документ в OpenOffice, то загружается только один из 6 модулей (грубо говоря, ⅙ пакета). В случае с portable-приложением все происходит иначе. Неважно, какие именно ассеты нужны в настоящий момент: в оперативную память компьютера контейнер будет загружаться целиком, ведь он по сути представляет собой небольшую виртуальную машину, внутри которой и функционирует программа.

Если вы собираетесь работать в общественных местах (в офисе, в интернет-кафе и т. д.), этот процесс никак не удастся оптимизировать: чтобы не оставлять на ПК конфиденциальные данные, вам придется выставить строгие настройки виртуализации. С учетом немалых объемов пакета нам понадобится накопитель, сопоставимый по быстродействию с SATA SSD, иначе придется мириться с тормозами и долгими загрузками, продолжительность которых может достигать нескольких минут.

И здесь не помогут даже топовые USB-накопители: например, SanDisk Ultra Fit (одна из самых быстрых флешек, доступных на современном рынке) демонстрирует максимальную скорость передачи данных 130 МБ/с. Этого с лихвой хватит даже для воспроизведения 4K-видео, но для наших задач будет недостаточно. Куда интереснее выглядит SanDisk Extreme PRO.

По сути, перед нами уже не просто флешка, а полноценный SSD в компактном корпусе, производительность которого сопоставима с внутренними твердотельными накопителями. Ниже приводим сравнение скоростных характеристик SanDisk Extreme PRO и WD Blue 3D NAND SATA SSD.

Как видно, детище SanDisk ненамного уступает внутреннему SSD, а значит, вы не будете испытывать дискомфорт во время работы с portable-приложениями: при такой производительности даже для полной выгрузки контейнера с OpenOffice в оперативную памяти понадобится не более 1 секунды.

SanDisk Extreme PRO представлен в двух вариантах — на 128 и 256 гигабайт. Корпус устройства имеет раздвижную конструкцию и выполнен из анодированного алюминия, что придает ему стильный внешний вид и обеспечивает надежную защиту электронных компонентов.

Для подключения к ПК или ноутбуку USB-накопитель использует высокоскоростной интерфейс USB 3.1 Gen 1, пропускная способность которого составляет 10 Гбит/с (1 280 МБ/с), что позволяет добиться максимального уровня производительности и в то же время обеспечивает поддержку широкого спектра разнообразных устройств за счет обратной совместимости с портами USB 3.0 и 2.0.

Традиционно SanDisk предлагает набор бесплатных утилит для своих продуктов, и рассматриваемый нами USB SSD не является исключением. В комплекте с накопителем поставляются две полезные программы. Первая, RescuePRO Deluxe, предназначена для восстановления удаленных файлов. Вторая же, SanDisk SecureAccess, позволяет дополнительно защитить сохраненные данные с помощью криптографического алгоритма AES-128. О высокой надежности этого стандарта говорит уже то, что в правительственных структурах США он применяется для шифрования документов, составляющих государственную тайну.

Если Cameyo позволяет ограничить доступ к самим программам, то SecureAccess поможет защитить файлы, с которыми вы работаете (например, служебные документы или личные фотографии). А это значит, что вы сможете без опаски брать USB-накопитель с собой куда угодно и даже использовать совместно с друзьями и коллегами: кому бы вы ни доверили устройство, можете быть абсолютно уверены в сохранности конфиденциальных данных. Все перечисленное делает SanDisk Extreme PRO практически идеальным накопителем для portable-приложений.

Статьи на компьтерные темы: Как самому сделать СНПЧ, Как сделать портейбл программу, Как собрать простой ламповый усилитель, Как работать в Windows 7 и др.

вторник, 20 октября 2009 г.

Как сделать портейбл программу используя NSIS

Статья находится с стадии написания

Статья находится с стадии написания

Для создания портейбл программы вам понадобятся следующие программы.

Я делаю портативные программы с помощью NSIS (Nullsoft Scriptable Install
System). Это программа для создания инсталяторов и очень проста в использовании.
Вам также понадобится реестр плагинов для НСИ. Он поставляется с установкой
поэтому она проста в установке. Существует крошечные Reg2NSIS программное
обеспечение под названием, которое может преобразовать. Р-файлов NSIS скриптов.
Он часто делает написание скриптов легче.

Это программное обеспечение позволяет легко контроль установок, включая
мониторинг реестра и файловой системе изменений. После процесс мониторинга
изменений реестра могут быть экспортированы.

Для реестра рабоTotal Uninstall я могу рекомендовать вам использовать реестр семинара. Мне он
нравится потому что это делает реестре поиск и легкой настройки. Она имеет
приятный Отмена-Повтор особенность, которая часто идет под рукой.

Для извлечения иконок из первоначальной заявки очень легко с бесплатная утилита
называется иконки из файлов. Она проста в использовании и делает то, что ее
название.

Вам понадобится текстовый редактор для создания сценария NSIS. Встроенная в
Windows Блокнота будет делать, но я рекомендую вам использовать SciTE. Это
маленький, но мощный и, более того, это также портативный.

Universal Extractor программное обеспечение позволяет извлекать файлы установки.
Это может прийти удобной, потому что вы можете устранить процесс
установки, и, следовательно, никаких изменений сделано в системе перед первым
запуском. Однако, это недостаток, что вы должны узнать, где же она сохранить
свои настройки (в реестре или в других файлах).

Regmon это утилита мониторинга реестра, которая покажет вам, какие приложения
досTotal Uninstallпом к реестру, который они являются ключами досTotal Uninstallпа и данные реестра,
что они читать и писать - все это в режиме реального времени. Это полезно, когда
вы хотите узнать, какие ключи реестра, программа использует, где это
хранить регистрационные данные и т.д.

FileMon отслеживает и отображает файловую систему деятельности в системе в
режиме реального времени. Вы можете использовать его, если вы хотите
контролировать вашей файловой системы (какие файлы были досTotal Uninstallп, создавать,
удалять и т.д.).

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

Давайте создадим портейбл программу, которая будет делать следующее:

Шаг 1
Делает резервную копию настроек программы, которые она создает в реестре (если таковые имеются)

Шаг 2
Делает резервную копию настроек программы, которые она создает в файлах вне директории программы (если таковые имеются)

Шаг 3
Импортирует настройки программы в реестр

Шаг 4
Импортирует имя пользователя и серийный номер в реестр

Шаг 5
Изменяет пути к программе в реестре

Шаг 6
Запускает программу и ожидает когда она закроется

Шаг 7
Сохраняет (экспортирует) настройки программы из реестра

Шаг 8
Очищает систему от следов оставленных программой во время ее работы

Шаг 9
Восстановливает исходные настройки реестра, сохраненные в шаге 1

Шаг 10
Восстанавливает другие файлы настроек (см. п. 2)

Конечно, это лишь общая схема. Иногда вам нужно только 3 или 5 шагов; все зависит от типа программы.

Давайте для начала сделаем портабельной программу My Notes Keeper 1.7.0.771.

Эта программа является коммерческим программным обеспечением и может быть активирована серийным номером.

Информация о программном обеспечении со своего веб-сайта:

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

Во-первых, мы должны изучить, какие файлы будут скопированы и какие разделы реестра создаются в процессе установки программы. Для этого нам понадобится Total Uninstall.

Запустите Total Uninstall и нажмите на первую иконку в верхнем левом углу (Install). В появившемся окне нажмите кнопку "Browse. " и выберите файл установки My Notes Keeper "mnk.exe" (вы найдете его в "Install\My.Notes.Keeper.v1.7.0.771" каталоге). Вы также можете перетащить этот файл в окно Install Total Uninstall.

Когда вы закончите, нажмите на кнопку "Далее" в Total Uninstall. Сейчас Total Uninstall анализирует состояние системы, чтобы после установки прогаммы My Notes Keeper найти те изменения в системе, которые были сделаны во время процесса установки.

Когда система проверки закончит рабоTotal Uninstall, нажмите на кнопку Next. Убедитесьт в том, что в настройках выбрана опция "Launch setup application now". Сейчас Total Uninstall запускает файл установки mnk.exe. Следуйте инструкции и установите My Notes Keeper. Не закрывайте Total Uninstall в процессе установки.

Когда процесс установки закончится нажмите на кнопку "Finish", после этого запустится программа My Notes Keeper. Зайдите в меню Help-Enter Serial Number. Используйте кейген из "Install\My.Notes.Keeper.v1.7.0.771" для получения серийного номера. Чтобы упростить этот процесс, я буду использовать "Portable" в качестве имени и сгенерированный для этого имени регистрационный ключ "35AE664E73E18872". Теперь вставьте эTotal Uninstall информацию в окне регистрации My Notes Keeper.

Пасле регистрации My Notes Keeper можете закрыть его.

Вернитесь к Total Uninstall и нажмите на кнопку Next. Сейчас Total Uninstall анализирует, какие изменения были внесены в систему. По завершению проверки, нажмите на кнопку "Close".

3. Интерпретация результатов

Теперь мы будем рассматривать результаты. В окне результатьв программы Total Uninstall можно увидеть, что изменения сгруппированы в три категории:

1. Файловая система

3. Установленные службы и устройства

Третья опция, котороя показывает установленные службы и устройства, не может быть развернута, поскольку в процессе установки не было установлено никаких служб или драйверов. Это хорошо, потому что очень трудно или невозможно создать потрейбл версию программы, которая устанавливает службу или драйвер.

4. Изменения в файловой системы

Теперь давайте рассмотрим изменения в файловой системе, для этого разверните ветви "File System" в окне результатов Total Uninstallа.

Первая ветвь "C:\Documents and Settings\All Users\Start Menu\Programs\My Notes Keeper".

Это только ссылки (. LNK-файлы), так что ничего важного для нас. Их можно исключить из этого списка (выберите эти ссылки и нажмите кнопку "Delete").

Вы найдете как минимум два файла в разделе "C:\Documents and Settings\YOUR USER NAME", а именно NTUSER.DAT и Ntuser.dat.log. Эти файлы не являются важными для нас, поэтому их можно удалить из списка.

Следующий ветви это "C:\Program Files\MyNotesKeeper",которые являются основными программными файлами, мы будем в них нуждается. Используя файловый менеджер закопируйте этот каталог куда нибудь, например в C:\Portable My Notes Keeper".

Теперь вы можете удалить эти ветви из списка Total Uninstall, если хотите. Я обычно их удаляю, чтобы сохранить список более простым.

Следующее одно это "C:\WINDOWS\Debug\UserMode\userenv.log". Просто лог-файл, удалите эTotal Uninstall ветвь.

Следующий пункт: System32 с подпунктами software.LOG, SOFTWARE в каталоге "Config" и некоторые другие файлы в каталоге "wbem\Repository\FS". Они не являются обязательными для работы МНК, поэтому их можно удалить.

После того как ветвь файловой системы стала пустой, мы можем перейти к разделу реестра.

Вот некоторые основные сведения о реестре из Wiki.

Реестр представляет собой базу данных, которая хранит настройки и параметры для 32 и 64 разрядных версий операционной системы Microsoft Windows и для Windows Mobile. Он содержит информацию и настройки для всех аппаратных средств, программного обеспечения операционной системы, большинстве не-программного обеспечения операционной системы, пользователях, предпочтениях и т.д. Каждый раз, когда пользователь вносит изменения в настройки панели управления, ассоциации файлов, системные политики, или установленное программное обеспечение то эти изменения отражаются и сохраняются в реестре.

Реестр был введен, чтобы упорядочить рабоTotal Uninstall с настройками программ Windows вместо файлов INI, которые использовались для этого ранее. Эти файлы, были как правило, разбросаны по всей системе, что делало их отслеживание долольно затруднительным.

Реестр разбит на несколько логических разделов, или "keys". Как правило, они известны под именем определений, используемых для досTotal Uninstallпа к ним в Windows API, которые все начинаются на "HKEY" (аббревиатура для "Handle to Key"); часто они сокращаются до трех-четырех букв образуя короткое имя, начинающееся с "HK" (например, HKLM и HKCU).

Каждый из этих разделов состоит из подразделов, которые могут содержать другие подразделы, и так далее. Любой ключ может содержать записи с различных типов. Значениями этих записей может быть:

Ключи реестра используют синтаксис аналогичный файловым путям в Windows, используя обратную косую черту для обозначения уровней иерархии. E.g. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows относится к разделу "Windows" в подразделе "Microsoft" в разделе "Software" в разделе HKEY_LOCAL_MACHINE.

Разделы HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER имеют одинаковую структуру; приложения обычно при просмотре своих настроек, сначала проверяют их в "HKEY_CURRENT_USER\Software\Vendor's name\Application's name\Version\Setting name", и если параметр не найден ищут их по тому же пути в HKEY_LOCAL_MACHINE. При записи настроек в реестр, используется обратный подход - сначала значения записываются в HKEY_LOCAL_MACHINE, и если данные не могут быть записаны (это бывает как правило, в случае, если вошедший в систему пользователь не имеет прав администратора), то настройки сохраняются в HKEY_CURRENT_USER.

Сокращенное HKCU, HKEY_CURRENT_USER хранит настройки, относящиеся к залогинившемуся в данный момент пользователю. HKCU является копией подраздела текущего пользователя из HKEY_USERS.

Сокращенное HKLM, HKEY_LOCAL_MACHINE хранит параметры, которые являются общими для всех пользователей на компьютере. Этот ключ в NT версиях Windows находится в файле %SystemRoot%\System32\Config\system. Информация о "железе" компьютера находится в ключе SYSTEM.

Сокращенное HKCC, HKEY_CURRENT_CONFIG содержит информацию, собранную во время работы компьютера; информация хранится в этом ключе не постоянно, а регенерируется во время загрузки компьютера.

Конечно, вы можете найти более подробную информацию о реестре в интернете, но вы не должны быть экспертом реестра для создания портативных. Сказать по правде, некоторую информацию я привел выше, было новым для меня.

При создании портативных программ вам понадобятся только ключи из HKCR, HKCU и HKLM.

После того как вы узнали о строении реестра Windows и о его разделах, давайте продолжми изучение изменений в реестре.

6. Изменения в реестре

Сначала давайте экспортируем все изменения в реестре, которые были сделаны в процессе установки.

Для этого выберите "File-Export-Registry to re-apply Changes" в Total Uninstall.

В появившемся диалоговом окне выберите "All" вместо "Selected branch" и выберите Created Keys, Created Values and Modified Values (new data), а также установите File Type в Win9x/NT4 Registration file. Нажмите на кнопку ОК. Сохраните в файл "C:\Portable My Notes Keeper\FullReg.reg".

Теперь откройте все под-группы в ветке реестра, которую мы выбрали в Total Uninstall. Вы увидите 3 пункта:

1. HKEY_CLASSES_ROOT (HKCR)

2. HKEY_CURRENT_USER (HKCU)

3. HKEY_LOCAL_MACHINE (HKLM)

Во-первых, HKEY_CLASSES_ROOT это место, где Windows хранит файловые ассоциации и другие вещи.

Некоторые приложения также хранят свои регистрационные данные здесь.

Теперь оно состоит из трех пунктов:

Первый и третий пункты являются сопоставлениями типов файлов, вы можете удалить их (мы будем использовать их позже, после очистки реестра, но мы можем удалить их из списка, потому что мы экспортировали все изменения реестра в FullReg.reg).

Он имеет три позиции: Code, Days and Name

Да, это информация о регистрации программы, и мы должны сохранить ее в надежном месте. Выберете родительский ключ ( "(B0CC8D3F-EF1A-4400-A5C7-1A2230AA0B8C)") и потом выберите "File-Export-Registry to re-apply changes". Сохраните его в файл "C:\Portable My Notes Keeper\RegInfo.reg".

Теперь вы можете удалить его из списка, если хотите, но я рекомендую оставить его, поскольку это очень важные данные.

Следующая ветвь HKEY_CURRENT_USER. Эта ветвь, в отличие от двух других, является доступной, если пользователь не имеет прав администратора на компьютере. Если программа хранит свои настройки здесь, она может быть запущена, когда пользователь не имеет прав администратора (если нет других ограничений на ПК).

Есть еще одна ветвь: "HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache". Так как ее значения не имеют для создания портебл программы никакого значения, мы можем удалить ее из списка. Теперь мы можем перейти к HKEY_LOCAL_MACHINE.

В разделе HKEY_LOCAL_MACHINE первая ветвь "HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache". Ничего важного для нас, можно удалить из списка.

Далее идет "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Extension-List\", она также может быть удалена.

Далее идет "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Notes Keeper_is1". Также может быть удалена из списка.

Следующий ключ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher\TracesProcessed", удалите его из списка.

Если у вас установлены принтеры, вы можете иметь ключ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\YOUR PRINTER'S NAME". Удалите его из списка.

Теперь вы можете закрыть Total Uninstall.

Теперь давайте убедимся в том, что регистрационная информация, которую мы нашли является той информцией, которую мы хотим. Для этого мы будем использовать программу Registry Workshop.

Потому что мы экспортировали регистрационную информацию в .reg file (RegInfo.reg, помните?), мы должны открыть его с помощью текстового редактора, чтобы увидеть те ключи реестра, которые мы хотим найти. Вот содержание RegInfo.reg:

Таким образом ключ, который нам нужен, это

Или просто "HKCR\CLSID\(B0CC8D3F-EF1A-4400-A5C7-1A2230AA0B8C)"

Запустите программу Registry Workshop и вставьте эту строку в ее адресной строке (в верхней части главного окна под Toolbar):

Теперь нажмите Enter и программа Registry Workshop мгновенно перейдет к этому ключу реестра.

Чтобы проверить то, что именнно этот ключ является тем ключом, который хранит регистрационную информацию, мы удалим его. Выберете имя ключа в левой стороне окна программы Registry Workshop и нажмите кнопку Delete (или выберите Delete из меню). В окне подтверждения, выберите Yes.

Так как регистрационная информация отсутсвует в реестре, то давайте проверим как работает программа My Notes Keeper. Потому что мы удалили регистрационные данные из реестра, My Notes Keeper должна вернуться в режим Trial.

Перейдем к папке установки программы ( "C:\Program Files\My Notes Keeper") и запустим ее с помощью "MyNotesKeeper.exe".

Да, как и ожидалось после запуска программы появляется предупреждение о триальности программы. Отлично, тот ключ реестра, который мы удалили содержал в себе регистрационные данные для программы My Notes Keeper.

Как вы могли видеть, важно решить, какие изменения являются важными, а какие нет. Иногда легко отличить важные изменения, но иногда это не так (особенно при рассмотрении изменений в реестре). После создания вашей третьей или пятой портативной программы вы легко сможете решить на какие изменения вы должны обратить внимание.

Теперь, после того как у нас есть все программные файлы и изменения в реестре, мы можем удалить My Notes Keeper. Откройте Панель управления\Установка и удаление программ и удалите My Notes Keeper или используйте ваш любимый деинсталлятор программного обеспечения. Убедитесь, что все программные файлы и каталоги удалились из "C:\Program Files" (или где еще была установлена программа) во время процесса удаления. Если что-то осталось там, удалите это вручную.

Примечание: В некоторых случаях регистрационную информацию не так уж легко найти. См. "Скрытая регистрации данных" в главе III для получения дополнительной информации об этом.

Теперь после того как у нас есть все файлы и регистрационная информация, мы можем начать создавать нашу портативную программу.

Во-первых, позвольте представить структуру каталогов, которую я использую при создании портативных программ:

Каталог APPDATA :
Здесь находятся основные программные файлы

Каталог Portable:
Местоположение данных реестра (RegInfo.reg, settings.reg, RegClean.reg, DirSettings.reg и т.д.)

Каталог Source:
Здесь находятся файл запуска NSIS (Portable Application.nsi) и иконка программы загрузчика (Portable Application.ico)

Portable Application.exe
сам портативный загрузчик

Мы сделаем портативный My Notes Keeper используя эту структуру каталогов, так что сделаем следующие изменения:

1. Переместите все файлы и каталоги из "C:\Portable My Notes Keeper" в "C:\Portable My Notes Keeper", за исключением

RegInfo.reg и FullReg.reg

2. Переместите RegInfo.reg и FullReg.reg в каталог "C:\Portable My Notes Keeper\Portable"

3. Создайте папку в "C:\Portable My Notes Keeper\Source".

Я могу заверить вас, что пользоваться программой NSIS очень легко. Кроме этого, я создал несколько шаблонов, которые вы можете использовать для создания своих портативных программ, лишь слегка изменяя в них несколько строк.
-------------------------

Конфигурация компьютера
Процессор: Intel(R) Core(TM) i7-4770 CPU @ 3.00GHz
Материнская плата: Asus Z87-C
Память: 16 Гб (Corsair Vengeance LP CML8GX3M2A1600C9W4 Gb DDR3-1600)
HDD: PX-128M5S (SSD 128GB), ST31000528AS (Seagate 1TB)
Видеокарта: MSI GeForce GTX 1060 Gaming 3GB GDDR5
Звук: Audigy SE
Блок питания: Seasonic Focus Plus 550 Gold SSR-550FX
Монитор: BENQ VW2420H [24" матрица VA]
ОС: Windows 10 Pro х64 || Linux Mint 19.1
Прочее: TBS 6982 Dual, Behold TV H8, tesoro excalibur
Автор: kotkovets
Дата: 07-06-2020
Описание: NSIS 3.05

Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения.

NSIS (Nullsoft Scriptable Install System) - профессиональная система для создания инсталляторов в среде Windows с октрытым исходным кодом. При своем малом размере система очень гибкая, и при с широкими возможностями. Генерируемый ею инсталлятор также имеет очень маленький размер и идеально подходит для распространения продукта через Интернет.

ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS - создан силами нашего сообщества.
Руководство пользователя. Перевод – Поляков А.В , зеркало

Документация

Достоинства

Ещё немного полезной информации:

NSIS создан как альтернатива InstallShield, предназначенного для коммерческих продуктов.

NSIS версии 1 был очень похож на классический Windows Installer, но он был более управлемым с помощью скриптов и поддерживал другие форматы сжатия. NSIS версии 2 поддерживает новый графический интерфейс пользователя, LZMA-сжатие, многоязычность и имеет хорошую систему плагинов.

Версия 2.01 была первой версией, поддерживающей компиляцию на любой из POSIX-платформ. Это позволило создавать Windows-инсталляторы на GNU/Linux и FreeBSD без использования эмулятора Wine. На данный момент поддерживается компиляция только для Windows.


Компилятор NSIS — программа makensis — компилирует скрипты в исполняемый код. Каждая строчка скрипта содержит одну команду. Пример:

Modern User Interface

В версии 2.0 был введён новый графический интерфейс пользователя, названный Modern UI (MUI). MUI очень похож на интерфейс мастеров, он поддерживает splash screen, выбора языка, выбор компонентов для установки и более широкие возможности настройки по сравнению со своим предшественником. Пример:

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

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


В настоящее время инсталляторы NSIS не могут быть полностью декомпилированы. Сам инсталлятор не содержит в себе никаких функций для того, чтобы извлечь сценарий и/или файлы без инсталляции. Это - выбор разработчика, доступны ли исходный текст и/или файлы для инсталлятора для публики или нет. Есть, однако, внешние инструментальные средства, которые позволяют это сделать. 7-zip поддерживает частичную распаковку NSIS инсталляторов с алгоритмом сжатия lzma или bzip. Так же существует мульти-архивный плагин для TotalCommander.
Небольшая заметка для разработчиков: используйте DCryptDll, если хотите скрыть некоторые файлы в вашей инсталляции.

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ .

Для начала, я думаю, самое главное необходимо понять то, что не существует легких путей к созданию Portable (портативных) приложений. Вы должны потратить время и приложить усилия на то, чтобы сесть и прочитать Руководство NSIS - язык программирования, который мы используем, чтобы сделать лаунчер (пусковую установку, файл запуска) для Portable (портативной) программы.

Лаунчер (Launcher) является тем, что разработчики в данном случае произвели (сделали) при проектировании портативных приложений (Portable App). Лаунчеры (Launchers) состоят из кодов и команд для выполнения того, что (чего) желает пользователь. A.K.A. основная (базовая) программа. Итак, вкратце, лаунчер (Launcher) это еще одна программа, работающая поверх другой программы, управляя ее настройками. Но мы вернемся к этому позже.

Во-первых, давайте разберемся, из чего сделаны Лаунчеры (Launchers). Как я уже говорил, Запуски (launchers) состоят из набранных (созданных) кодов и команд, введённых пользователем/программистом. Весь данный текст лаунчеров размещается в файле AppNamePortable.nsi (AppName - ваше приложение, которое вы желаете сделать портативным) в папке Source.
.nsi – расшифровывается как "Nullsoft Installer", а NSIS как "Nullsoft Scriptible Install System".
NSIS – это название языка программирования.
NSI – это краткая версия (т.е. расширение) файла NSIS, дающее понять Операционной Системе, что это файл NSIS.
NSIS файлы имеют расширения .nsi, которые позднее превратятся в скомпилированные исполняемые файлы с расширением .EXE , с файлом (идет с NSIS) makensis.exe. По определению компилятор NSIS используется для преобразования информации, которая доступна чтению человеком, в ту информацию, которую впоследствии сможет прочесть компьютер. По соображениям безопасности (нестабильности), этот процесс не должен работать наоборот. Но существуют некоторые исключения. Например, AutoHotKey и AutoIT имеет такую обратную особенность, но в данном случае необходим пароль от первоначального (оригинального) создателя программы.

Есть одна вещь, которая сначала меня смутила, это то, что NSIS предназначен для инсталляторов, но Джон нашел способ, как использовать NSIS и для наших лаунчеров (launchers) – для проектирования и создания Portable (портативных) программ.

Другая важная вещь состоит в том, чтобы понять, как Лаунчеры делают свою работу. Таким образом, как только они начали свою работу, они перемещают все параметры AppName в другое место, затем импортируют (из папки Data) свои собственные параметры туда, куда это необходимо, т.е. где были первоначальные настройки. AppNamePortable.exe "бродит вокруг", скрываясь в фоновом режиме, пока не обнаруживает, что AppName.exe отсутствует в процессах операционной системы. После чего лаунчер (Launcher) экспортирует все настройки в папку данных (Data) и перемещает обратно оригинальные (исходные) настройки. И конечно же, сводит на нет остаточные процессы работы Portable (портативной) программы, насколько это возможно на компьютере.

Мы готовы приступить к программированию. Вот некоторые инструменты, в которых вы будете нуждаться. (Я использовал портативные версии, но вы также можете пользоваться локальными версиями).

(Статья всё ещё в работе…)

To start, I think the most important thing is to understand there is no easy way out to making a Portable App. You need to put time and effort into this and sit down to read the NSIS manual (programming language we use to make launchers).

A launcher is what the developers here make when designing the Portable App. Launchers are made from codes and commands to do what the user wants. A.K.A. a basic program. So in short a launcher is another program running on top of another, managing it's settings. But we'll get into that later.

First, let's understand what they're made of. Like I said before launchers are made from codes and commands typed in from the user/programmer. All that text is put into a AppNamePortable.nsi file (AppName being your app you want portable) in the Source folder. .nsi stands for "Nullsoft Installer" and NSIS for "Nullsoft Scriptible Install System". NSIS is the name of the programming language. NSI is just a short version of it and a file extention to tell the Opperating System that THIS IS A NSIS FILE. NSIS files (or .nsi files) are later compiled turned into .exe (executables) with a file (comes with NSIS) makensis.exe . The definition of a compiler is something used to turn something a human can read to something the computer can read. For security reasons and unstable, this process cannot work the other way around. But there are some exceptions. For example, AutoHotKey and AutoIT has a uncompile feature, but need a password from the original creator. One thing I was confused about was that NSIS is for installers, but John found a way to use it for our launchers too.

Another important thing to understand is how launchers are doing their jobs. In summary, once they're launched, they move all AppName's settings to someplace else, then import (from the Data folder) it's own into wherever it should be or where the original settings were. AppNamePortable.exe hangs around hiding in the background until it detects that AppName.exe quits. Then it exports all the settings into the Data folder and moves the original settings back. Of couse, leaving as close to nothing as it can on the computer.

We're ready to start the programming. Here's some tools you'll be needing. (I've linked to the Portable Versions, but you can also get the local versions).

Просьба: Замечания о неточностях перевода с английского - пишите в комментариях.

Читайте также: