使用InstallShield下部署ASP.NET网站和MySQL,目标机为Win7——(三)整体部署

思路是,Win7自带.Net3.5所以不必安装。Win7也自带IIS,不必安装,但需要打开。MySQL数据库部署是成功的。所以InstalShield内有2个Feature,一个网站,一个MySQL。

关于IIS,我们之前打算在客户端没有打开时,用安装程序执行bat命令打开win7的IIS。但这样不行,安装包还是无法识别IIS根目录,导致网站被装到了某个磁盘的根目录下。所以IIS必须事先打开。我们通过InstallShield的Installation Requiremnets来这样做。没打开IIS则无法继续安装,提示客户手工执行那个安装IIS的bat脚本。

其实,当我们添加网站时,在System Search里InstallShield自动添加2项的注册表搜索,是IIS版本和根目录的,也许IIS的安装检测放在Appsearch事件之前也可,但脚本运行IIS会比较慢,导致安装程序很奇怪,打开时,先卡死一会儿。也许有更好的方法。我暂时不会。

 

发布流程:

  1.新建InstallScript MSI Project

  2.公司名xxxxxx

  3.新建网站,脚本读写选‘是’, 目标为[IISROOTFOLDER],应用程序池选择默认应用程序池

 

 

  4.然后设置IIS的预检查,脚本见下放。

  5.2个Feature,一个CiBASE(网站),一个MySQL。用向导添加文件。并选择好安装目录。Cibase安装在IIS根目录下,MySQL安装在[INSTALLDIR]mysql下。(其中[INSTALLDIR] 在General Information里设置为[ProgramFilesFolder]xxxx\cibase)

使用向导添加Components

 

2个Feature添加完成

 

  6.查看Files And Folders,删除不必要目录。

  7.为IIS跟目录添加权限。因为网站有上传操作,要写文件。此处添加的权限过多,会导致不安全。但我不想挨个试了。太麻烦了。也许一个Everyone就可以了。

  8.添加快捷方式,指向本地网站。注意Icon的Target和Arguments

  9.为mysql的安装后,卸载前,添加脚本

LaunchAppAndWait(INSTALLDIR^"mysql"^"Install.bat","",WAIT);//安装后

LaunchAppAndWait(INSTALLDIR^"mysql"^"UnInstall.bat","",WAIT);//卸载前

  10.可在首次安装不出现填写公司和名称对话框,无用

 

以下几点注意:

  1.我们把网站部署到客户机的IIS根目录下。并不新建子文件夹。这样做,是因为网站本身的代码有些问题,导致部署的路径过深时(比如http://localhost/cibase/),有些功能不正确。

  2.Web.config:链接字符串

<add key="ConnectionString" value="Database=cibase;Data Source=xxxxxx;User Id=xxx;Password=xxx"/>

改为:

<add key="ConnectionString" value="Database=cibase;port=3310;Data Source=localhost;User Id=cibase;Password=123456"/>

  3.Web.config:<sessionState mode="StateServer"  timeout="20"/>

改为

<sessionState mode="InProc"  timeout="20"/>减少开启客户端aspnet状态服务的麻烦。

 

iis7x_setup.bat脚本,为了打开win7下IIS的功能。在win7下IIS的Help里的脚本,我执行是不成功的。以下脚本是网上下载的。我用beyondComparer比较了下,比官方help少了几项。就用网上的吧。

@echo off
echo 正在添加IIS功能,这可能需要几分钟时间...
start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI
echo IIS已添加成功! 

 

 

使用InstallShield下部署ASP.NET网站和MySQL,目标机为Win7——(一)使用bat批处理部署非安装版MySQL

使用InstallShield下部署ASP.NET网站和MySQL,目标机为Win7——(二)使用InstallShield部署非安装版MySQL

使用InstallShield下部署ASP.NET网站和MySQL,目标机为Win7——(三)整体部署

 

posted on 2012-12-06 20:38  水手paul2008  阅读(631)  评论(0编辑  收藏  举报