Немного продвинолось дело, из всего Run-Time обязательными к установке для нормальной работы приложения являются три компонента:
LabVIEW_Runtime_Engine_2014
VC2010MSMs
ActiveX_Container
Без последнего приложение уже становиться исполняемым, но .NET контейнер все равно не отображается и появляется ошибка 1172 для Invoke Node.
Как запустить приложение (*.exe) без установки Run-Time
- toshas
- assistant
- Сообщения: 105
- Зарегистрирован: 05 апр 2009, 22:45
- Версия LabVIEW: 9.0
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: Как запустить приложение (*.exe) без установки Run-Time
Получилось!!
Но работает с оговоркой.
LabVIEW_Runtime_Engine_2014 добавляет необходимые
VC2010MSMs добавляет vc runtime библиотеки
ActiveX_Container добавляет одну dll
но с ней как раз проблема, приложение работает и подгружает .NET контейнер только если эта dll зарегистрирована (regsvr32 nicont.dll),
т.е. в реестре есть класс {7E985DEE-3D20-11D2-A3EA-006008CA119A} и путь к nicont.dll
Это приводит к необходимости запуска приложения через скрипт (reg.bat/ureg.bat) в котором эта регистрация добавлена до запуска самого приложения и исполнение обязательно с правами администратора (получилось запрашивать автоматически, но все равно это не лучшее решение).
Есть ли возможность от этого избавиться ? Можно ли обойтись манифестом рядом ? Попробовал по этой статье, но ничего не получилось
https://developex.com/blog/using-com-wi ... istration/
https://forums.ni.com/t5/LabVIEW/Callin ... d-p/802537
https://knowledge.ni.com/KnowledgeArtic ... AW&l=en-US
Но работает с оговоркой.
LabVIEW_Runtime_Engine_2014 добавляет необходимые
Код: Выделить всё
DNCInterface140.dll
NationalInstruments.LabVIEW140.dll
VC2010MSMs добавляет vc runtime библиотеки
Код: Выделить всё
atl100.dll
mfc100.dll
mfc100chs.dll
mfc100cht.dll
mfc100deu.dll
mfc100enu.dll
mfc100esn.dll
mfc100fra.dll
mfc100ita.dll
mfc100jpn.dll
mfc100kor.dll
mfc100rus.dll
mfc100u.dll
mfcm100.dll
mfcm100u.dll
msvcp100.dll
vcomp100.dll
msvcr100.dll
ActiveX_Container добавляет одну dll
Код: Выделить всё
nicont.dll
но с ней как раз проблема, приложение работает и подгружает .NET контейнер только если эта dll зарегистрирована (regsvr32 nicont.dll),
т.е. в реестре есть класс {7E985DEE-3D20-11D2-A3EA-006008CA119A} и путь к nicont.dll
Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{7E985DEE-3D20-11D2-A3EA-006008CA119A}]
@="NIConAppManager Class"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{7E985DEE-3D20-11D2-A3EA-006008CA119A}\InprocServer32]
@="C:\\PROGRA~2\\NATION~1\\Shared\\nicont.dll"
"ThreadingModel"="Apartment"
Есть ли возможность от этого избавиться ? Можно ли обойтись манифестом рядом ? Попробовал по этой статье, но ничего не получилось
https://developex.com/blog/using-com-wi ... istration/
https://forums.ni.com/t5/LabVIEW/Callin ... d-p/802537
https://knowledge.ni.com/KnowledgeArtic ... AW&l=en-US
- Вложения
-
- RTE_dlls.PNG (4.56 КБ) 693 просмотра
-
- MXM_dlls.PNG (9.72 КБ) 693 просмотра
-
- ACX_dlls.PNG (1.49 КБ) 693 просмотра
-
scripts.zip
- (1.54 КБ) 31 скачивание
-
- VIP
- Сообщения: 1408
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 8
- Версия LabVIEW: 6.1 - 2025
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 77 раз
- Контактная информация:
Re: Как запустить приложение (*.exe) без установки Run-Time
О, а вот этот ваш пример работает у меня как в IDE, так и в приложении

А у вас он только когда вы соибраете LabVIEW рантайм в одну папку с приложением не работает на голой ОС (так я не проверял) или на той же машие, где собиралось тоже?
- toshas
- assistant
- Сообщения: 105
- Зарегистрирован: 05 апр 2009, 22:45
- Версия LabVIEW: 9.0
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: Как запустить приложение (*.exe) без установки Run-Time
Да, exe не работает только на чистой ОС, на той где есть IDE все ок в обоих вариантах (и vi и exe).
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 1 Ответы
- 233 Просмотры
-
Последнее сообщение Juri
-
- 1 Ответы
- 4421 Просмотры
-
Последнее сообщение Artem.spb
-
- 19 Ответы
- 9941 Просмотры
-
Последнее сообщение AndreyDmitriev