Как создать полноценное приложение *.exe

Создание приложений, библиотек, инсталляторов

Re: Как создать полноценное приложение *.exe

Postby dadreamer on 01 Dec 2018, 22:35

toshas wrote:Интересно, а с NXG такое прокатывает ?

Сходу не получилось, очень много зависимостей у экзешника. Эта новая среда на .NET написана, тянет за собой здоровый набор библиотек. Походу это тот момент, когда выигрыш от подобных фокусов сошёл на нет и проще поставить ран-тайм, чем так извращаться.
User avatar
dadreamer
professor
professor
 
Posts: 3157
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 803
I/O VIP vision internet

Re: Как создать полноценное приложение *.exe

Postby Аня on 03 Dec 2018, 14:16

Недавно мною было написано небольшое приложение для работы с устройством через интерфейс RS232.
Размер директории, сформированной в "Application Builder", составил 2 МБ.
Созданный инсталлятор занял на жестком диске свыше 100 МБ.
Все рекомендуемые компоненты кроме Serial Runtime и LabVIEW Runtime были отключены.

Существуют ли способы, позволяющие значительно ужать размер инсталлятора в LabVIEW?
Аня
beginner
beginner
 
Posts: 27
Joined: 25 May 2015, 20:09
LabVIEW Version: 14.1
Karma: 0

Re: Как создать полноценное приложение *.exe

Postby Artem.spb on 03 Dec 2018, 15:26

Аня wrote:Недавно мною было написано небольшое приложение для работы с устройством через интерфейс RS232.
Размер директории, сформированной в "Application Builder", составил 2 МБ.
Созданный инсталлятор занял на жестком диске свыше 100 МБ.
Все рекомендуемые компоненты кроме Serial Runtime и LabVIEW Runtime были отключены.

Существуют ли способы, позволяющие значительно ужать размер инсталлятора в LabVIEW?


все способы-ответы на этот вопрос обсуждаются в этой ветке, почему бы не почитать прежде чем спрашивать?
То, что exe маленький, не значит, что ему не требуется много функций, которые спрятаны в run-time.
Вес рантайма - плата за удобство и размеры exe.
Программа на каком-нибудь .net тоже весит мало, только рантайм там не меньше LV-шного.
Artem.spb
expert
expert
 
Posts: 1443
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 248
CLD hardware I/O VIP freelance

Re: Как создать полноценное приложение *.exe

Postby dadreamer on 03 Dec 2018, 20:53

Аня wrote:Недавно мною было написано небольшое приложение для работы с устройством через интерфейс RS232.
Размер директории, сформированной в "Application Builder", составил 2 МБ.
Созданный инсталлятор занял на жестком диске свыше 100 МБ.
Все рекомендуемые компоненты кроме Serial Runtime и LabVIEW Runtime были отключены.

Существуют ли способы, позволяющие значительно ужать размер инсталлятора в LabVIEW?

Именно ужать - сомнительно, т.к. инсталлер - уже архив, а большой вес оттого, что много базовых компонентов внутри для запуска любого скомпилированного приложения (с учётом отключенных компонентов при сборке). Это ещё у вас мало получилось, весь ран-тайм весит больше 300 МБ (для LV 2018 32/64 бита).

Можете попробовать хак, описанный в данной теме, но раз использована VISA, то потребуется дополнительно определить библиотеки, от которых будет зависеть экзешник (Dependency Walker может облегчить задачу). Точно понадобятся вот эти:
visa32.dll из C:\Windows\System32 (\SysWOW64 для 32-битного приложения на 64-битной ОСи)
NiViAsrl.dll из C:\Program Files\IVI Foundation\VISA\Win64\Bin (C:\Program Files (x86)\IVI Foundation\VISA\WinNT\bin для 32-битного приложения)
Но есть и другие зависимости, их надо найти. У меня, к сожалению, в ближайшие дни нет времени, чтобы этими вещами заняться. Ну, или можете вместо Визы использовать какой-нибудь враппер на WinAPI. Для работы с COM-портом можно взять враппер типа Serial Port API или serpdrv (эти только под LV 32-bit). В таком случае понадобится лишь разместить DLL'ку рядом с экзешником.
User avatar
dadreamer
professor
professor
 
Posts: 3157
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 803
I/O VIP vision internet

Previous

Return to Создание приложений

Who is online

Users browsing this forum: No registered users and 2 guests

cron