主要软件:   LabVIEW Development Systems>>LabVIEW Professional Development System
主要软件版本:   2012
主要软件修正版本:    N/A
次要软件:   N/A

问题:

在Windows平台下使用LabVIEW如何生成一个独立可执行程序和安装程序?

解答:

为什么要生成exeinstaller
使用LabVIEW编写程序的最后往往需要将程序拿到目标电脑上去运行,如何将程序从开发电脑上移植到目标电脑上呢?这里有两种方法:
1. 在目标电脑上安装LabVIEW以及相关驱动和工具包,然后将vi或者整个项目拷贝到目标电脑上。然而安装LabVIEW和各种工具包会比较耗费时间,且vi可以被任意修改,容易引起误操作,如果只是运行程序,则不推荐这种方法。
2. 将LabVIEW编写的程序在开发电脑上编译生成独立可执行程序(exe),然后将可执行程序移植到目标电脑上,这里的移植分为两种方式:
A.将生成的exe拷贝到目标电脑上,然后在目标电脑上单独安装LabVIEW运行引擎(Run-Time Engine)和需要的驱动以及工具包等,此方法中安装驱动和工具包也需要花费较多时间,不推荐
B.将生成的exe和一些用到的组件打包生成installer,即安装程序,然后在目标电脑上运行安装程序即可,这样安装完成后,之前生成的exe、LabVIEW运行引擎以及其他用到的工具包会自动安装到目标电脑上,这种方法移植程序比较简单,是最常用的方法。
关于LabVIEW运行引擎
任何电脑,只要你想在上面运行LabVIEW生成的独立可执行程序(exe),你都需要在目标电脑上安装LabVIEW运行引擎。LabVIEW运行引擎包含了:
1. 运行LabVIEW生成的可执行程序所需要的库和文件
2. 使用浏览器远程访问前面板所需的浏览器插件
3. 应用程序中生成LabVIEW报表所需要的一些组件
4. 一些3D图表的支持等
运行引擎本身就是支持多语言的,不需要安装特定语言版本的运行引擎。另外需要确保目标电脑上安装的运行引擎版本与开发应用程序时使用的LabVIEW版本一致。如果你想在一台电脑上运行多个版本的LabVIEW生成的可执行程序,那你的电脑必须安装与这些LabVIEW版本一一对应的多个版本的运行引擎。不同版本的LabVIEW运行引擎可以在NI官方网站上免费下载到。
关于硬件驱动
如果您的程序使用了NI硬件的驱动,那么在目标电脑上就需要安装对应版本的驱动程序。以DAQmx为例,比方说您在实现一个数据采集任务时用到了某个版本的DAQmx驱动,将来在目标电脑上就需要安装对应版本的DAQmx驱动。
综上所述,目标电脑上安装LabVIEW运行引擎是必须的,而硬件驱动的安装则取决于您的程序是否有使用该硬件驱动。
准备工作
生成独立可执行程序和安装程序需要用到应用程序生成器,LabVIEW专业开发版包含有应用程序生成器,基础版和完全开发版则需要单独购买。
在生成独立可执行应用程序之前需要做一些检查工作,LabVIEW帮助文档中列出了一个检查列表:http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/build_checklist/
生成应用程序简易步骤
1. 新建一个LabVIEW项目,或者打开一个已经建好的项目,项目中包含了您的vi,确保vi运行正常。一些通过文件路径来使用文件的代码在编译成exe之后可能会出现文件找不到的错误,对于此类错误,可以参考KB:5SD4CE7K,3HKEK93U2T6GI6BH18RDJ60O新建的项目如图:
2. 在项目浏览器的程序生成规范处右键单击新建》应用程序(exe)
3. 设置目标文件名和目标目录。目标文件名是您将来生成的exe文件名,该文件位于目标目录中,默认的目标目录会在项目所在目录的上一级目录中新建一个builds文件夹,
   生成的exe文件保存到这个目录中。如图
4. 选择源文件,选中顶层vi单击“添加项”箭头将顶层vi添加到启动vi栏中,其他用到的子vi和文件可以添加到始终包括栏中,如图
 
5. 可以使用LabVIEW默认图标作为应用程序图标,也可以选择自己设计一个图标:使用图标编辑器编辑并保存自己设计的图标,
   去掉“使用默认LabVIEW图标文件”前的勾选,在弹出的对话框中选择添加刚才保存的图标文件,注意“图标图像”的类型要与编辑该图标时选择的类型一致,如图
6. 选择预览》生成预览,然后可以看到将来会生成哪些文件,其中就包括我们的独立可执行应用程序,现在还看不到我们自定义的图标,不用着急,最后生成以后就可以看到了,如图
7. 最后选择“生成”,LabVIEW就会弹出生成状态窗口,当生成结束后会提示生成的应用程序所在路径,您可以单击浏览打开应用程序所在目录,然后就可以看到带自定义图标的应用程序了,如果单击完成,则会关闭生成状态窗口,如图
至此,我们已经完成了生成独立可执行应用程序的操作,如果目标电脑上已经安装了LabVIEW运行引擎和其他需要的组件,那么就可以将生成的exe文件拷贝到目标电脑上直接运行了。以下篇幅介绍在生成exe的基础上如何生成installer,即生成安装文件的操作。
生成installer简易步骤
1. 在同一个项目中右键单击程序生成规范,选择新建》安装程序,如图
 
2. 在“产品信息”中设置您的产品名称和安装程序生成目录,产品名称会影响安装程序所在的路径名,并且对应着在windows添加删除程序列表中应用程序的名字,如图
3. 选择“目标”,修改目标名称,该名称决定了将来安装程序运行结束后,可执行文件会释放到哪个文件夹中,如图
4. 选择“源文件”,在项目文件视图中单击选择之前创建的应用程序生成规范,然后单击添加箭头,将应用程序添加到目标文件夹中,右边目标视图可以看到添加结果,如图
5. 选择“快捷方式”,修改右边的快捷方式名称和子目录名称。快捷方式名称对应着将来在开始菜单中看到的快捷方式图标的名称,
   子目录对应着快捷方式在开始菜单中所处的文件夹名称,如图
6. 选择“附加安装程序”,勾选相应的LabVIEW运行引擎和必要的驱动程序以及工具包等,之后这些驱动以及工具包会一起包含在生成的installer中。LabVIEW在这里会自动帮您勾选一些必要的NI安装程序,但是有可能并没有包含所有需要安装的程序,您的程序中使用到了哪些驱动以及工具包,在这里配置的时候就需要勾选哪些工具包。对于一些特定的工具包,如NI OPCServers、DSC运行引擎等不支持直接打包部署(KB:5SS56RMQ  56P8BSJT),因此在这里会无法勾选或者勾选无效,这些工具包需要在目标电脑上再单独安装,如果您不能确定该工具包是否支持打包部署,请联系NI技术支持。
7. 单击“生成”按钮开始生成安装程序,同样会弹出一个生成状态窗口,生成过程完成后,单击浏览可以打开安装文件所在路径,您会看到一个setup.exe文件,
这个文件就是最终的安装文件。单击“完成”按钮关闭状态窗口。如图
现在,您可以将打包生成好的安装程序拷贝到目标电脑上运行了,需要注意的是,拷贝的时候要将整个文件夹拷贝到目标电脑上然后再运行setup.exe,安装过程与普通windows应用程序没有区别,安装结束后您就可以在目标电脑上运行您自己的应用程序了。
扩展
 生成应用程序和安装程序其实有很多地方需要设置,这里只给出了一些最基本的设置,其他设置您可以参考LabVIEW帮助文档中的有关描述,这里给出两个链接:
 
 

使用LabVIEW如何生成应用程序(exe)和安装程序(installer)的更多相关文章

  1. Java程序如何生成Jar、exe及安装文件

    http://blog.csdn.net/luoweifu/article/details/7628006/ 一.用Eclipse生产Jar文件 首先,看一下我的项目的目录结构: 1,项目名字上面点右 ...

  2. 使用advanced_installer将.net web程序打包为安装程序

    当项目开发完成之后,需要给客户使用时,总不能将发布后的文件全部放一起压缩后直接给客户吧,然后客户需要自行搭建环境修改配置等等,体验太差了,这时候我们就需要使用一种打包工具了,查了一些资料之后,我选择使 ...

  3. VS安装程序制作之MSI/EXE

    MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据.MSI文件将程序的组成文件与功能关联起来 ...

  4. 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序

    在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...

  5. 安装程序工具 (Installutil.exe)22

    网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx  安装程序工具 (Installutil.exe) .NET Fram ...

  6. 安装程序工具 (Installutil.exe)

    网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx  安装程序工具 (Installutil.exe) .NET Fram ...

  7. <转>[WinForm] VS2010发布、打包安装程序(超全超详细)

    1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...

  8. [WinForm] VS2010发布、打包安装程序

    最近用到了VS2010WinForm的程序打包功能,网上发现一篇好帖,在此记录以供日后他人之需. 原文链接地址:http://www.mamicode.com/info-detail-2453.htm ...

  9. 003. vs2010发布、打包安装程序(转)

    本资源来自于网络 1.  在vs2010 选择“新建项目”à“ 其他项目类型”à“ Visual Studio Installerà “安装项目”: 命名为:Setup1 . 这是在VS2010中将有 ...

随机推荐

  1. render :template 和 render :parital

    1 .这两个都可以在controller和view中使用,而且好像可以替换,只是用:template,rails不会自动加下划线,用:partial,rails会自动添加下划线.而且规范的做法,:te ...

  2. 【android-tips】如何在view中取得activity对象

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 今天想实现在view中返回上一个activity的功能,想了半天.因为在虽然view是包含于一个activity ...

  3. UVa 1225 Digit Counting --- 水题

    UVa 1225 题目大意:把前n(n<=10000)个整数顺次写在一起,12345678910111213...,数一数0-9各出现多少字 解题思路:用一个cnt数组记录0-9这10个数字出现 ...

  4. android-exploitme(八):内存保护

    如果一个手机被锁屏了,但是有个app还在后台运行,这个时候你想知道些app的信息,需要分析他的内存状态. 1. 首先运行模拟器,打开emm,使得模拟器返回锁屏状态 2. 打开ddms,下载内存文件

  5. 读论文系列:Object Detection NIPS2015 Faster RCNN

    转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大贡献是ROI pooling layer和 ...

  6. [Swift]LeetCode91. 解码方法 | Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  7. JAVA实现具有迭代器的线性表(顺序表)

    1,先了解下JAVA类库中的迭代器:JAVA提供了两种基本类型的迭代器,分别用两个接口来表示:Iterator<T>,ListIterator<T>.其中,Iterator&l ...

  8. Altium Designer 绘图流程及快捷键

    1.Shift+Ctrl+g 设置栅格捕捉大小 2.Q 切换单位 3.E+N +点击字体 改变字体大小 4.自动布线前需在Mechanical 层和keepout层添加一个边框 5.打过孔实现双面走线 ...

  9. cocos2d-js Shader系列1:cocos2d-js Shader和OpenGL ES2.0

    cocos2d的Shader也就是差不多直接跟GPU打交道了,跟Flash的Stage3D(AGAL)类似,不过没有AGAL这么恶心,不需要直接编写汇编语言.而Fragment Shader又跟Fla ...

  10. jquery tmpl学习资料 --{{each}} each使用

    <!DOCTYPE html><html><head>    <script src="Scripts/jquery-1.6.2.min.js&qu ...