安装包怎么做?首先需要明确安装是什么?
记得从海洋女神的blog上看到这样的描述:"安装的本质,就是拷贝"。
对的,安装就是复制,将你开发调试的环境和代码"复制"到目标机器上。当然这个复制不是简单的将IDE编译生成的代码组件简单的复制到目标机器上这么简单,但是大体上也是类似,这里的复制需要如下的内容:
而安装包就是完成将这些内容复制到目标机器上的一个程序.
了解了安装的本质之后然我们进入整体,如何利用InstallShield来打包应用程序,创建出你自己的安装包.
首先我们需要下载安装InstallShield,这里我们选择2010Premier版本,不同的版本可能具有不同的限制.
当第一次打开InstallShield你会发现它多少有点类似我们开发人员经常接触的IDE
InstallShield支持很多种不同的工程这里主要介绍两种
这里参考Kevin wang对这两种工程的介绍:
InstallScript脚本语言容易学习。
Basic MSI工程利用Windows Installer服务来进行安装,以下一些说明也许是你选择Basic MSI工程的理由:
简单来讲
在理解了InstallShield提供的工程类型的基本原理之后,然我们来动手实践一下,这里将使用Basic MSI的工程类型来进行演示.
1,基本安装操作
首先设定要要安装的内容,需要将哪些程序发布到目标机器中?
这里我们就演示发布一个txt文件为例.应用程序只是需要将需要引用的模块同时发布到目标机器中即可.
接着开发应用程序一样,首先我们需要创建一个InstallShield工程项目,这里选择Basic Msi Project.
输入基本内容信息
按照向导一步步填写
添加发布内容
如果不需要任何自定义操作,则不需要编写任何InstallShieldScript
2,添加自定义控制
首先需要添加脚本,这里编写一个简单的Hello Msi弹出窗口
在Designer tab页中选择InstallScript
在右侧的Files中右键添加Script File来添加一个脚本文件
添加如下脚本
export prototype MyFunction(HWND); //如果该函数需要供事件处理直接调用需要如此声明,且参数必须为HWND
//如果内部调用则之需要如下声明
/////////////////////////////////////////////////////
function MyFunction(hMSI)//对应声明中的HWND用于标示MSI的Handle
// To Do: Declare local variables.
STRING szMsg;//局部变量声明
begin
// To Do: Write script that will be executed when MyFunction is called.
szMsg = "This will install Example Program.";
MessageBox (szMsg, INFORMATION);
end;
将脚本绑定到事件处理中
选择Customer Action栏
选择右侧的Customer Actions右键点开Wizards将会弹出相应的向导
输入名称备注
选择InstallScript类型
选择添加的函数
一路Next,完成之后将会在Customer Actions中显示你添加的名称
将User Interface->InstallWelcome点开右键Edit Behavior(编辑事件处理),Edit Layout(编辑外观)选择Edit Behavior
选择Next PushButton
在右侧的列表框中添加一个新的Action:
Event |
DoAction |
Argument |
选择Customer Actions下的自定义名称 |
Condition |
选择1(总是执行) |
编译点击Test User Interface 测试运行
在欢迎界面中点击下一步将会弹出"This will install Example Program."
3,发布
选择Build Project即可完成发布
OK,大功告成,InstallShield安装包的打包流程就介绍到这里了.详细的信息请参考如下资料
参考资料
Stefan Krueger http://msmvps.com/blogs/installsite/default.aspx
Rod Maupin http://www.installationdeveloper.com/
海洋女神 http://www.cnblogs.com/Cindy_weiwei
奕婷 http://www.cnblogs.com/sabrinahuang/
Kevin wang http://www.cnblogs.com/installshield/archive/2010/06/25/1765043.html
源文档 <http://www.cnblogs.com/installshield/archive/2010/06/25/1765043.html>
Install Shield用户手册