• 使用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——(三)整体部署

  • 相关阅读:
    iView -- TimePicker 自定义修改时间选择器选择时间面板样式
    Go语言--容器:存储和组织数据的方式--数组、切片
    php递归实现一维数组转为指定树状结构 --- 省市区处理
    Go语言--基础语法笔记
    Mongodb 安装错误汇总
    GIt -- git push 远程分支老是需要重新输入公钥密码问题处理?
    GIt -- fatal: refusing to merge unrelated histories 问题处理
    Linux -- Centos6 yum安装相关问题与处理
    Linux -- Xshell ,Xftp远程连接中文乱码怎么解决?
    Laravel 多数据库配置及查询操作
  • 原文地址:https://www.cnblogs.com/wigis/p/2806136.html
Copyright © 2020-2023  润新知