Runtime Labview

Простейшие вопросы в области инженерной разработки
Ответить
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Runtime Labview

Сообщение Yurets »

Здравствуйте уважаемые форумчане.
Работаю с labview 12. И все программы скомпилированные в :labview: не работают на пк без :labview: рантайма, а если в проекте используется visa, то и нужно установить ещё и его.
В итоге программа, весящая 1 Мб тяжелеет примерно до 400 Мб.
В новой :labview: всё так же?
Аватара пользователя
IvanLis

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

Re: Runtime Labview

Сообщение IvanLis »

Yurets писал(а):В итоге программа, весящая 1 Мб тяжелеет примерно до 400 Мб.
В новой :labview: всё так же?
Да :wink:

Но их установка требуется однократно.
Если Вы переносите программу на ПК с установленным RT, повторная установка не требуется.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Runtime Labview

Сообщение Artem.spb »

Yurets писал(а): В итоге программа, весящая 1 Мб тяжелеет примерно до 400 Мб.
В новой :labview: всё так же?
Скажу больше, .NET, который тоже используется в :labview: (скрыто), ведёт себя аналогично и весит примерно столько же.
Есть чит-код, но с ним могут быть сложности при переносе.
Можно все используемые программой библиотеки положить рядом с exe, тогда программа будеит запускаться и без рантайма. Но могут быть проблемы с переносом 32/64, и не исключено, что и при смене версии win тоже возникнут сложности.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Runtime Labview

Сообщение Yurets »

Но их установка требуется однократно.
Это понятно
Можно все используемые программой библиотеки положить рядом с exe
Можно список библиотек минимальный? Допустим программа "hello world"
(32/64 не потребуется , везде 64)
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Runtime Labview

Сообщение Artem.spb »

Yurets писал(а):
Можно все используемые программой библиотеки положить рядом с exe
Можно список библиотек минимальный? Допустим программа "hello world"
(32/64 не потребуется , везде 64)
список не скажу, тестировал пару месяцев назад, заработало, галку в голове поставил, что есть метод, и оставил.
Выяснял банально и топорно.
ВСЁ из
..National Instruments\shared\nicontdt.dll
..\National Instruments\shared\nicont.dll
..\National Instruments\shared\LabVIEW Run-Time\NNNN\ (в вашем случае 2012)
и какой-то ещё компонент из WOW32
кладёте в папку программы (естественно, на машине, где нет рантайма).

дальше банальный цикл.
Для каждого компонента
1) удалить его
2) запустить программу
2.1. если ругается, вернуть компонент
2.2. если не ругается, перейти к следующему.

всякие языковые папки типа китайского и пр можно рубить пачками.
тот самый компонент из wow я нашел именно так, программе ругается что не находит конкретную dll (указывает имя)
я её нашёл поиском по всему диску. их две версии, в разных папках, как раз 32/64.
В итоге после всех экспериментов останется минимальный набор ДЛЯ ЭТОЙ версии exe.
Наверно, чтобы не париться, можно оставить всё :) тогда явной установки рантайма не будет, но размер останется, так что смысла особого нет.
Но у меня программа с довольно адекватным интерфейсом и работой с БД (внешняя библиотека) заняла в итоге в пределах то ли 5, то ли 10 метров, так что экономия существенная.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Runtime Labview

Сообщение dadreamer »

Artem.spb писал(а):Выяснял банально и топорно.
ВСЁ из
..National Instruments\shared\nicontdt.dll
..\National Instruments\shared\nicont.dll
..\National Instruments\shared\LabVIEW Run-Time\NNNN\ (в вашем случае 2012)
и какой-то ещё компонент из WOW32
кладёте в папку программы (естественно, на машине, где нет рантайма).

дальше банальный цикл.
Для каждого компонента
1) удалить его
2) запустить программу
2.1. если ругается, вернуть компонент
2.2. если не ругается, перейти к следующему.

всякие языковые папки типа китайского и пр можно рубить пачками.
тот самый компонент из wow я нашел именно так, программе ругается что не находит конкретную dll (указывает имя)
я её нашёл поиском по всему диску. их две версии, в разных папках, как раз 23/64.
В итоге после всех экспериментов останется минимальный набор ДЛЯ ЭТОЙ версии exe.
Зачем все эти "эксперименты", если давным-давно AndreyDmitriev детально расписал, какие файлы нужны для подобного рода фокусов: http://labviewportal.org/viewtopic.php?p=47524#p47524
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Runtime Labview

Сообщение Kosist »

А зачем все это :think: ? С одной стороны, 400 Мб вроде бы и много (хотя для exe это действительно много, не знаю, как Вы его собирали - это размер инсталятора, думаю; ибо если это действительно лишь exe, то определенно Вы что-то делаете неправильно); но для дисковых накопителей/облак/передаче по сети - не проблема.
Вместо танцев с бубном, можно сделать банальную вещь. Вначале собрать инсталлер со всеми движками и дровами, установить его. А далее делать лишь exe, которое будет занимать намного меньше места, и копировать его на рабочую машину.
Конечно хотелось бы, чтобы приложения на :labview: собирались в exe небольших и компактных размеров, но тут уже ничего не поделаешь... :dntknw:
А в случае "ручного" обхода рантайма - зачем? Экономить место на диске? Как-то в 2017 это не очень актуально, как по мне...
Мы делили апельсин - много наших полегло...
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Runtime Labview

Сообщение dadreamer »

Kosist писал(а):А в случае "ручного" обхода рантайма - зачем? Экономить место на диске? Как-то в 2017 это не очень актуально, как по мне...
Скорее, экономить на операциях при переносе на другие машины. Лень-матушка. :crazy: Для прог, написаных на C или Delphi, рантайм идёт вместе с виндой, так что не требуется установка отдельного пакета. К сожалению, :labview: в этом плане не идеален. Хотелось бы просто скопировать прогу с флэшки и чтобы она пошла (в идеале). Конечно, для серьёзного приложения это никогда не будет выполнимо. Но для простеньких программ почему бы и да.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Runtime Labview

Сообщение Yurets »

это размер инсталятора
конечно
Экономить место на диске? Как-то в 2017 это не очень актуально
я так не думаю
dadreamer
спасибо за ссылку
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»