看完本文章后,你应该可以用InstallShield建立一个安装包,这个安装包可以实现以下功能:
1、检查服务器是否安装Microsoft.Net Framework 2.0,如果安装,自动安装。
2、在IIS中建立站点,并为站点建立单独的应用程序池
3、在MS SQL Server中建立数据库,并初始化数据,同时将用户输入的信息保存在数据库中
4、修改Web.config中的数据库连接字符串。
1、检查服务器是否安装Microsoft.Net Framework 2.0,如果安装,自动安装。
2、在IIS中建立站点,并为站点建立单独的应用程序池
3、在MS SQL Server中建立数据库,并初始化数据,同时将用户输入的信息保存在数据库中
4、修改Web.config中的数据库连接字符串。
建立一个Basic MSI Project,命名为VS2005SampleSetup。
![](http://www.vs2005.com/uploads/installshield/20070702140512531.png)
切换到Project Assistant视图
一、在Application Information中,设置安装程序的基本信息。
![](http://www.vs2005.com/uploads/installshield/20070702140702265.png)
二、在Installation Requirements中,设置系统需求。因为我们要在IIS中建立站点,所以只选择Windows 2003 Server。
![](http://www.vs2005.com/uploads/installshield/20070702140830093.png)
三、在Application Files中,修改默认的安装路径,并设置Web程序中的文件。
![](http://www.vs2005.com/uploads/installshield/20070702142139375.png)
四、在Installation Interview中,设置不显示授权文件,允许用户更改安装路径,不允许用户更改安装部件
![](http://www.vs2005.com/uploads/installshield/20070702142405046.png)
切换到Installation Designer视图
一、修改安装流程,让用户输入一些信息,我们将把这些信息保存在数据库中。另外,让用户选择数据库服务器,并设置数据库名称。
1、选择User Interface下的Dialogs节点。
一、修改安装流程,让用户输入一些信息,我们将把这些信息保存在数据库中。另外,让用户选择数据库服务器,并设置数据库名称。
1、选择User Interface下的Dialogs节点。
![](http://www.vs2005.com/uploads/installshield/20070702150104015.png)
2、在中间列表的All Dialogs上点右键,选择New Dialog...,出现新对话框向导
![](http://www.vs2005.com/uploads/installshield/20070702150154328.png)
3、点下一步,设置对话框类型。这里一共有4种类型,选择一种后,下边会显示它的描述。这里我们选择Interior Wizard Panel。去掉Let me Insert this dialog into a sequence复选框,点击Finish关闭向导
![](http://www.vs2005.com/uploads/installshield/20070702150427234.png)
4、修改对话框名称为UserInfo。
5、点开UserInfo,选择Chinese(Simplified)节点,向对话框中添加控件。
![](http://www.vs2005.com/uploads/installshield/20070702150903609.png)
6、对话框编辑器和VS2005里WinForm的设计器差不多,很容易上手。选中一个控件,可以在右侧的属性框中设置它的各个属性值。下面,我们要添加一个输入框让用户来输入一个用户名,以便我们将它插入到数据库中。
我们选择工具栏上的输入框按钮,在对话框上划出一个区域,松开鼠标后,会提示我们输入这个控件的Property。我们在程序的其它位置,可以通过这个属性访问到它的值。这里我们输入US_USER_NAME。按照这个方法,你可以添加其它需要的控件。完成后的对话框如下图所示:
![](http://www.vs2005.com/uploads/installshield/20070702151833703.png)
7、按照上面的方法,再添加一个对话框DataBaseName,让用户输入要建立的数据库的名称,输入框的Property设置成US_DATABASE_NAME。完成后的对话框如下图:
![](http://www.vs2005.com/uploads/installshield/20070702152434046.png)
8、对话框建立好了,下面的工作就是把它们放到安装步骤里面去。
9、选择Behavior and Logic节点下面的Sequences,在中间的列表中,选择User Interface下的InstallWelcome,这就是按出现顺序排列的安装时要显示的各个对话框。
![](http://www.vs2005.com/uploads/installshield/20070702152845953.png)
我们需要把UserInfo对话框放在SQLLogin的前面,DataBaseName对话框放在SQLLogin的后面,怎么做呢?很简单。先选中SQLLogin前面的DestinationFolder,在右侧空格中选择【Edit dailog behavior】,然后在中间空格中选择Next,我们可以看到,右侧列表中的有一个NewDialog的Event,Argument是SQLLogin。
![](http://www.vs2005.com/uploads/installshield/20070702153831156.png)
我们只需把SQLLogin改成UserInfo就可以了。同时,编辑UserInfo的Next按钮的事件,也添加一个NewDialog的Event,Argument设置成SQLLogin,Condition是执行这个事件的条件,如果条件不成立,就不会执行这个事件。这里我们设置成US_USER_NAME<> "",也就是说,如果用户不输入用户名,则不会进行到下一步。经过这样的设置后,现在的User Interface中的对话框顺序是这样的:
![](http://www.vs2005.com/uploads/installshield/20070702153809031.png)
![](http://www.vs2005.com/uploads/installshield/20070702153809031.png)
二、在IIS中建立站点
1、选择Server Configuration下的Internet Information Services节点
1、选择Server Configuration下的Internet Information Services节点
2、右键点击中间列表的Application Pools节点,选择Add Application Pool。
![](http://www.vs2005.com/uploads/installshield/20070702143010000.png)
3、修改刚建立的应用程序池的名称为VS2005SmaplePool。选中VS2005SmaplePool,你可以在右边的选项中设置各个选项的值,这里就不再详细说了
4、右键点击中间列表的Web Sites节点,选择Add Web Site。
![](http://www.vs2005.com/uploads/installshield/20070702143206343.png)
5、修改新建立的站点名为VS2005Sample。
6、选中VS2005Sample站点,在右边设置站点的选项。
选择General标签,如果你想在卸载程序时删除站点,选择Delete Web Site on Unistall。
![](http://www.vs2005.com/uploads/installshield/20070702143450906.png)
选择Web Site标签,在Site Number中输入一串随机的数字。这个数字串是IIS中的站点ID。
![](http://www.vs2005.com/uploads/installshield/20070702143639296.png)
选择Home Directory标签,在Local Path中设置站点的路径,如本例中,为[INSTALLDIR]\Web。同时,修改下边的应用程序池为我们刚才建立的VS2005SamplePool。
![](http://www.vs2005.com/uploads/installshield/20070702143728015.png)
选择Documents标签,设置网站的起始页,本例为Default.aspx
![](http://www.vs2005.com/uploads/installshield/20070702143845453.png)
其它的选项可以根据实际情况进行设置,本例中用不到,就不再设置了。
7、在VS2005Sample站点下建一下虚拟目录,取名为NoUse。这个虚拟目录其实一点用也没有,但是如果不建虚拟目录,InstallShield不会建立站点。
至此,站点就建立完成了。
三、建立数据库并初始化数据。
前提是:你已经在本地的SQL Server服务器中建立了一个数据库,并已经初始化好了数据。
1、选择Server Configuration下的SQLScripts节点
前提是:你已经在本地的SQL Server服务器中建立了一个数据库,并已经初始化好了数据。
1、选择Server Configuration下的SQLScripts节点
2、右键点击中间列表的SQL Scripts节点,选择Database import wizard...,出现数据库导入向导
![](http://www.vs2005.com/uploads/installshield/20070702144344609.png)
3、点下一步,选择本地数据库的服务器和登录信息
![](http://www.vs2005.com/uploads/installshield/20070702144501968.png)
4、点下一步,选择要导入的数据库和要生成的脚本的名称
![](http://www.vs2005.com/uploads/installshield/20070702144556125.png)
5、点下一步,选择要包含的表。一般选择Include All Tables
![](http://www.vs2005.com/uploads/installshield/20070702144635171.png)
6、点下一步,选择其它数据库对象。如果需要同时导入数据,请选中Records
![](http://www.vs2005.com/uploads/installshield/20070702144744140.png)
7、点下一步,设置脚本生成选项。一般的选项如下图
![](http://www.vs2005.com/uploads/installshield/20070702144906406.png)
8、点下一步,准备生成脚本。如果你想在每次生成安装程序时都重新掭数据库脚本,请选中Regenerate Script at Build。一般情况下,如果你的数据库不是经常变动,不要选择此项
9、点Finish,InstallShield会开始为我们编写脚本。
10、脚本生成完成后,在中间列表中选中刚生成的脚本,本例为VS2005SmapleDatabaseScript。
11、在右边,选择Script标签,在脚本的顶部,添加生成数据库的脚本
CREATE DATABASE [__VS2005SampleDataBaseName__]
GO
USE [__VS2005SampleDataBaseName__]
GO
GO
在脚本的底部,添加插入数据的脚本
Insert into [User](Name,NickName) Values ('__USER_NAME__','__USER_NAME__')
GO
Insert into [User](Name,NickName) Values ('__USER_NAME__','__USER_NAME__')
GO
其中,__VS2005SampleDataBaseName__、__USER_NAME__是用户指定的,我们在下一步里会用变量替换它们。
12、选择Text Replacement标签,替换__VS2005SampleDataBaseName__和__USER_NAME__为用户输入的值。
__VS2005SampleDataBaseName__就要替换成US_DATABASE_NAME,
__USER_NAME__替换成US_USER_NAME。这样,InstallShiled在执行数据库脚本时,会先把__VS2005SampleDataBaseName__和__USER_NAME__替换成我们需要的值。
![](http://www.vs2005.com/uploads/installshield/20070702154137390.png)
12、选择Text Replacement标签,替换__VS2005SampleDataBaseName__和__USER_NAME__为用户输入的值。
__VS2005SampleDataBaseName__就要替换成US_DATABASE_NAME,
__USER_NAME__替换成US_USER_NAME。这样,InstallShiled在执行数据库脚本时,会先把__VS2005SampleDataBaseName__和__USER_NAME__替换成我们需要的值。
![](http://www.vs2005.com/uploads/installshield/20070702154137390.png)
![](http://www.vs2005.com/uploads/installshield/20070702164302015.png)
四、修改Web.config中的数据库连接字符串
1、选择System Configuration下的XML File Changes节点,在中间窗格中右键XML Files,选择Import...
1、选择System Configuration下的XML File Changes节点,在中间窗格中右键XML Files,选择Import...
![](http://www.vs2005.com/uploads/installshield/20070702161250375.png)
2、找到Web.config文件
![](http://www.vs2005.com/uploads/installshield/20070702161320375.png)
![](http://www.vs2005.com/uploads/installshield/20070702161337906.png)
3、只选择数据库连接字符串这个节点。
![](http://www.vs2005.com/uploads/installshield/20070702161359703.png)
4、导入
![](http://www.vs2005.com/uploads/installshield/20070702161406812.png)
5、在General标签中修改value属性的值为:Server=[IS_SQLSERVER_SERVER];DataBase=[US_DATABASE_NAME];uid=[IS_SQLSERVER_USERNAME];pwd=[IS_SQLSERVER_PASSWORD];
![](http://www.vs2005.com/uploads/installshield/20070702161433171.png)
五、发布
1、选择Media下的Releases节点,在中间的Release节点上点右键,选择Release wizard。
1、选择Media下的Releases节点,在中间的Release节点上点右键,选择Release wizard。
![](http://www.vs2005.com/uploads/installshield/20070702154511687.png)
2、点击Next,输入配置名称,VS2005SampleConfiguration
![](http://www.vs2005.com/uploads/installshield/20070702154536281.png)
3、点击Next,输入Release名称,这里输入OneImage
![](http://www.vs2005.com/uploads/installshield/20070702154547531.png)
4、点击Next,选择包含的语言。
![](http://www.vs2005.com/uploads/installshield/20070702154600890.png)
5、点击Next
![](http://www.vs2005.com/uploads/installshield/20070702154608718.png)
6、点击Next,Media Type选择Web。如果你想刻成安装光盘,可选择CD。
![](http://www.vs2005.com/uploads/installshield/20070702154631781.png)
7、点击Next,选择安装类型。这里选择One Executable,即一个Setup里包括所有需要用到的文件。
![](http://www.vs2005.com/uploads/installshield/20070702154639796.png)
8、点Next,Next,在Windows Installer Location对话框中,选择Extract engine from setup.exe。
![](http://www.vs2005.com/uploads/installshield/20070702154704265.png)
9、点Next,Next,在Password & Copyright对话框中,你可以设置自己的版权标志。这会在生成的Setup.exe文件上有所体现
![](http://www.vs2005.com/uploads/installshield/20070702154735609.png)
10、Next,最重要的一步:选择Include or set up .NET Framewor。其它选择按照图片设置。
![](http://www.vs2005.com/uploads/installshield/20070702154750812.png)
11、Next,Next,Next,Next,Next,Finish!!!如果你选择了Build the Release,Install Shield会马上编译并生成安装文件。
![](http://www.vs2005.com/uploads/installshield/20070702154821671.png)
12、到这里,还有一个小缺憾,就是安装时,如果发现目标机器上没有安装.NET Framework,会提示用户是否安装。这怎么行?不安装我的程序就没法运行啊,一定要去掉它。还好可以设置。选择我们刚配置好的OneImage的Relase,在右边的属性表中,设置Display .NET Option Dialog的值为No,就不再询问用户是否安装.NET Framework了,如果发现没有安装,就立即安装,爽!
![](http://www.vs2005.com/uploads/installshield/20070702154937546.png)
13、我们在安装Web服务器项目时,有时候需要添加一个访问我们Web项目的快捷方式,而不是做一个安装目录中静态页面的快捷方式。这样做的好处是我们点击快捷方式之后系统会打开一个IE窗口,URL指向http://localhost/MyWebSite。而这一功能我没有在IS的图形操作中找到,我实现的方式是:先在这里添加一个指向web目录的某一页面的快捷方式(如指向.htm或者.aspx),
然后到Additional Tools中的Direct Editor中找到Shortcut表,
六、总结
不能完成:1、设置ASP.NET版本。2、设置主机头。 这些需要安装完成后手动设置。