打包软件使用


原本对我来说对程序开发以及过程最重要,开发完成后打包就无所谓了,随意选择一个打包软件打包好软件即可,但是通过这几年用过的几套打包软件便捷性、功能性、友好性、缺陷性来看,使用一套好的打包软件还是要有选择的,一个好的软件开发完成了,何必再最后的关节上让你的软件黯然失色呢?!在此,本人根据我使用的打包软件经验客观性的说明一下几个打包软件的好坏!

首先本人使用过的打包软件包括:install shield ,Advanced Install,SetupFactory; 其中install shield是在方正的时候使用到的,Advanced Install是在深圳的一家安防公司使用过的,SetUpFactory是我现在使用的,通过使用经验来看我使用的顺序也表明了我对打包软件优缺点的好快的看法,虽然都是国外的打包软件,个人认为从软件各方面来讲SetupFactory要好于Advanced Install,Advanced Install也要好于Install Shield;

Install shield是我最初使用到的打包软件,方正的同事一直跟我说功能非常强大,支持自定义脚本编写,由于当时只用到这款打包软件,我也一直认为这软件非常好使,功能非常强大,但是我当时用的但觉就是操作复杂,有很多操作不知道往哪里添加,哪里删除,当然基本的配置是满足了,但是要满足自定义操作,比较难,写脚本没有半自动化,需要特意学脚本语言之后才能顺利完成自定义操作。

Advanced Install打包工具是我结束北漂后使用到的一款打包软件,当然跟我的工作经历有关,也是同事使用的打包软件,我发现南方的偏向使用Advanced Install工具,可能是感觉的原因吧,应该跟区域关系不大。在我第一次使用这个工具的时候,相比第一个工具,我猛然感觉这东西真的好使,为什么呢?其实不是应为打包用到的基本操作简单,而是相比Install shield而言,他打包软件界面布局简单友好,分为左右两侧,所有的功能都从左边列出来了,而Install shield功能列表嵌套很深,有时候不好找,所以从使用角度上来讲:直接明了,一览无余;友好的操作界面远远吸引了我,当然这家伙也支持脚本添加,唯一的感觉就是和Install shield一样难用,相对而言,使用Advanced Install时间长度比较长,发现的问题非常多:自定义操作不起作用;对系统兼容性不好,到某些客户那里同样的系统跑步了安装包;之前保存的配置在中间加入新的文件后可能配置就没有了,需要一个一个重新配置;界面排版没有问题,但是没有完全按照安装顺序去布局,操作起来感觉一直缺少东西,当然还有很多很多bug,关于windows服务的、关于批处理操作的、关于脚本的、关于多语言的、关于多程序包组织的等等问题,其实在遇到这么多问题之后,我对它的印象大大降低了,一直有想换一个打包软件的看法,但是一直没有搜索到比较好的打包软件,所以一直不敢换。

后来,软件开发完成打包后送检后,发现很多关于打包软件问题,测试的一位同事建议我更换为SetupFacotry,说这款软件是他们公司之前使用到的一款很好的软件,我尝试安装了一把,但由于对改软件不太熟悉,时间比较紧,所以没有使用过,但是随着项目进行下去,打包的次数一次一次,每次bug库都免不了这些打包问题的提出,加之系统太大了,组件或程序包多了,自定义操作繁多,所以依然而言决定更换打包软件,在经过一段时间学习和请教之后,打完第一个包,而且在之前客户运行机器上跑不起来的软件也能跑了,这让我感觉好多了,它打包真的方便很多。优点相比Advanced Install也更明显:

(1)界面排版与Advanced Install一样,很友好,但是左侧的排版顺序让我感觉非常爽,是按照软件安装顺序进行的,所以我想更改哪个步骤很快能定位到;

(2)右侧显示了工程用到的所有组件,这些组件可以通过上方的过滤器显示全部或显示你想看到的组件,如所有、打包的、未打包的、exe或者自己编写过滤器,这样一个大的工程几百上千既能统一管理浏览,也能快速定位操作某一个组件(如快捷方式,属性,程序包等);

(3)右侧的文件排列顺序是根据所在文件夹的顺序,而不是凌乱的,为什么好呢?可以选中某个文件夹的所有组件点击属性,将所有在改文件夹的组件归为某一个程序包,说道程序包这是Advanced Install的一大弱点,Advanced Install是在“组织”功能里面的需要新建组件包或叫程序包,然后一个一个见组件拖入到改包,你想想上千个诶,居然不支持多选拖入!一个一个拖入算了,最大的问题是bug,加入新组件包加入新的组件,它不会自己归类到某一个文件夹,必须用户自己记住添加了那些新组件,然后一个一个拖入到组件包中,不然,哼哼,用户选择组件包的时候安装到另一个组件包去了,直接跑不起来!这是最恶心的事,遇到过不下十次!!!而且它的操作都必须选择“当前操作组件包”,想操作另一个组件包,必须随时切换不然在很多地方选择的时候组件包里的组件是不显示的,哎,想想我都想杀人啊。

(4)多语言支持要好于Advanced Install,用过Advanced Install的人应该支持,支持多语言必须修改“翻译”里面的各张语言表,当然这是正常的,不然怎么支持多语言呢?但是问题来了,它有很多字段不能修改,卧槽!TMD中文安装到处一个英文一个汉字,谁受得了?SetupFactory就到位了而且连快捷方式都是多套语言的,Advanced Install还不知道哪里能支持多套快捷方式的多语言,恶心!

(5)操作界面功能比Advanced Install更直接更简单,很容易找到你需要的修改内容,即使不知道,菜单或按钮稍微来回按一按就能找到了;

(6)自定义操作灰常灰常好,Advanced Install里面的就差远了,感觉他们的程序员跟SetupFactory程序员不是一个等级的,写出来的东西差太多了,我使用的最多的自定义操作就是文件操作、注册表、windows 服务、bat批处理,这些所有操作里面都有了半自动化的脚本编辑了,我根本不需要写具体的脚本,选择对应操作,确定后自动生成脚本了,而且支持n个操作,不想说了,必须给赞!!相比而言Advanced Install就差远了,有个“自定义操作”模块,里面布局很烂,含义模块,执行还有问题,一直报错,垃圾!!

通过上述个人看法,我教大家使用一下SetupFactory,我的需求就是:

(1)安装 :路径选择-程序包选择(安装组件选择)-完成-创建服务器-运行批处理

(2)卸载:运行批处理-停止删除服务-删除开始菜单目录以及文件夹

(3)其他:打包ICon修改为自定义、安装样式或风格

首先带大家看看打包过程:

加入我的打包工程如下(为了能让大家看到具体的结构和组件,这里就暴露一下我的平台名称和组织):

我需要打包的文件接近5000个,分为图上正方形圈出来的7个组件包(程序包),也就是安装的时候可以选择性的安装这7个组件,包括一个windows服务(nvms_service.exe)和两个批处理文件,一个是安装完成运行的批处理,一个是卸载前需要执行的批处理。

(1)打开SetupFactory,这里我用的7.0破解版,选择“创建新工程”向导,按照向导一步一步完成基本打包过程即可

\\

\

(2)填写公司、软件名、公司网址,点击下一步

\\\

(3)选择你打包的文件的文件夹路径,点击下一步

\\

\

(4)选择窗口样式,我们默认即可,选择下一步

\\\

(5)选择窗口主题样式,我们按照自己喜欢选择即可,点击下一步

\\

(6)选择语言支持,我们选中中文语言和英文两种即可,将中文设置为默认,点击下一步

\\

(7)选择从属技术vb版本,我们不需要选择,点击下一步即可

\\

(8)选择支持的操作系统版本,我们默认选择所有即可,点击完成,基本的额工程自动建立起来了

\\

(9)最终创建的基本界面

\\

(10)如果文件不全,需要添加文件,在左侧一栏,第一个小栏目就可以编辑文件先关属性,接下来我们修改版本相关信息,选择第二小栏目中的设置-->会话设置,弹出改小栏目的带tab的所有配置选项并选中了会话设置选项表

\\

设置好产品名称、产品公司、版权,可以修改默认AppFolder即默认应用程序安装路径和默认应用快捷方式路径文件夹;

可以修改背景样式,选择背景演示选项卡:

我们勾选“显示背景窗口”复选框,更为为自己喜欢颜色或者直接使用贴图,可以自己操作摸索下即可完成;

更改需求:

\

更改支持的操作系统,这里支持操作系统很丰富,功能很强大,保持默认配置即可;

日志:

\\

这是安装日志记录跟踪,方便错误后追踪错误,保持默认即可;

高级:

\

\

这里我们可以使用静默安装,这里我不需要静默安装;可以修改安装级别,为当前用户还是所有用户;可以修改默认的打包图标,这里我使用了自定义的图标替换

(11)程序包组件的分离打包(用户自定义安装组件包)

\

在设置里剩下的3项就是安全、程序包、语言;对于安全就是一些序列号等配置,这里跳过,语言就是多语言配置,很简单;重点讲的就是程序包;

程序包:也就是组件包,就是安装的时候用户选择安装那些组件包而不是所有一块安装,点击“程序包”功能

\\

这里我根据我最初的需要建立了7个组件包,可以独立安装使用,添加的时候选择“添加”按钮:

\\

\

填入程序包Id,组件名称和描述,然后切换英文语言,填入相应的组件包名和描述,ID是共用的,为了不出错,最好ID使用英文,点击确定即完成程序包的添加,如果需要修改,选择编辑即可

(12)为程序包(组件包)分配具体组件

程序包建立好后,必须将对应组件归类到对应的程序包,我们看右侧的文件列表

我比较欣赏这里的排序,是根据不同的组件包排序(我的组件名也是根据我的工程文件夹名字来的),我们选中对应的组件,右击菜单里的文件属性菜单

\\

然后选择多文件属性的“程序包”选项卡,这个选项卡里显示了我们刚建立的所有程序包名,我们勾选对应的程序包即可,此时我们刚刚选中的所有文件都会被打包,并且打包到组件AlarmServer中去;

\\

同理,我们将所有组件分配到对应的组件包中去即可;此时所有组件都变为打包状态,如果没有分配就是未打包状态

程序包分配好后,我们需要在安装前显示该程序包(默认只有一个程序包,所以不会显示该对话框,需要用户添加对话框才行)

\\

选择安装之前,在弹出的对话框中删除不需要的什么用户协议等对话框屏幕,添加“程序包选择“对话框,移动到指定位置即可(通过上下按钮):

将右侧建立并分配好的组件程序包向左移动到左侧树上即可,点击确定,完成程序包,安装时候会显示该对话框;

(13)为对应exe创建快捷方式

因为右侧的文件有5000多个,太多了,我们只要将exe建立快捷方式即可,选择过滤器,过滤右侧的文件

\

\

\

双击某组件:

\\\

在弹出的文件属性中,选择“快捷方式”选项卡,选择在桌面和开始菜单的应用程序文件夹生成快捷方式即可,当然我们可以自定义快捷方式生成位置,点击确定即可位该组件生成快捷方式,同理,其他快捷方式生成,默认情况下会给我们的exe和批处理都生成快捷方式,如果不需要,去掉复选框即可;

\

所有的快捷方式生成后,文件列表的“快捷方式”一列就有对应的信息了

\\\

(14)样式修改

在屏幕一栏中,选择工程主题,我们可以修改我们需要的样式或主题,甚至可以修改自己的皮肤库

自己取模块,很简单,此处不多做介绍。

(15)windows服务的建立

因为我的工程有一个windows服务器,必须在安装完成后安装windows服务,所以在左侧的屏幕(就是安装所有对话框屏幕),选择“安装之后”,弹出对话框:

\\\

选择结束安装,点击编辑按钮,就是在点击“完成”(下一步)按钮操作:

\\

设置文件路径必须引用用户选择的文件的路径,所以使用变量,此时选择%AppFolder%变量,结合SessionVar.Expand()展开变量路径即可获取全路径,此处服务器路径:

SessionVar.Expand("%AppFolder%\\NVMS_Service.exe");添加完成后自动生成对应自动化脚本,当然熟悉的用户可以直接用代码搞定不需要操作;

文件操作一样可以这么操作,此处不再介绍,当然系统支持系统操作(重启、关机等),文件操作(移动、命令、删除、运行等)、服务操作(创建、删除、暂停、重启等)

(16)构建设置与构建

我们生产一个exe包,设置生产包路径和名称即可

\

\\\

(17)安装效果

\

\\

\\

\

\

下一步即可,完成了windows服务安装和bat处理运行

\\

相关内容