Тема: Как сделать "Установщик LISP-программ и меню"?

вот у меня есть написанная программа с лисповским и менюшным файлом. Все это лежит в одной папке. Чтобы мне загрузить меню, я иду через menuload, да еще и путь к папке в настройках прописываю. А можно ли сделать что-то типа установщика, который бы установил папку куда нада и все настройки выполнил как например при установке модуля EXPRESS???
Или еще что-нибудь? какие-нить идеи?

Re: Как сделать "Установщик LISP-программ и меню"?

Можно ! И нужно, дабы неопытные пользователи не парились с тонкостями установки.
Просто нужно раздобыть какой-нить инсталятор (я пользуюсь Wise instalation system 9, Inno setup, setup factory) главное чтобы он умел писать строки в текстовые файлы.
Указываешь общую информацию, файлы которые надо раскидать по местам, указываешь пути для установки этих файлов и приступаешь к определению куда и что надо прописать, чтобы все само грузилось.
Файлы:
1-твоя прога
2-MNU файл меню твоей проги
3-MNL файл см. ниже
Я делаю так: Говоришь инсталятору-надо вписать строки в файл acad2000.lsp такого содержания:

;;;Silent load Your programm.lsp
(Princ "\nYour programm loaded\n")
(load "c:/Acad2000/Your dir/Your programm.lsp")
(load "c:/Acad2000/Your dir/Your menu.mnl")
это загружается главный модуль программы
А чтобы подгрузить меню надо сделать такой файлик: Your menu.mnl
(Здесь меню DATA-замени на свое название)
----------------------------------------------------------------
; Place the Your menu pulldown to the left of the last pulldown already loaded
(defun Data-init-placemenu( / n )
  (if (menugroup "Data")
      (progn
       (setq n 1)
       (while (< n 24)
        (if (menucmd (strcat "P" (itoa n) ".1=?"))
            (setq n (+ n 1))
            (progn
             (if (> n 3)
                 (setq n (- n 2))
                 (setq n 3)
             );if
             (menucmd (strcat "p"  (itoa n) "=+Data.pop1" ))
             (setq n 25)
            );progn
        );if
       );while
      );progn
           (command "menuload" "your dir/Data.mnu" )
  );if
);defun Data-init-placemenu
(Data-init-placemenu)
(prompt "\nAutoCAD Data Menu loaded. ")
(princ)

--------------------------------------------------------------
И все компилиш проект и получаешь готовую тему как в Express Tools
Если что непонятно-пиши на мыло, поделюсь файлами

Re: Как сделать "Установщик LISP-программ и меню"?

Может еще вот это поможет:
https://www.caduser.ru/forum/topic3689.html

Re: Как сделать "Установщик LISP-программ и меню"?

SFX архив в WinRAR + средства комстроки проще всего. И писать лучше в acaddoc.lsp
Installapp.cmd
@ECHO OFF
FOR /F "usebackq delims==" %%i IN (`dir "%ProgramFiles%\*acad200?.lsp" /s /b`) do echo. (load "AppPath\\my_app.lsp")(princ) >> %%~dpi\acaddoc.lsp
Приложение инсталлируется на все версии AutoCAD  установленные в папку Program Files.

Re: Как сделать "Установщик LISP-программ и меню"?

неправда однако. при установке инсталятором можно дать пользователю примерное представление о продукте и основные рекомендации по установке и запуску! Да и все таки интерфейс инсталятора намного ближе и дружественнее чем комстрока! Да и не все ей умеют пользоваться! (Имхо) К тому же есть возможность делать обновление версий!

Re: Как сделать "Установщик LISP-программ и меню"?

> flint
Вспомнил, что у меня есть... ;)
http://www.cadwerx.net/public/downloads … l15_35.zip
Acad Install 1.5
Acad Install is an application to help with the installation of AutoCAD applications. It is designed for use with Inno Setup or InstallShield Express or any other installer which can run an executable and pass it the path the user installs to.
Acad Install features -
    * All initialization happens from your setup executable before AutoCAD is launched.
    * Setup your AutoLISP/Visual Lisp, ObjectARX/ADSARX, and VBA/VB applications.
    * Set up any or all of the following -
          o Menus
          o Toolbars
          o Demand loading for ObjectARX applications.
          o Add setup files to AutoCAD's Startup Suite with full path.
          o Add or modify AutoCAD profile settings.
          o Add install path to AutoCAD search paths with redundancy check so duplicates are not created.
    * All registry keys created (ie. that didn't exist prior to installation) can be deleted upon uninstall.
    * Only two files need to be added to the installation, a copy of AcadInst.ini with your app's settings and AcadInst.exe
    * Easy to use INI file based install parameters
    * User specifies what AutoCAD profiles to which they wish to install your application. Alternately, a 'silent' install is available to registered users.
    * A version with your product's name in the caption bar (instead of CADwerx). Look in the include help file (AcadInst.chm) for more information.