|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Разработка инсталляционного пакета
Moderator
LISP, C# (ACAD 200[9,12,13,14])
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 40,411
|
||
Просмотров: 7874
|
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
1. Пользоваться последней версией InnoSetup. Сейчас это 5.1.7, и обязательно ISTools - есть для 5.1.6, будет и для 5.1.7.
Есть опция Use Previous Application Directory и др. "use previous". Приложению надо присвоить AppID, в следующий раз будет устанавливаться в то же место. Регистрацию DLL лучше включать, если они идут в обновлении. Прежний вариант кто-то мог и перерегистрировать в другое место, ошибку будет трудно найти. Ненужные страницы (например, выбор каталога) можно отключить в опциях. Не стоит отключать информацию о том, что это за программа и чего в ней такого нового. 2. Код на Паскале гораздо проще и прозрачней, чем на LISP или VB Например, в секцию CODE можно записать Код:
Код:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Уважаемый ShaggyDoc! Огромное Вам спасибо. Я и не надеялся на такой развернутый ответ. Если что-то не получится, я еще пристану
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Это который http://www.izcity.com/lib/22052006/n...emnsis2-17.htm ?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Nsis один из немногих хороших бесплатных инсталляторов. Есть свои изюминки. Но в целом он отстает от Inno Setup.
Например, там собственный скриптовый язык, который все-таки надо немного изучать. В Inno Setup - практичеки полный Pascal из Delphi. Плюс подключение DLL или приложений. В NSIS отсутствует диалоговый дизайнер инсталляции. Были сторонние, но не обновлялись после 2002 года. В InnoSetup тоже нет дизайнера, но параллельно развивается ISTool, значительно облегчающая установку многочисленных опций. В InnoSetup имеется возможность управления permissions на файлы. Это ведь проблема - при установке администратором он будет владельцем файлов. А надо дать возможность их изменять другим пользователям. Наконец сам InnoSetup поставляется в исходниках. Не столь важны исходники компилятора, сколь прилагаемые к нему библиотеки и компоненты. А там имеются очень качественно сделанные функции, доступные только в дорогих коммерческих библиотеках. "Красивость" инсталляции - дело вкуса. Лучшая красота - стандартность и привычность интерфейса. В общем-то это делают все инсталляторы примерно одинаково. И, конечно, качество инсталляции больше зависит от автора - неважно, чем сделано. Но "шибко умный" инсталлятор может провоцировать на необдуманные действия. Например, один из крутых инсталляторов включает в комплект и системные DLL. Естественно те, которые есть на машине у автора. И у пользователя они будут заменены без спроса. Вот из-за этого и появляется необходимость переустанавливать Windows. |
|||
![]() |
|
||||
Регистрация: 21.02.2008
Сообщений: 1
|
Я в этом полный нуб, но мне надо всего лиш сделать инсаллятор, который будет брать путь для инсалляции в реестре из ключа, если он есть, а если нет, то сообщать, что мол извините не выйдет и заменять существующие папки и файлы. И пожалуйста напишите как это будет выглядеть целиком.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Помимо официального сайта:
http://forum.ru-board.com/topic.cgi?...1&topic=4801#1 http://forum.ru-board.com/topic.cgi?forum=5&topic=23235 http://forum.ru-board.com/topic.cgi?forum=5&topic=24767 Это, конечно, только для InnoSetup. Для других install-maker'ов надо искать спец.форумы ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Подскажите Inno Setup возможно использовать для интерпритированных языков как LISP, или только для компилированных?
Все равно придется добавлять вручную в ACade в Load Aplication, для подгрузки VLX, FAS, или lsp, тогда смысл в инсталяторе, или я ошибаюсь? Последний раз редактировалось Holon, 04.03.2008 в 15:53. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Но есть нюансы: 1. Это будет только для HKLM того пользователя, который устанавливает программу. 2. Надо еще сделать выбор профиля, в который что-то дописывает. InnoSetup позволяет выполнить все эти действия. Чтобы реализовать универсальность делают или "пост-инсталляторы" для конкретного пользователя или выяснение деталей уже в своей программе. |
|||
![]() |
|
||||
Ну, у меня схема инсталла через InnoSetup была сделана максимально приближенная к Express Tools -- установка под администратором, а в Автокад прописывается команда XXXload и XXXunload, устанавливающая/убирающая панели, добавляющая команды и прочее.
Завтра могу сбросить пример .iss.
__________________
Reshaping the STEM field |
||||
![]() |
|
||||
Кидаю прямо сюда, чтобы с вложениями не возиться.
[UninstallRun] устарела и закомментирована. Ошибки юности... Как видим, инсталл цепляется за acad2005doc.lsp, чтобы прописать команды установки, и при деинсталле находит строку, которая предположительно уникальна, удаляя все строки, ее содержащие. Коряво. Надо бы переделать. Код:
__________________
Reshaping the STEM field Последний раз редактировалось Кулик Алексей aka kpblc, 05.03.2008 в 20:55. Причина: Достаточно тэга [code]. При копировании текста внутренний тэг Code надо перебить |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
[FONT=Courier New]Не стоит в инсталляцию загонять константы наподобие[/FONT]
Код:
|
|||
![]() |
|
||||
Эммм... Он собственно на одну только версию и может ставиться... :=)
А вообще, конечно, да.
__________________
Reshaping the STEM field |
||||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Во время инсталяции "USER" выбирает папку для хранения файлов, как
путь к этой папке можно сохранить в "HKEY_CURRENT_USER............", чтобы потом можнно было получить его с помощью Код:
для своих нужд? Последний раз редактировалось Holon, 02.02.2009 в 18:33. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
В InnoSetup в скрипте есть секция [Registry]
Туда и включается всё, что нужно записать в реестр. Примеры есть в #14. Там только HKCU заремлены. Писать надо не просто в HKCU, а в ветку своей программы. И учитывать, что это будет HKCU того пользователя, который запустил инсталляцию. |
|||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Заведомо известную информацию я могу записать и без инсталяционного пакета,
дело в другом при запуске инсталяционного файла пользователь указывает место установки, к примеру вместо C:\Program Files\........ по умолчанию, пользователь указывает другое место C:\MyProg\........ вот этот путь мне и интересен, попросту говоря, чтобы инсталяционный пакет помог собрать информацию о местонахождении (локализации) файлов. А это: Код:
установки? Последний раз редактировалось Holon, 03.02.2009 в 09:29. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
А {app} (ну или что-то такого типа) не работает?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
И код на обгрызке Паскаля можно вставлять. Делая полноценный инсталлятор под Автокад 2005, я без пользовательского кода обойтись не смог.
__________________
Reshaping the STEM field |
||||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Цитата:
|
|||
![]() |
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Вот здесь примеры от AfraLisp, хоть и не на родном языке но можно поучится.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Holon, там используется AcadInst. Закрытый продукт со всеми вытекающими.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
К сожалению, я бы задумался о Pascal'е (либо учить, либо заказывать разработку на стороне. Кстати, на ru-board.com есть несколько тем как раз по InnoSetup - масса интересностей есть. Можно попросить сделать скрипт, но результат, как всегда, не очень гарантирован). AcadInstall достаточно долго "динамил" тех, кто работал под 2006 - не было поддержки CUI и рабочих пространств.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |