[转] 使用InstallShield11.5部署Web程序  {安装包}

看完本文章后,你应该可以用InstallShield建立一个安装包,这个安装包可以实现以下功能:
1、检查服务器是否安装Microsoft.Net Framework 2.0,如果安装,自动安装。
2、在IIS中建立站点,并为站点建立单独的应用程序池
3、在MS SQL Server中建立数据库,并初始化数据,同时将用户输入的信息保存在数据库中
4、修改Web.config中的数据库连接字符串。
 
建立一个Basic MSI Project,命名为VS2005SampleSetup。

切换到Project Assistant视图
一、在Application Information中,设置安装程序的基本信息。

二、在Installation Requirements中,设置系统需求。因为我们要在IIS中建立站点,所以只选择Windows 2003 Server。

三、在Application Files中,修改默认的安装路径,并设置Web程序中的文件。
 

四、在Installation Interview中,设置不显示授权文件,允许用户更改安装路径,不允许用户更改安装部件
切换到Installation Designer视图
一、修改安装流程,让用户输入一些信息,我们将把这些信息保存在数据库中。另外,让用户选择数据库服务器,并设置数据库名称。
1、选择User Interface下的Dialogs节点。

2、在中间列表的All Dialogs上点右键,选择New Dialog...,出现新对话框向导

3、点下一步,设置对话框类型。这里一共有4种类型,选择一种后,下边会显示它的描述。这里我们选择Interior Wizard Panel。去掉Let me Insert this dialog into a sequence复选框,点击Finish关闭向导

4、修改对话框名称为UserInfo。
5、点开UserInfo,选择Chinese(Simplified)节点,向对话框中添加控件。

6、对话框编辑器和VS2005里WinForm的设计器差不多,很容易上手。选中一个控件,可以在右侧的属性框中设置它的各个属性值。下面,我们要添加一个输入框让用户来输入一个用户名,以便我们将它插入到数据库中。
我们选择工具栏上的输入框按钮,在对话框上划出一个区域,松开鼠标后,会提示我们输入这个控件的Property。我们在程序的其它位置,可以通过这个属性访问到它的值。这里我们输入US_USER_NAME。按照这个方法,你可以添加其它需要的控件。完成后的对话框如下图所示:

7、按照上面的方法,再添加一个对话框DataBaseName,让用户输入要建立的数据库的名称,输入框的Property设置成US_DATABASE_NAME。完成后的对话框如下图:

8、对话框建立好了,下面的工作就是把它们放到安装步骤里面去。
9、选择Behavior and Logic节点下面的Sequences,在中间的列表中,选择User Interface下的InstallWelcome,这就是按出现顺序排列的安装时要显示的各个对话框。
 
我们需要把UserInfo对话框放在SQLLogin的前面,DataBaseName对话框放在SQLLogin的后面,怎么做呢?很简单。先选中SQLLogin前面的DestinationFolder,在右侧空格中选择【Edit dailog behavior】,然后在中间空格中选择Next,我们可以看到,右侧列表中的有一个NewDialog的Event,Argument是SQLLogin。
 
我们只需把SQLLogin改成UserInfo就可以了。同时,编辑UserInfo的Next按钮的事件,也添加一个NewDialog的Event,Argument设置成SQLLogin,Condition是执行这个事件的条件,如果条件不成立,就不会执行这个事件。这里我们设置成US_USER_NAME<> "",也就是说,如果用户不输入用户名,则不会进行到下一步。经过这样的设置后,现在的User Interface中的对话框顺序是这样的:
二、在IIS中建立站点
1、选择Server Configuration下的Internet Information Services节点
2、右键点击中间列表的Application Pools节点,选择Add Application Pool。

3、修改刚建立的应用程序池的名称为VS2005SmaplePool。选中VS2005SmaplePool,你可以在右边的选项中设置各个选项的值,这里就不再详细说了
4、右键点击中间列表的Web Sites节点,选择Add Web Site。

5、修改新建立的站点名为VS2005Sample。
 

6、选中VS2005Sample站点,在右边设置站点的选项。
 选择General标签,如果你想在卸载程序时删除站点,选择Delete Web Site on Unistall。
 
 
选择Web Site标签,在Site Number中输入一串随机的数字。这个数字串是IIS中的站点ID。

 选择Home Directory标签,在Local Path中设置站点的路径,如本例中,为[INSTALLDIR]/Web。同时,修改下边的应用程序池为我们刚才建立的VS2005SamplePool。

 选择Documents标签,设置网站的起始页,本例为Default.aspx

 其它的选项可以根据实际情况进行设置,本例中用不到,就不再设置了。
7、在VS2005Sample站点下建一下虚拟目录,取名为NoUse。这个虚拟目录其实一点用也没有,但是如果不建虚拟目录,InstallShield不会建立站点。
至此,站点就建立完成了。
三、建立数据库并初始化数据。
前提是:你已经在本地的SQL Server服务器中建立了一个数据库,并已经初始化好了数据。
1、选择Server Configuration下的SQLScripts节点
2、右键点击中间列表的SQL Scripts节点,选择Database import wizard...,出现数据库导入向导

3、点下一步,选择本地数据库的服务器和登录信息

4、点下一步,选择要导入的数据库和要生成的脚本的名称

5、点下一步,选择要包含的表。一般选择Include All Tables

6、点下一步,选择其它数据库对象。如果需要同时导入数据,请选中Records

7、点下一步,设置脚本生成选项。一般的选项如下图

8、点下一步,准备生成脚本。如果你想在每次生成安装程序时都重新掭数据库脚本,请选中Regenerate Script at Build。一般情况下,如果你的数据库不是经常变动,不要选择此项
9、点Finish,InstallShield会开始为我们编写脚本。
10、脚本生成完成后,在中间列表中选中刚生成的脚本,本例为VS2005SmapleDatabaseScript。
11、在右边,选择Script标签,在脚本的顶部,添加生成数据库的脚本
CREATE DATABASE [__VS2005SampleDataBaseName__] 
GO  
USE [__VS2005SampleDataBaseName__]
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__替换成我们需要的值。
 
四、修改Web.config中的数据库连接字符串
1、选择System Configuration下的XML File Changes节点,在中间窗格中右键XML Files,选择Import...

2、找到Web.config文件
 

3、只选择数据库连接字符串这个节点。

4、导入

5、在General标签中修改value属性的值为:Server=[IS_SQLSERVER_SERVER];DataBase=[US_DATABASE_NAME];uid=[IS_SQLSERVER_USERNAME];pwd=[IS_SQLSERVER_PASSWORD];
 
五、发布
1、选择Media下的Releases节点,在中间的Release节点上点右键,选择Release wizard。

2、点击Next,输入配置名称,VS2005SampleConfiguration

3、点击Next,输入Release名称,这里输入OneImage

4、点击Next,选择包含的语言。

5、点击Next

6、点击Next,Media Type选择Web。如果你想刻成安装光盘,可选择CD。

7、点击Next,选择安装类型。这里选择One Executable,即一个Setup里包括所有需要用到的文件。

8、点Next,Next,在Windows Installer Location对话框中,选择Extract engine from setup.exe。

9、点Next,Next,在Password & Copyright对话框中,你可以设置自己的版权标志。这会在生成的Setup.exe文件上有所体现

10、Next,最重要的一步:选择Include or set up .NET Framewor。其它选择按照图片设置。

11、Next,Next,Next,Next,Next,Finish!!!如果你选择了Build the Release,Install Shield会马上编译并生成安装文件。

12、到这里,还有一个小缺憾,就是安装时,如果发现目标机器上没有安装.NET Framework,会提示用户是否安装。这怎么行?不安装我的程序就没法运行啊,一定要去掉它。还好可以设置。选择我们刚配置好的OneImage的Relase,在右边的属性表中,设置Display .NET Option Dialog的值为No,就不再询问用户是否安装.NET Framework了,如果发现没有安装,就立即安装,爽!

六、总结
不能完成:1、设置ASP.NET版本。2、设置主机头。 这些需要安装完成后手动设置。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值