|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Есть и точка зрения, что "мое приложение должно ставиться только в C:\SuperPuper". Такая точка зрения тоже быстро исправляется, когда жизнь мордой натычет. Цитата:
Помимо инсталлятора программы, который записывает в реестр первоначальные данные, должен быть и деинсталлятор, который удаляет все записи из реестра. Цитата:
|
|||
![]() |
|
||||
Полностью согласен с ShaggyDoc!
Мой очередной проект, должен был работать в фирме, в которой я появлялся всего пару раз на пять минут. Внутри фирмы, нет CAD менеджера, только продвинутая начальница инженерно - проектного отдела. Все составляющие программы упаковываются в один vlx для установки и пользователю вообще не важно как его запустить в акаде, достаточно из проводника перетащить на чертеж. Инсталятор для приличия спросит - вам полную установку или только меню, программные файлы поправить. Далее, программа устанавливается в заранее известную папку и подключается к базам на сервере. Далее, при каждом запуске, программа мониторит папку на сервере, где могут лежать обновления и оттуда обновляет программные файлы по необходимости. Сейчас, я даже придумать не могу, что может случиться, чтоб пришлось делать настройки на конкретном компьютере - все делается общим конфигурированием файлов на сервере... В случае пропажи сети - каждый комп переходит на локальный режим работы с локальной базой данных...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Josser Регистрация: 09.11.2011
Сообщений: 66
|
To Кулик Алексей.
Спасибо. Я совсем забыл про vla-методы! Не имеющей решения остается единственная ситуация, когда лисп-приложение не имеет фрагментарного меню и, при этом, не лежит на путях поддержки. To all Я всегда считал, что чем проще, тем лучше. Если можно сделать без реестра, надо делать без реестра. Если можно без инсталлятора, делаем без инсталлятора. Ну не хочу я к приложению, состоящему из одного лисп файла и трех текстовых файлов, делать инсталлятор! Равно, как и нагружать неискушенного пользователя концепцией путей поддержки ![]() Последний раз редактировалось Salt, 21.07.2012 в 12:49. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Цитата:
Чем это лучше хранения настроек в домашней папке пользователя? |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
[quote=zamtmn;948731]Все кто не пишет в реестр еретики?
Не, не еретики. Просто непонимающие люди. Иначе бы и вопросы подобные этой ветке не возникали. Цитата:
Посмотрите, как хранят настройки кроссплатформенные программы. В любой OS есть своя система, которой надо придерживаться. Цитата:
Пользователей не компьютере может быть несколько. У каждого пользователя своя домашняя папка. А настройки могут быть одни. Некоторые программы, запущенные из-под другого пользователя, создают ему собственные настройки. Это бывает чрезвычайно неудобно, хотя иногда именно так и нужно. Допустим, программу ставит Администратор. У него своя домашняя папка. И настройки программы, записанные туда, остальным пользователям не будут видны. Чтобы они становились доступны новым пользователям, опять же надо писать в реестр, причем в HKEY_USERS\.DEFAULT\Software. А это означает, что инсталляцию должен делать только Администратор. Можно писать в папку AllUsers. Можно писать в HKEY_LOCAL_MACHINE\SOFTWARE. Но все это потребует тщательной проработки сценария инсталляции. Особо нужно учитывать блуждания Microsoft в части привилегий и разрешений. В WinXP было одно, в Vista другое, в Win7 - своё. Но, если программист учитывает требования Microsoft по написанию программ, они будут работать всегда. Например, если в XP "домашний" каталог это c:\Documents and Settings\UserName\Application Data\ а есть и c:\Documents and Settings\UserName\Local Settings\Application Data\, то в программе не должны быть зашиты эти имена. Потому что в другой OS уже нет никаких "c:\Documents and Settings\". А что именно должно быть - обязан выяснить инсталлятор. Программа может быть и "самоинсталлирующейся", но это неудобно. Специализированные инсталляторы гораздо удобнее. В них просто в сценарии достаточно указать псевдоним, наподобие {localappdata} или {userappdata} или {commonappdata}. Ну а ваша программа должна уметь эти данные прочитать. |
|||
![]() |
|
||||
Josser Регистрация: 09.11.2011
Сообщений: 66
|
Цитата:
|
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
>>Не, не еретики. Просто непонимающие люди. Иначе бы и вопросы подобные этой ветке не возникали.
Отсутствие способа сделать это в программе на лиспе вовсе не значит что остальные ничего не понимают - ничего в знании пути к исполняемому файлу плохого нет. >>Реестр - это постоянное место, а пользовательские папки - переменное. при правильном обращении папки с файлами настройки ничуть не переменней реестра. Реестр конечно хорошо, но с ним абсолютно также можно работать "по юниорски", такчто не панацея. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Да чего ж сложного? Всего то два сценария:
1. Распаковываем архив туда, куда и должны инсталлироваться программы, запускаем лисп-инсталятор, вуаля, все работает 2. Распаковываем архив куда глаза глядят, лисп-инсталятор, он злостно ругается, требуя сатисфакции, подсовываем ему файл меню, вуаля, все работает >Salt, Большая разница? кто вам дохтор, что вы суете свои программулины куда ни попадя? можете хоть с флешки работать прописать в пути поддержки свое приложение и пользоваться относительными путями, это схема работает надежно и в реестр ничего не надо прописывать |
|||
![]() |
|
||||
Цитата:
(vl-list-loaded-vlx) - выдаст названия загруженных vlx, только названия. (vl-list-exported-functions) - выдаст все экспортированные из всех языков функции. Вопрос был простой - в моей программе загружено несколько vlx и невозможно узнать, откуда загружена текущая функция c:test. Мне никто не запрещает ее для начала экспортировать из одного vlx потом из другого или из этой же, но переопределенной... Ps. просто я использую механизм рекурсивной загрузки, в том числе для защиты...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Josser Регистрация: 09.11.2011
Сообщений: 66
|
1. Имена всех загруженных VLX-модулей с отдельными именными пространствами можно получить с помощью (vl-list-loaded-vlx).
2. (vl-list-exported-functions "ИмяVLXмодуля") выдаст все экспортированные функции из VLX-модуля с конкретным именем. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запомнить путь к открытому файлу? | Ева | Программирование | 7 | 15.06.2012 12:27 |
Определить путь к файлу LISP | Leo_fmf | LISP | 3 | 27.01.2012 10:36 |
как получить путь к сетевому текстовому файлу | Victorovich | Программирование | 3 | 30.06.2008 15:47 |
Длинный путь к файлу проблема | mvart | AutoCAD | 12 | 11.02.2008 13:52 |
Как программно узнать настоящий путь к файлу растра, если он был найден Акадом не по указанному пути | kp+ | Программирование | 4 | 20.12.2007 12:54 |