前言

上一篇中,我们分析介绍了LabVIEW自带的安装发布功能,今天总结一下VIPM的发布功能。
 

VIPM


提到LabVIEW,不能不提VI Package Manager (VIPM)这个工具包,该工具包包含了许多优秀的开源工具包。如果你愿意研究这些工具包,往往会发现你想实现的功能其实已经有很多人帮你实现了。

 
 
VIPM的使用比较简单,关键在于肯花时间研究,如果你想进一步了解VIMP工具包的相关知识,可以参考下面这个链接,本文不再赘述。

[VI Package Manager (VIPM) 使用介绍](http://sanwen8.cn/p/396QHAV.html)

这里我将重点总结的是其发布功能。

故事

- 如果你处于一个LabVIEW的开发团队中,你将不得不面对一个事实,你需要统一的架构或者工具包,来加速代码的开发。

- 如果你只是一个人开发,你也需要在不同的电脑上安装相同的工具包,以便自己可以复用项目中常用的工具和代码。

在没有发布功能前,我们往往这样做:
1. 将你的文件拷贝出来,并单独写一篇文章来讲述这些工具包应该安装在哪些目录下
2. 你可以用LabVIEW的发布功能,将其打包成一个安装包

这两种方式在情况不复杂的时候,可以帮助我们实现工具包发布的功能。但是随着开发年限增加,工具包也会不停增加,许多的文档复制工作或者细小的安装包管理都会是重复工作,会不断降低工作效率。

为此,如何快速的发布和安装工具包是LabVIEW工程师必备技能之一。

正文


打开VIPM,可以看到打包发布功能如下图所示

VIPM弹出 VI Package Builder 界面,在这个界面我们可以创建一个新的发布工程,或者打开一个已有的工程

这里我以曾经创建过的AutoRef工具举例,讲解工具的制作和发布工作
 在Build Infomation 中填写发布相关内容

在Display Information中,可以设置名称和图标等信息

在Description中,可以详细的介绍自己的工具包如何使用

在Palettes中,可以配置选板一些参数

在Destinations 中,相当于做路径管理,可以根据需要创建一些目标相对路径,方便我们将工具包自适应不同环境的电脑上

这里我的工具包需要发布在LabVIEW Data目录下,所以我创建了一个Elton Data AutoRefs路径,其根目录为 OS的用户文档目录,并增加SubDirectory为 LabVIEW Data\ Elton Data\01 AutoRefs



在Source File Settings 可以看到我们发布的源代码,这里可以为每一个VI或者文件夹设置安装的路径

在源码中,可以指定顶层目录为ELton Data AutoRefs路径(上一步完成设置)
不同的VI可以设置安装在不同路径下
 
可以在高级设置中,定义安装需要的环境,避免由于环境错误导致的安装错误
 
在Custom Actions中,可以设置安装前后的动作
这里我在安装完成工具包后需要设置一些快捷键,所以单独添加了一个VI,将快捷键信息写入LabVIEW.ini文件中


最后可以看到自己工具包的名称,使用默认就好了~

完成设置后,可以点击工具包发布即可
完成工具包制作后,即可在指定的目录下找到自己完成的安装包

VIPM工具包安装


双击打开工具包,我们即可看到制作好的内容,点击Install即可一键安装到LabVIEW中去
安装完成后,文件将放置于对应目录下:
 并且可以自动实现快捷键的配置

总结


VIPM发布功能的实现,让开发人员可以很轻松的定制和发布工具包,开发人员的努力可以让目标用户尽可能的减少配置的工作量,不仅方便自己,也方便他人。
 

VIPM 发布功能总结的更多相关文章

  1. 06@LabVIEW发布功能总结

    前言 在没有接触到LabVIEW强大的发布功能前,我时常发愁如何把自己的工具包给别人装上,有时候为了一些特定的安装,需要自己写一个一键安装的程序,时间长了发现还不如直接复制来的快,就是苦了那些用工具包 ...

  2. 一步步开发自己的博客 .NET版(4、文章发布功能)百度编辑器

    前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) 第四:做个插件,任何网站上的技术 ...

  3. 使用vs中的发布功能发布asp.net core项目时遇到ERROR_CERTIFICATE_VALIDATION_FAILED错误

    今天将VS2015编制的一个asp.net core项目发布到服务器进行测试,使用的是vs中主菜单"生成"中的"发布"功能. 遇到了一个错误,在网上反复检索尝试 ...

  4. Sharepoint 2013 发布功能(Publishing features)

    一.默认情况下,在创建网站集时,只有选择的模板为‘ Publishing Portal(发布门户)’与‘ Enterprise Wiki(企业 Wiki)’时才默认启用发布功能,如下图所示: 二.发布 ...

  5. SharePoint 2013 跨网站集发布功能简介

    在SharePoint Server 2013网站实施中,我们经常会遇到跨网站集获取数据,而2013的这一跨网站集发布功能,正好满足我们这样的需求. 使用SharePoint 2013中的跨网站发布, ...

  6. 使用Office-Word的博客发布功能(测试博文)

    本人打算在博客园开博,但平时收集和整理资料都在OneNote中,又不想在写博客时还要进行复制粘贴操作,于是就想到了Microsoft Office自带的博客发布功能.在此做了一下测试,发布了此博文. ...

  7. Sharepoint 开启发布功能的PowerShell

    前言 最近,需要一段开启SharePoint站点发布功能的PowerShell命令,因为很多站点批量开启,去网站集功能和网站功能里分别点很麻烦,就搜了这样的命令,如果有需要的可以看一看. $siteU ...

  8. AgileConfig轻量级配置中心1.4.0发布,重构了发布功能

    加入 NCC 先说一个事,AgileConfig 在 7 月底终于通过了 NCC 社区的审核,正式成为了 NCC 大家庭的一员.这对 AgileConfig 来说是一个里程碑,希望加入 NCC 后能更 ...

  9. [js高手之路]设计模式系列课程-委托模式实战微博发布功能

    在实际开发中,经常需要为Dom元素绑定事件,如果页面上有4个li元素,点击对应的li,弹出对应的li内容,怎么做呢?是不是很简单? 大多数人的做法都是:获取元素,绑定事件 <ul> < ...

随机推荐

  1. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  2. Easyui columns列图片移位问题!!!

    InitGrid: function () { $("#list").datagrid({ toolbar: '#tb', url: BanZhengXiaoLuSearch.Aj ...

  3. 【转】理解inode

    From:http://www.ruanyifeng.com/blog/2011/12/inode.html  阮一峰大神真NB 作者: 阮一峰 日期: 2011年12月 4日 inode是一个重要概 ...

  4. Android基础学习第三篇—Intent的用法

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  5. Breakpad Google的crash捕获、抓取开源库

    简介: Breadpad为google chrominum项目下用于处理dump的一套工具:内部采用跨平台方式实现捕获.生成.解析与平台无关的dump,便于统一处理:支持进程内与进程外捕获,当为进程外 ...

  6. [Linux] xargs 和 管道符的区别

    今天刚好遇到需要使用xargs的情况,就来研究一下xargs 和 管道符的区别 举几个例子,下面两个语句执行后的结果是什么呢? 1. zhang$ find . -name "*.prope ...

  7. (转) JAVA中如何设置图片(图标)自适应Jlable等组件的大小

    一.问题: 一个程序,组件上设置某个图片作为图标,因为的label(应该说是组件)已经设定了固定大小, 所以再打开一些大图片时,超过组件大小的部分没显示出来,而小图片又没填充完整个组件 二.解决这个问 ...

  8. 大话css之display的Block未解之谜(一)

    用了几年的css了,css中inline | block |inline-block|table|flex从来没有做过系统的整理和分析,网上的分析文章也很多,零散. 今天有空,就在这做一下整理分析 b ...

  9. java对象转换成json

    package com.bjs.acrosstime.utils; import java.util.ArrayList; import java.util.Date; import java.uti ...

  10. unity3d关于碰撞问题

    这个是我做忍者游戏出现的问题,做个记录也为以后有人遇到也可以借鉴.因为刚接触unity,所以对其所知甚少,说错的地方请指教. 问题:角色碰撞墙为什么会先触发碰撞地面,然后再触发碰撞墙 想要的效果:是角 ...