InstallShield使用——例子
1 例子
上面介绍了一些InstallShield的知识,下面通过两个例子介绍如何制作安装程序,由于空间小不再采用图形显示,如有需要可留下Email。
1.1 Basic MSI Project工程项目
这个例子实现MS SQL SERVER数据库、asp.net网站、系统服务、应用程序安装。
1. 创建一个新的工程,选择Basic MSI Project工程类型,在Project Name中填入工程名称:基本包测试,在Location中选择存放路径,并选择Create project file in ‘Project Name’ subfolder(在工程文件夹中创建子文件夹),点击OK;
2. 如果设置了Source Control(源代码管理),会弹出Add to Source Control(添加到源代码管理中)界面,可根据个人需要选择OK或Cancel;
3. 选择Installation Designer界面;
4. 在Installation Information的General Information页中的Add or Remove Programs项中更改Publisher(公司名称)属性:默默软件公司,在Porduct Properties项中更改INSTALLDIR(默认安装路径):d:"MyPrograms;
5. 在Organization的Setup Design页中添加四个Feature:Database(Display Name:数据库;Description:安装并设置数据库)、WebSite(Display Name:网站;Description:安装并设置应用程序网站;Destination:[INSTALLDIR]WebSite)、NTService(Display Name:系统服务;Description:安装应用程序的系统服务;Destination:[INSTALLDIR]Service)、Client(Display Name:客户端;Description:安装应用程序的客户端;Destination:[INSTALLDIR]Client);
6. 在Organization的Components页中添加:
1) NTService组件, 更改属性Destination:[INSTALLDIR]Service,在Files节点中添加服务程序MYSERVICE.EXE及配置文件Config.xml,并此文件设置为Key File,在Install NT Services节点中添加一个服务MYSERVICE,更改属性Display Name:MYSERVICE,Description:我的服务程序;Client组件,更改属性Destination:[INSTALLDIR]Client,在Files节点中添加服务程序MYCLIENT.EXE及配置文件Config.xml,在Shortcuts节点中,在Programs Menu中添加一个New Folder,更改属性Display Name:我的程序,在此程序组中创建一个New Shortcut,依据向导选择MYCLIENT.EXE,更改属性Display Name:我的客户端,Icon File选择MYCLIENT.EXE,Icon Index:0,Working Directory:[INSTALLDIR]Client,在Desktop中添加一个相同的快捷方式;
7. WebSite组件,更改属性Destination:[INSTALLDIR]WetSite,在Files节点中动态添加文件夹,在向导中选中Include subfolders(包含子文件夹)及Include all files,选择网站所在文件夹。
8. 在Organization的Setup Design页中的NTService项中关联Components的NTService,Client项中关联Components的Client,WebSite项中关联Components的WebSite;
9. 在Behavior and Logic的Property Manager中添加一个公共属性:SERVER_IP;
10. 在System Configuration的XML File Changes添加三个XML文件,分别是系统服务和客户端的配置文件Config.xml及网站配置文件web.config;
1) 添加系统服务的配置文件Config.xml,在General页中的XML File Destination选择[INSTALLDIR]Service,在Select Features the XML file belongs to中选择NTService,添加一个New Root Element,并重命名为WebServiceAddress,在Advanced页选择Set element content并填入http://[SERVER_IP]/SMWebService/;
2) 添加客户端的配置文件Config.xml,在General页中的XML File Destination选择[INSTALLDIR]Client,在Select Features the XML file belongs to中选择Client,添加一个New Root Element,并重命名为WebServiceAddress,在Advanced页选择Set element content并填入http://[SERVER_IP]/SMWebService/;
3) 添加网站配置文件web.config,在General页中的XML File Destination选择[INSTALLDIR]WebSite,在Select Features the XML file belongs to中选择WebSite添加一个New Root Element,并重命名为configuration,添加一个New Element,并重命名为connectionStrings,添加一个New Element,并重命名为add[@connectionString="" and @name="DBConnectString"],在此元素的General页面添加属性name,Value为DBConnectString,添加属性connectionString,Value为Server=[IS_SQLSERVER_SERVER];User id=[IS_SQLSERVER_USERNAME];Pwd=[IS_SQLSERVER_PASSWORD];DataBase=TEST;Max Pool Size=200;Connect Timeout=300;Connection Lifetime=3;
11. 在Server Configuration的Internet Information Services中的Web Sites添加一个网站,重命名为默认网站,在默认网站下添加一个虚拟目录MySite,在General页面中更改ASP .NET Version为2.0.50727,在Virtual Directory页面中更改Local Path为[INSTALLDIR]WebSite,Application pool(IIS 6 and later only)更改为DefaultAppPool;
12. 在SQL Scripts添加一个New SQL Connection,在此连接中添加一个New Script,在General页面中的Select Features the XML file belongs to选择Database,在Script页面中编写建库脚本,在Text Replacement页面添加一个替换将%INSTALL_DIR%替换为[INSTALLDIR];
建库脚本:
CREATE DATABASE [test] ON (NAME = N'test_Data', FILENAME = N'%INSTALL_DIR%DATA"test_Data.MDF' , SIZE = 4, FILEGROWTH = 0) LOG ON (NAME = N'test_Log', FILENAME = N'%INSTALL_DIR%DATA"test_Log.LDF' , SIZE = 4, FILEGROWTH = 10%)
GO
use test
GO
CREATE TABLE [dbo].[test] (
[test_code] [smallint] IDENTITY (1, 1) NOT NULL ,
[test_name] [char] (40) NOT NULL ,
) ON [PRIMARY]
GO
CREATE UNIQUE CLUSTERED INDEX [PK__test__6FE99F9F] ON [dbo].[test]([test_code]) ON [PRIMARY]
GO
13. 在User Interface的Dialogs新建一个窗体ServerInfo,选择ServerInfo下的Chinse(Simplified)节设计此窗体,添加一个Text Area,分别将Text属性更改为服务器IP:,添加一个Edit Field,分别录入Property Name(属性名称)为SERVER_IP,添加三个Push Button,分别是上一步、下一步及取消,选择SQLLogin窗体的Behavior的Next按钮,将Event的NewDialog的Argument更改为ServerInfo窗体,选择ServerInfo的Behavior的Next按钮,新增一个NewDialog事件,将Argument更改为CustomSetup窗体,Condition更改为1,同理在上一步按钮中添加返回SQLLogin窗体的事件,在取消按钮中添加Event为SpawinDialog,Argument为CancelSetup,Condiiton为1,在在Behavior and Logic中的Custom Actions and Sequences中可以看出窗体的执行顺序;
14. 选择Media的Releases,可通过向导创建安装盘,在媒体类型选择界面时,选择CD-ROM,在压缩类型时选择Compress all files(压缩所有文件),在.net版本选择是选择Include or set up .NET Framework,选择2.0版本,并选择Copy from source media,直至到完成界面。
下一篇将介绍InstallScript MSI Project类型安装包制作