Runtime Labview

Простейшие вопросы в области инженерной разработки

Runtime Labview

Postby Yurets on 20 Oct 2017, 11:42

Здравствуйте уважаемые форумчане.
Работаю с labview 12. И все программы скомпилированные в :labview: не работают на пк без :labview: рантайма, а если в проекте используется visa, то и нужно установить ещё и его.
В итоге программа, весящая 1 Мб тяжелеет примерно до 400 Мб.
В новой :labview: всё так же?
Yurets
advanced
advanced
 
Posts: 168
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Runtime Labview

Postby IvanLis on 20 Oct 2017, 13:43

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

Да :wink:

Но их установка требуется однократно.
Если Вы переносите программу на ПК с установленным RT, повторная установка не требуется.
User avatar
IvanLis
professor
professor
 
Posts: 4459
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 692
hardware VIP bloggers teachers

Re: Runtime Labview

Postby Artem.spb on 20 Oct 2017, 14:12

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

Скажу больше, .NET, который тоже используется в :labview: (скрыто), ведёт себя аналогично и весит примерно столько же.
Есть чит-код, но с ним могут быть сложности при переносе.
Можно все используемые программой библиотеки положить рядом с exe, тогда программа будеит запускаться и без рантайма. Но могут быть проблемы с переносом 32/64, и не исключено, что и при смене версии win тоже возникнут сложности.
Artem.spb
expert
expert
 
Posts: 1206
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 213
CLD hardware I/O VIP freelance

Re: Runtime Labview

Postby Yurets on 20 Oct 2017, 14:22

Но их установка требуется однократно.

Это понятно
Можно все используемые программой библиотеки положить рядом с exe

Можно список библиотек минимальный? Допустим программа "hello world"
(32/64 не потребуется , везде 64)
Yurets
advanced
advanced
 
Posts: 168
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5

Re: Runtime Labview

Postby Artem.spb on 20 Oct 2017, 17:03

Yurets wrote:
Можно все используемые программой библиотеки положить рядом с 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 метров, так что экономия существенная.
Artem.spb
expert
expert
 
Posts: 1206
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 213
CLD hardware I/O VIP freelance

Re: Runtime Labview

Postby dadreamer on 20 Oct 2017, 19:46

Artem.spb wrote:Выяснял банально и топорно.
ВСЁ из
..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 детально расписал, какие файлы нужны для подобного рода фокусов: viewtopic.php?p=47524#p47524
User avatar
dadreamer
doctor
doctor
 
Posts: 2858
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 704
I/O VIP vision internet

Re: Runtime Labview

Postby Kosist on 22 Oct 2017, 23:22

А зачем все это :think: ? С одной стороны, 400 Мб вроде бы и много (хотя для exe это действительно много, не знаю, как Вы его собирали - это размер инсталятора, думаю; ибо если это действительно лишь exe, то определенно Вы что-то делаете неправильно); но для дисковых накопителей/облак/передаче по сети - не проблема.
Вместо танцев с бубном, можно сделать банальную вещь. Вначале собрать инсталлер со всеми движками и дровами, установить его. А далее делать лишь exe, которое будет занимать намного меньше места, и копировать его на рабочую машину.
Конечно хотелось бы, чтобы приложения на :labview: собирались в exe небольших и компактных размеров, но тут уже ничего не поделаешь... :dntknw:
А в случае "ручного" обхода рантайма - зачем? Экономить место на диске? Как-то в 2017 это не очень актуально, как по мне...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 772
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 230
CLAD I/O VIP students

Re: Runtime Labview

Postby dadreamer on 23 Oct 2017, 05:28

Kosist wrote:А в случае "ручного" обхода рантайма - зачем? Экономить место на диске? Как-то в 2017 это не очень актуально, как по мне...

Скорее, экономить на операциях при переносе на другие машины. Лень-матушка. :crazy: Для прог, написаных на C или Delphi, рантайм идёт вместе с виндой, так что не требуется установка отдельного пакета. К сожалению, :labview: в этом плане не идеален. Хотелось бы просто скопировать прогу с флэшки и чтобы она пошла (в идеале). Конечно, для серьёзного приложения это никогда не будет выполнимо. Но для простеньких программ почему бы и да.
User avatar
dadreamer
doctor
doctor
 
Posts: 2858
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 704
I/O VIP vision internet

Re: Runtime Labview

Postby Yurets on 26 Oct 2017, 12:09

это размер инсталятора

конечно
Экономить место на диске? Как-то в 2017 это не очень актуально

я так не думаю
dadreamer

спасибо за ссылку
Yurets
advanced
advanced
 
Posts: 168
Joined: 03 Dec 2014, 12:36
LabVIEW Version: 7.1;12
Karma: 5


Return to Для чайников

Who is online

Users browsing this forum: Yahoo and 8 guests

cron