Эволюция портабельности
February 10th, 2010 Begemot Posted in Шаровароварение
Давно собирался написать про свой опыт с выпуском портабельных версий? Сегодня прочел пост ночного программиста – Portable-версия – легко и непринужденно и вижу, что народ повторяет мои ошибки, а значит откладывать дальше нельзя – пора писать 🙂 Причем технические детали реализации я опущу (банально же), а опишу только грабли в подходе к решению проблемы, на которые я натыкался. Для того, чтобы вы могли сразу переходить на пятый уровень:)
Итак у меня было пять ступеней эволюции:
0. Просто программа, без поддержки переносной версии. Народ жаловался и требовал гибкости. Ведь действительно всегда иметь с собой свои быстрые заметки весьма удобно…
1. Параметр командной строки, который переключал приложение в портабельный режим. Я написал об этом в хелпе, а потом, всем кто спрашивал отвечал как использовать параметры командной строки в саппорте – благо быстрая вставка готовых ответов, весьма облегчает это занятие. Народ жаловался, на неудобство.
2. Я сообразил, что можно сделать и положить в дистрибутив батник – который будет запускать программу с параметром, что-то типа _RUN_Clipdiary_Portable.bat. На неудобство стали жаловаться меньше, на мелькающее черное (консольное) окно и периодические ошибки (народ постоянно запускал exe вместо батника). Продвинутые даже компилили батник в ехешник.
rem instruction for user
start clipdiary.exe –portable
3. Кто-то меня надоумил что избежать последней проблемы можно положив все файлы программы в подпапку APP, а рядом с ней батник который будет запускать ехе. И так типа поступают многие портабельные программы. Правильный текст бат файла
rem instruction for user
@echo off
cls
title Clipdiary Portable launcher
start /D"%~p0App" App\clipdiary.exe –portable
4. Через месяц, после того как я перевел все свои портабельные дистрибутивы на использование этого механизма, я вдруг придумал более лучший подход. Который позволяет избавится как от случайного запуска exe вместо бат файла, так и от мелькания консольного окна, которое раздражает пользователя. Теперь достаточно просто добавить –portable в имя программы – и все будет в шоколаде. Разумеется я при старте анализирую имя ехе и перехожу в портабельный режим если что. Пользователи пока что довольны.
Видите, все гениальное просто 🙂
Кстати, у нас тут недавно разгорелся спор с одним человеком какой термин использовать – переносимая, портабельная или портативная. Имхо, все они звучат криво по-русски, но ведь что-то использовать надо. Вот что говорит гугл
Results 1 – 10 of about 52,600 for "портативная версия".
Results 1 – 10 of about 30,600 for "портабельная версия"
Results 1 – 10 of about 1,870 for "Переносимая версия"
Причем в выдаче по каждому варианту – присутствуют программы с мировым именем 🙂 В общем, бардак полный – что писать не ясно. А вы как ее называете?
March 4th, 2010 at 12:01
и не факт, что кому это надо будет платить деньги за это 😉
March 4th, 2010 at 12:54
🙂 не спорю, но все зависит от количества денег и размеров стульев