InstallShield

Installshield是一个强大和易于使用,用于解决Windows软件安装包开发的制作工具。用它可以以传统MSI方式和虚拟格式,自动化地封装、捆绑和包装你的产品。

IntallShield能使你的用户在决定何时何地何方式管理和部署你的应用程序时,得到一个最时尚舒畅的安装体验。是Microsoft Windows平台上应用程序安装打包领域,使用最广泛和市场认可度最高的一款安装打包工具软件,支持Windows(客户版本及服务器版本),Web服务和移动设备。

对于软件开发人员来说,Installshield是一个非常优秀的工具,用来打包自己的应该程序,刚好今天想打包自己的网络电视,所以写个使用教程。


①下载Installshield

网上下载的也比较多,破解版的也多,如果有需要的,可以留下邮箱

②新建工程

打开Installshield 2010 Premier Edition,新建一个Installscript MSI Project,这种被称之为半脚本程序,因为兼具Basic Project基本类型和Installscript Project全脚本类型两者的优点,我比较喜欢用。像我这样需求的,既要用到Wizard的便利,又想写一点脚本来实现一点自定义操作的,就比较适合用这种类型啦。

选择类型为Windows Installer | InstallScript MSI Projcet,输入工程名,指定工程所在的文件夹。

③配置工程

界面会切换到Project Assistant,我们先从这里开始把工程的基本组件和基本文件建立好。

在Project Assistant界面的底部,会有一个引导动作条,在建立该工程的基本结构和文件时,我们都将在此界面进行操作,下文都将以“引导条”来指代这个引导动作条。

❶点击引导条上的Application Information

这里输入:

  • 公司名,公司名将会出现在Setup.exe的注解中

  • 软件名,将会出现在安装过程的左上角标题栏上

  • 版本号,自己比较方便地知道自己在编译哪个版本的软件

  • 公司网址,如果该公司没有网址呢?而且这里有点bug,好像默认的值总是会报一个String_ID1为空的错误,自己输入一个网址就不会报错。

  • 是否在你创建了更新时自动通知最终用户,没用过,我都选了No。

选择一个图标,这个图标会出现在“添加或删除程序”里,我一般用默认的,当然你可以替换成自己想要的图标。

❷点击引导条上的Installation Requirement

这里选择对操作系统和一些软件的需求。根据自己需要来选择是否要求操作系统的版本,已及是否要求安装了某些软件。

我这里不需要其它需求,所以都选no

❸点击引导条上的Installation Architecture

我这里不需要这个配置,不过还是提一下。

这是个十分有用的设置,对于分布式软件来说非常合适,分布式软件的每个组件可以设置为一个Feature,用户可以自由选择安装某些功能。

将选项Do you want to customize your Installation选择为Yes。点击选中根节点Installation Architecture,点击New创建新的Feature,可以为每个Feature指定新名称。还可以在Feature下创建子Feature,比如如果文档Feature下包括软件本身文档,和软件所需的运行环境的文档,那么可以创建两个子Feature,分别包含两种文档,用户在安装时就可以选择安装部分或者全部文档了。这里我们没有用到子Feature,用途和普通Feature一样。

❹点击引导条上的Application Files

我们将在这里对安装路径进行微调,并且为每个Feature指定需要安装的文件

这里我不想使用Program Files | Company Name | Product Name这个路径,我想使用Program Files | Product Name,我直接点击选中My Product Name[INSTALLDIR]拖动到ProgramFileFolder下,还可以直接将My Product Name 改成自己想要的文件夹名字

如果前面设置了多个Feature,这里可以为每个Feature指定要安装的文件。

❺接下来我们为可执行文件创建快捷方式。

点击引导条上的Application Shortcuts ,点击New新建一个快捷方式

选择一个要建立快捷方式的Feature。

如果要建立快捷方式的程序为非.exe形式,请把Files Of选择选为All Files(*.*)格式。

我们的程序安装目标路径设置在Program Files下,因此双击[ProgramFilesFolder]打开,层层点击进入。

我们再切换去Installation Designer,找到System Configuration | Shortcuts。

这里可以看到快捷方式的所以路径,如果你想修改路径,直接拖就可以了

❻点击引导条上的Application Registry

向注册表写键和键值,由于本工程不需要,忽略之。有需要的朋友可以查阅相关资料,不难。

❼点击引导条上的Installation Location

这个是用来设置安装包的语言的,选择了多个语言后,用户可以在安装界面开始的时候选择安装时所用的语言;不过建议还是选个单语言吧,该什么语言的安装包就什么语言的安装包,各归各。

❽点击引导条上的Build Installation。

打包安装盘的设置,当然你也可以用工具条上的Release Wizard,自己写脚本。不过我也不是专业的,也不用定制每一个细节,所以就直接Build Installation了

可以看到编译成功了,有一个警告,是Automatic update notification disabled,这个是自己设置的,不管它

④测试安装文件

在我们保存文件的目录下可以找到安装程序,我这里是制作的本地安装文件,路径是"\PROJECT_ASSISTANT\SINGLE_EXE_IMAGE\DiskImages\DISK1\setup.exe"

把名字改成"成鹏致远网络电视_setup.exe",运行看看效果。

这界面熟悉吧,继续,会让用户输入用户信息

下一步,会让用户选择安装的方式,那个定制对上面提到的分布式软件就有作用了。

然后下一步,就安装成功了。

点桌面上的快捷方式运行程序看看效果

怎么样,界面清爽吧,再看看程序在系统中的信息

看着还行吧,就这样了,其实InstallShield里面还有很多其它的配置选项,另外自己写脚本的话,完全可以个性化定制界面,只不过上面的配置对一般的屌丝来说够用了,所以其它的,感兴趣的自己去玩吧,最好是自己写脚本,工具党还是闹不出什么大事来,囧。。。。

如果你喜欢,就顶一下吧,嘿嘿!

【教程】InstallShield使用完全教程的更多相关文章

  1. PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程

    PS网页设计教程--30个优秀的PS网页设计教程的中文翻译教程   作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作 ...

  2. AFNnetworking快速教程,官方入门教程译

    AFNnetworking快速教程,官方入门教程译 分类: IOS2013-12-15 20:29 12489人阅读 评论(5) 收藏 举报 afnetworkingjsonios入门教程快速教程 A ...

  3. Nginx教程(一) Nginx入门教程

    Nginx教程(一) Nginx入门教程 1 Nginx入门教程 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.由 ...

  4. DroidParts 中文系列教程(基于官方教程)

    DroidParts中文系列教程(基于官方教程) (一)DroidParts框架概况 2014年4月18日星期五 11:36 他是一个精心构造的安卓框架,包括下面这些基本功能 DI依赖注入,可以注入V ...

  5. AVR单片机教程——如何使用本教程

    这是一篇元教程(meta-tutorial)——其他教程教你怎么使用AVR单片机,本篇教程教你如何使用本系列教程. 我们的教程已经把板载LED讲完了,但是教会你的不应该只是如何使用LED.你应该已经知 ...

  6. WebStorm 2019 3.3 安装及破解教程附汉化教程

    WebStorm2019 3.3 安装及破解教程附加汉化教程 安装包及破解补丁 链接: https://pan.baidu.com/s/19ATTAW3Tsm0huIJSqYChTw 提取码:1ei7 ...

  7. MySQL8.0.20下载与安装详细图文教程,mysql安装教程

    MySQL下载与安装(8.0.20版)教程 mysql安装包+mysql学习视频+mysql面试指南视频教程 下载地址: 链接:https://pan.baidu.com/s/1FmLFhGlajBQ ...

  8. SASS教程sass超详细教程

    SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...

  9. Memcache教程 Memcache零基础教程

    Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...

随机推荐

  1. mvn jetty debug

    使用mvn jetty:run很爽吧,但是怎么debug了,找了Google的N多老外文章,终于可以了,文章链接:http://gaertig.pl/blog/en/2009/03/debug-jet ...

  2. Java 过滤特殊字符的 正则表达式

    Java正则表达式学习: 因为正则表达式是一个很庞杂的体系,此例仅举些入门的概念,更多的请参阅相关书籍及自行摸索. \\ 反斜杠 \t 间隔 ('\u0009') \n 换行 ('\u000A') \ ...

  3. 【LeetCode】234. Palindrome Linked List (2 solutions)

    Palindrome Linked List Given a singly linked list, determine if it is a palindrome. Follow up:Could ...

  4. 进阶之路(基础篇) - 005 模拟PWM波控制引脚

    /********************************* 代码功能:输出PWM波控制引脚 使用函数: 创作时间:2016*10*07 作者邮箱:jikexianfeng@outlook.c ...

  5. HDU 4532 湫秋系列故事——安排座位 (组合+DP)

    湫秋系列故事——安排座位 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)To ...

  6. Swift 类型检查与类型转换

    前言 在 Swift 语言中一般使用 is 关键字实现类型检查,使用 as 关键字实现类型转换,除此之外还可以通过构造器和方法来实现类型转换. 1.类型检查 1.1 使用 is 检查 类型检查操作符 ...

  7. @property的使用方法

    参看廖大神的博客 使用@property 有时间整理一下. python 没有私有成员变量的概念,通常在变量前面加单/双下划线来表示私有变量(非共有变量). 通常在python中,以单下划线开始的成员 ...

  8. Git工程迁移方法总结(命令行) .(转载)

    原文地址:http://blog.csdn.net/hongshan50/article/details/236630433 Git工程迁移方法总结 Git工程迁移方法总结 Git最近准备迁移一下位置 ...

  9. iconv 中文截断问题的解决方法

    GB2312 转换为 UTF-8 <?php $content = iconv('GB2312', 'UTF-8', $content); // $content为字符串 ?> iconv ...

  10. Oracle 12C -- sequence的新特性

    如果使用了全局临时表和sequence,有时会遇到一些问题.因为全局临时表与会话(或会话中的事务)相关,而sequence与数据库级别相关. 在12C中,可以创建一个sequence,其使用范围只是针 ...