2015年4月19日星期日

基于InstallShield2013LimitedEdition的安装包制作 - 伍华聪

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
基于InstallShield2013LimitedEdition的安装包制作 - 伍华聪  阅读原文»

在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012、VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不多,但是处理还是有很大的不同,本文主要基于VS2013的基础上,介绍使用InstallShield2013LimitedEdition的安装包制作。

1、安装使用InstallShield2013LimitedEdition

在使用VS2013创建安装包之前,我们需要安装一个InstallShield的版本,其中LimitedEdition是一个可以申请免费账号使用的版本,当然专业版InstallShield是收费,而且费用也不低的了。使用LimitedEdition,我们也可以创建一般的安装包,本文主要介绍基于LimitedEdition版本的安装包制作。

安装完毕LimitedEdition版本后,我们可以在VS的新建项目里面,有一个安装包的创建工程模板了。

创建一个基于InstallShield的安装包工程后,就出现了下面这些界面,包含了几个步骤的内容,有些特性因为是LimitedEdition版本的原因,不能全部使用,不过不影响我们创建大多数用途的安装包。

2、创建配置InstallShield安装包的信息

1)应用程序信息

创建InstallShield的安装包,就是按照这些1,2,3,4,5,6这些步骤进行配置就差不多了,首先需要配置好公司名称,软件名称、版本、网站地址、程序包图标等基本信息。

对于详细的程序信息,我们还可以通过General Information功能进行详细的设置处理,如设置安装包语言、软件名称、介绍等信息。

单击【General Information】功能,出现一个更加详细的安装参数设置界面,我们根据提示设置相关的内容即可。

2)设置安装包所需条件

我们做.NET安装包的时候,一般都希望客户准备好相关的环境,如果没有准备,那么我们可以提示用户需要先安装.NET框架的。这个步骤就是做这些安装前的预备工作的处理。

这里我的安装包是基于.NET 4.5程序的,因此选择对应版本的.NET框架就可以了,如果有其他类似SQLServer等的也可以设置。

3)添加安装包目录和文件

制作安装包一个费用重要的步骤就是添加所需的目录和文件,在Application Files里面可以添加对应的目录和文件,这个可以添加相应的依赖DLL,非常方便。

我们也可以在主文件里面查看他的依赖应用,可以去掉一些不需要的DLL的。

如果我们单击左边【Files and Folders】,我们就可以更加详细的操作整个安装包的文件和目录内容了。

如可以查看主程序文件的依赖文件操作。

4)创建安装程序功能入口

我们知道,以前利用VS创建的安装包,我们一般会在启动菜单创建对应的菜单结构、以及在桌面里面创建快捷方式等,这样才是标准的安装包生成内容,在Install Shield里面,软件这些更加方便,在【Application ShortCuts】里面,我们就可以创建这样的菜单和快捷方式了,如下所示。

A

我们也可以通过【Shortcuts】功能进入更加直观的界面显示,如下所示。

5)安装界面设置

Install Shield提供了很好的安装对话框界面设置,我们可以在这里设置所需要的安装包对话框,如许可协议、欢迎界面、安装确认等对话框,以及一些自定义的界面也可以。

打击【Dialogs】对话框,可以展示更详细的界面设置。

3、自定义对话框背景和文字

上面设置好的内容,生成安装包后,能够顺利进行安装了,不过默认的图片背景还是采用了 InstallShield的标准界面。有时候,我们希望能够自定义对话框的一些背景,以及安装界面的一些文字。这样我们的安装包界面和别人的就有区别,不在千遍一律了,看起来也更专业一些。

例如,默认我们生成的程序界面如下所示:

如果我们需要修改这里的背景和一些文字内容,我们可以在对应的路径下找到这些文件并修改即可。

下面是InstallShield相关的一些目录位置:

背景图片位置:C:\Program Files (x86)\InstallShield\2013LE\Support\Themes\InstallShield Blue Theme

字符串位置:C:\Program Files (x86)\InstallShield\2013LE\Languages

例如我把程序的背景界面设置为如下所示。

重新编译程序后,生成的安装包,启动界面就会发生了变化,符合我们的预期效果了,呵呵。

安装软件后,在启动菜单里面,就可以看到他的快捷菜单了,桌面也有对应的快捷方式了。

而对于对话框里面的提示文本,也可以通过上面地址(字符串位置:C:\Program Files (x86)\InstallShield\2013LE\Languages)的文件进行修改。

我们找到对应的2052的中文提示内容,进行修改即可。

这样我们根据上面的步骤,就能很好创建基于VS2013基础上的安装包了,并且对安装包的一些自定义设置进行了处理,使得我们生成的安装包更加美观、专业。


本文链接:基于InstallShield2013LimitedEdition的安装包制作,转载请注明。

ZMAN的学习笔记之Python篇:命令行解析 - isZMAN  阅读原文»

ZMAN的学习笔记之Python篇:

  1.装饰器

  2.函数“可变长参数”

  3.命令行解析

注:本文全原创,作者:ZMAN (http://www.cnblogs.com/zmanone/)

  在Python中,对命令行的解析方式不唯一,本文将介绍两种方法:一种是用sys.argv手动设置,另一种是用argparse模块。

一、sys.argv是什么

  首先看一个例子:

import sys

print(len(sys.argv))
for arg in sys.argv:
print(arg)

  将以上代码保存为argparse1.py,然后cmd下定位到这个文件所在目录,输入:

python argparse1.py arg1 arg2 arg3

  回车后,运行结果为:

4
argparse1.py
arg1
arg2
arg3

  sys.argv是一个list,保存命令行参数,其中第一个值是“该程序所在路径”,我们可以观察到:在cmd中输入的参数被依次传入这个列表中(以空格作为间隔)。

二、使用sys.argv解析命令行

  大致了解了sys.argv,我们可以手动写命令行解析功能。代码如下:

import sys

if sys.argv[1].startswith('--'):
arg
= sys.argv[1][2:]

if arg == 'help':
print("这里打印帮助信息")

elif arg == 'sum':
count
= 0

if len(sys.argv) < 3:
print("想要使用sum功能,请输入一些数字")
sys.exit()

for i in sys.argv[2:]:
try:
count
+= int(i)
except ValueError as e:
print("输入的参数不正确")
sys.exit()

print(count)

  

  将以上代码保存为argparse1.py,然后cmd下定位到这个文件所在目录,输入:

python argparse1.py --help

  回车后,输出一行字:这里打印帮助信息

  继续输入:

python argparse1.py --sum 1 3 5 4

  回车后,输出:13

  试试看输入异常值:

python argparse1.py --sum 1 3 5 a

  回车后,输出一行字:输入的参数不正确

  继续输入:

python argparse1.py --sum

  回车后,输出一行字:想要使用sum功能,请输入一些数字

  上述代码可以捕捉 "--help"和"--sum"两个命令,如果用户传入"help",程序会打印一些帮助信息,如果用户传入"--sum",则会将之后的参数做累加计算并输出结果,也能处理一些异常情况。

  下面介绍使用argparse模块来解析命令行参数。

三、argparse模块

  Python2.7版本开始自带argparse模块,这是一个用来解析命令行参数的模块,可以自动生成帮助信息。

  首先,我们来看一下最简单的使用:

import argparse

myParser
= argparse.ArgumentParser(description='解析命令行演示')
myParser.parse_args()

  将以上代码保存为argparse1.py,然后cmd下定位到这个文件所在目录,输入:

python argparse1.py --help

  回车后,输出:

usage: argparse1.py [-h]

解析命令行演示

optional arguments:
-h, --help show this help message and exit

  我们可以看到,使用argparse模块,会自动包含--help信息。

四、argparse定制解析

  接着,我们可以使用add_argument方法来增加参数。先来看一个简单的实例:

没有评论:

发表评论