• Авторизация


немного о программировании 27-02-2010 01:57 к комментариям - к полной версии - понравилось!


 

В ответ на http://begemotov.net/creator/shareware/evolyutsiya-portabelnosti/comment-page-1/#comment-40048

Можно найти много различных методов «мобилизации» своего ПО.

Можно переименовывать основной файл программы, создавать батник или файл метки… все это можно… (вы же разработчик, кто ж вам запретит)

НО:

1.  Переименование файла – а кто сказал, что я как пользователь данного продукта не  переименую его иначе? Ну не нравится мне родное его имя и тем более эта приписка portable. Имя у меня не по фэншую получается… не 8 символов. И все, и вдруг программа перестала работать… лезем на сайт производителя… пишем… спрашиваем…

Ответ мы, конечно, получим, НО тех.поддержке это быстро надоест (и как я читал многим уже такие вопросы надоели)

2.  Батник – Сценарий похож. Удалили файл - потеряли портативность, а как восстановить??? Правильно – лезем и читаем мануалы, ридми и прочие faq.

3. Файл-метка – хорошо, но что делать , если его тоже удалят? А вот тут я и подошел к самому главному…

Давайте определим  основные положения (как их вижу я):

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

б. создавать инсталлятор для portable-версии программы крайне нелогично. «Распаковал и работает» - таков наш девиз.

в. отдельная portable сборка – глупо, если в ней меняется только флаг переключающий ее в таковую.

ИТОГ: у нас нет инсталлятора, и есть одна программа, способная работать в двух режимах, и у нас есть одна проблема : как узнать portable мы или нет …

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

По моему мнению, алгоритм работы должен быть такой:

  1. После запуска программа должна найти файл-метку (или файл настроек) и из него узнать в каком режиме она (программа) работает.  Если она этого файла не найдет, то это первый запуск программы и необходимо спросить у пользователя о том, где же мы будем хранить свои настройки. Таким нехитрым способом мы определили первый запуск.

  2. В окне настроек программы следует обязательно предоставить возможность изменить место хранения настроек (реестр или ini-файл). При этом всю ответственность за перенос существующих настроек из файла в реестр или наоборот программа должна взять на себя. При этом необходимо скрыть от пользователя ВСЕ настройки влияющие на «портативность» программы.

ИТАК: у нас есть корректно работающая «переключалка» на portable-версию и обратно, а также пользователь, которому предоставлен выбор в каком именно его любимая программа будет работать сегодня.

ЛОЖКА ДЕГТЯ: а что если удалить файл метку или файл настроек…  Да действительно это проблема, но она тоже решаема. Программа должна проверить, не было ли ранее сохранены ее настройки в реестре, и если таковые она там найдет, то разумно пользователю задать следующий вопрос: «В реестре были найдены настройки от предыдущей версии программы, оставить их или применить настройки по умолчанию?» и действовать в зависимости от ответа.

 

вверх^ к полной версии понравилось! в evernote
Комментарии (1):


Комментарии (1): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник немного о программировании | in0 - in0: Разночтения | Лента друзей in0 / Полная версия Добавить в друзья Страницы: раньше»