Страница 1 из 1

Runtime Labview

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

Re: Runtime Labview

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

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

Re: Runtime Labview

Добавлено: 20 окт 2017, 14:12
Artem.spb
Yurets писал(а): В итоге программа, весящая 1 Мб тяжелеет примерно до 400 Мб.
В новой :labview: всё так же?
Скажу больше, .NET, который тоже используется в :labview: (скрыто), ведёт себя аналогично и весит примерно столько же.
Есть чит-код, но с ним могут быть сложности при переносе.
Можно все используемые программой библиотеки положить рядом с exe, тогда программа будеит запускаться и без рантайма. Но могут быть проблемы с переносом 32/64, и не исключено, что и при смене версии win тоже возникнут сложности.

Re: Runtime Labview

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

Re: Runtime Labview

Добавлено: 20 окт 2017, 17:03
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 метров, так что экономия существенная.

Re: Runtime Labview

Добавлено: 20 окт 2017, 19:46
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

Re: Runtime Labview

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

Re: Runtime Labview

Добавлено: 23 окт 2017, 05:28
dadreamer
Kosist писал(а):А в случае "ручного" обхода рантайма - зачем? Экономить место на диске? Как-то в 2017 это не очень актуально, как по мне...
Скорее, экономить на операциях при переносе на другие машины. Лень-матушка. :crazy: Для прог, написаных на C или Delphi, рантайм идёт вместе с виндой, так что не требуется установка отдельного пакета. К сожалению, :labview: в этом плане не идеален. Хотелось бы просто скопировать прогу с флэшки и чтобы она пошла (в идеале). Конечно, для серьёзного приложения это никогда не будет выполнимо. Но для простеньких программ почему бы и да.

Re: Runtime Labview

Добавлено: 26 окт 2017, 12:09
Yurets
это размер инсталятора
конечно
Экономить место на диске? Как-то в 2017 это не очень актуально
я так не думаю
dadreamer
спасибо за ссылку