Инстолятор Smart Install

Создание приложений, библиотек, инсталляторов
Ответить
gslim
assistant
assistant
Сообщения: 110
Зарегистрирован: 11 окт 2011, 12:15
Версия LabVIEW: 8
Контактная информация:

Инстолятор Smart Install

Сообщение gslim »

Добрый день ув. форумчане , мне не нравится стандартный инстолятор LabView , а точнее я в нём не могу нормально разобраться. Во 1х нету Uninstall , во вторых не могу найти команду которая будет запускать exe\cmd перед запуском инстолятора , и решил в инете порыться , нашел Smart Install , вроде хороший, разобрался , но вот беда в том что я не знаю какие компаненты и dll мне нужны , чтобы программа нормально запускалась, не могли бы вы мне помочь и наставить на верный путь. Заранее благодарен.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Инстолятор Smart Install

Сообщение IvanLis »

gslim писал(а):Добрый день ув. форумчане , мне не нравится стандартный инстолятор LabView , а точнее я в нём не могу нормально разобраться. Во 1х нету Uninstall , во вторых не могу найти команду которая будет запускать exe\cmd перед запуском инстолятора , и решил в инете порыться , нашел Smart Install , вроде хороший, разобрался , но вот беда в том что я не знаю какие компаненты и dll мне нужны , чтобы программа нормально запускалась, не могли бы вы мне помочь и наставить на верный путь. Заранее благодарен.
Посмотрите тему: Создание не'labview'шного инсталлятора
По поводу библиотек и прочего Вам наверное никто не сможет подсказать, :D кроме Вас самих.
Кому же это лучше знать....
Но если Вы не подтягивали никаких библиотек принудительно, то по идее должно хватить RTE, а без него в любом случае никак!
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Инстолятор Smart Install

Сообщение AndreyDmitriev »

Вообще говоря, Smart Install не бесплатный (но если уж купили, то, конечно, надо пользоваться).
Я пользуюсь в таких случаях Inno Setup. Есть ещё NSIS - но он чуть сложнее в использовании.

Встроенный генератор инсталляшек LabVIEW на самом деле довольно прост, и прежде чем пользоваться сторонним решением, имеет смысл досконально разобраться со встроенным решением. Во-первых, Ununstall там есть по определению (так как инсталлятор при инсталляции регистрирует себя в Windows - соответственно нерез контрольную панель Windows его можно удалить. Сторонний исполняемый файл можно запустить после инсталлятора (на самом деле если этот файл распространяется с инсталлятором, то его запустить до старта инсталлятора и не получится - ведь сначала инсталлятор должен стартовать, скопировать этот файл из дистрибутива, и лишть потом будет возможность его запустить).

По части сторонних инсталляторов Вам надо будет разобраться в следующем:
Какие Run-Time необходимы для старта приложения (LabVIEW, VISA, Vision, и т.д.)
Как и в каком виде положить Run-Time в сторонний инсталлятор (msi или exe)
Как инсталляторы Run-Time запускать из командной строки (в silent режиме, надо полагать + там перезагрузка может потребоваться пл ходу дела)
Какие доп файлы нужны (ну если сторонние DLL используются, и т.д.)
Ну и по мелочи - ярлыки, и т.д.

В общем, если делать на совесть, то возни больше.
Ещё немаловажно то, что при усовершенствовании приложения надо будет и инталлятор обновлять. в LabVIEW он уже в проект включён и генерится одним щелчком, а тут будет доп работа - можно ошибок наделать.
gslim
assistant
assistant
Сообщения: 110
Зарегистрирован: 11 окт 2011, 12:15
Версия LabVIEW: 8
Контактная информация:

Re: Инстолятор Smart Install

Сообщение gslim »

Решил пока встроенным инстолятором пользоваться, вот только 2 проблемы , не могу сделать Uninstall и не могу ярлык вывести на рабочий стол, нашел в инстоляторе Shortcuts выбрал там Applicatiom.exe , только вот он создаёт на рабочем столе не ярлык а папку, а в папке уже ярлык.
Вообщем прошу помочь создать Uninstall , и подсказать как создать на рабочем столе ярлык.

Заранее благодарен.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Инстолятор Smart Install

Сообщение AndreyDmitriev »

gslim писал(а):Решил пока встроенным инстолятором пользоваться, вот только 2 проблемы , не могу сделать Uninstall и не могу ярлык вывести на рабочий стол, нашел в инстоляторе Shortcuts выбрал там Applicatiom.exe , только вот он создаёт на рабочем столе не ярлык а папку, а в папке уже ярлык.
Вообщем прошу помочь создать Uninstall , и подсказать как создать на рабочем столе ярлык.
Чтобы папку не создавал, надо убрать Subdirectory вот здесь:
installer.png
Что касается деинсталлятора, то на это дело лучше забить, и пользоваться деинсталлятором Windows.
Теоретически можно создать bat файл, в который прописать что-то типа msiexec /i {222FDDD0-81EF-4090-960E-D42B96D6BD8B}, где GUID берётся из setup.ini из строчки ProductId={222FDDD0-81EF-4090-960E-D42B96D6BD8B}. Беда в том, что GUID этот всегда разный, соответственно надо устраивать пляски с бубном для вытаскивания этого идентификатора и засовывания его в bat файл (а это надо делать после генерации инсталлятора). Либо надо знать, где msi лежит, тогда можно msiexec /uninstal сделать. В любом случае придётся повозиться. В общем, не стоит игра свеч.
gslim
assistant
assistant
Сообщения: 110
Зарегистрирован: 11 окт 2011, 12:15
Версия LabVIEW: 8
Контактная информация:

Re: Инстолятор Smart Install

Сообщение gslim »

Спасибо большое.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Инстолятор Smart Install

Сообщение AndreyDmitriev »

Я таки придумал способ, как сделать деинсталлятор. Метод тоже слегка ректальный, но не настолько, как с GUID. Воспользуемся тем фактом, что пользовательская программа вообще говоря регистрируется также в ветке реестра NI, что делает возможным деинсталляцию по имени, а не по GUID при помощи утилиты NI.
Утилита uninst.exe лежит вот здесь: %ProgramFiles(x86)%\National Instruments\Shared\NIUninstaller
Если, предположим, мы сделали приложение "My Application", то деинсталлировать его можно командой uninst.exe /qb /x "My Application"
Псокольку при создании ярлыка ключи указать не получится, то надо создать простенький cmd файл, добавить его в проект, и сделать ярлык на него:
uninst.png
Маленькая тонкость заключается в том, что после вызова команды деинсталляция начнётся немедленно (а без ключей /qb зараза работать не хочет), так что можно предусмотреть простенькую защиту от дурака в самом cmd файле:

@ECHO OFF
set /p res= Would you like to uninstall My Application (Y/N)?
IF NOT %res%==Y goto exit
ECHO Uninstalling My Application...
uninst.exe /qb /x "My Application"
:exit

Если не нравится командный файл, то можно на том же LabVIEW сделать небольшую программку с соответствующим диалогом, спрашивающим удалять программу или нет, и вызывающую uninst через SystemExec.vi (в ней же, если нужно, можно подчистить пользовательские файлы, созданные основным приложением, поскольку деинсталлятор удалять их, разумеется, не будет).

Ну и под Windows7 срабатывает UAC, поскольку uninst.exe требует прав администратора, но от этого диалога, похоже не избавиться.
Где-то так.
gslim
assistant
assistant
Сообщения: 110
Зарегистрирован: 11 окт 2011, 12:15
Версия LabVIEW: 8
Контактная информация:

Re: Инстолятор Smart Install

Сообщение gslim »

Блин, огромное Вам Спасибо!
Ответить

Вернуться в «Создание приложений»