`
jayjayjays
  • 浏览: 215412 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

InstallShield SQL 数据库安装

阅读更多
function OnFirstUIAfter()
    STRING szTitle
, szMsg1, szMsg2, szOpt1, szOpt2;
    NUMBER bvOpt1, bvOpt2;
    NUMBER bShowUpdateServiceDlg;
    STRING szWaitText;
    STRING szServiceName;
    NUMBER svServiceState;
    STRING szMsde2000, szCmdLine,szStartServiceArgs;
begin
    // 如果安装程序以“维护”模式启动
    if (MAINTENANCE) then
        goto EndProcess
;
    endif;

    // 检查系统是否安装了 MSDE 
2000 SP4
    szWaitText 
= "正在检查系统是否安装了 MSDE2000 SP4 …….";
    SdShowMsg( szWaitText, TRUE);    
    
    szServiceName 
= "MSSQLSERVER";
    if(ServiceGetServiceState(szServiceName, svServiceState) < ISERR_SUCCESS) then
        // 没有安装 MSDE,转安装处理
        goto InstallMSDE
;    
    endif;
    goto StartMSDE; 
    
InstallMSDE:  // 安装数据库服务  
    szWaitText 
= "正在安装 MSDE2000 SP4。这个过程需要几分钟,请稍等";
    SdShowMsg(szWaitText, TRUE); 
    
    szMsde2000 
= SRCDIR ^ "MSDE" ^ "setup.exe";
    // 将 MSDE 2000 SP4 安装到系统 Program File 目录下
    szCmdLine 
= "TARGETDIR="" + PROGRAMFILES + "" /q";
    if(LaunchAppAndWait(szMsde2000, szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_MAXIMIZED) < 0 ) then
        MessageBox (
"安装 MSDE2000 SP4 失败,请联系系统管理员!", SEVERE);
        goto EndProcess;
    endif;

StartMSDE: // 启动 MSDE2000 服务
    szWaitText 
= "正在启动 MSDE2000 SP4 …….";
    SdShowMsg( szWaitText, TRUE);    
   
    // 安装了 MSDE 
2000, 试着启动服务
    szStartServiceArgs 
= "";    
    if(svServiceState != SERVICE_RUNNING) then
        if (ServiceStartService (szServiceName
, szStartServiceArgs) < ISERR_SUCCESS ) then
            MessageBox (
"启动服务" + szServiceName + "出错。", SEVERE);
            goto EndProcess;
        endif;        
    endif;

    // 加载用户数据库
    szWaitText 
= "正在创建所需数据库.";
    SdShowMsg(szWaitText, TRUE);
    Delay(2); 
    
    // 先试着分离先前已经加载的数据库
    szCmdLine 
= "-E -Q "exec exec sp_detach_db GEChargeLicence "";
    if(LaunchAppAndWait("osql.exe ", szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN) < 0) then 
        MessageBox (
"分离原来的数据库失败!请确认系统中已安装 MSDE 2000 SP4 并且服务已启动。如问题仍无法解决,请与联系统管理员联系!", SEVERE); 
    endif; 
    
    // 将数据文件复制到程序安装目录
    CreateDir( TARGETDIR ^ 
"Data");
    CopyFile( SRCDIR ^ "Data" ^ "GEChargeLicence.mdf", TARGETDIR ^ "Data" ^ "GEChargeLicence.mdf");
    CopyFile( SRCDIR ^ "Data" ^ "GEChargeLicence.ldf", TARGETDIR ^ "Data" ^ "GEChargeLicence.ldf");    
    
    // 附加数据库    
    szCmdLine 
= "-E -Q "exec sp_attach_db 'GEChargeLicence', '"+  TARGETDIR ^ "Data" ^ "GEChargeLicence.mdf', '" +  TARGETDIR ^ "Data" ^ "GEChargeLicence.ldf' ""; 
    if (LaunchAppAndWait("osql.exe ", szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN) < 0) then 
          MessageBox (
"数据库创建失败!请确认系统中已安装 MSDE 2000 SP4 并且服务已启动。如问题仍无法解决,请与联系统管理员联系!", SEVERE); 
    endif;
    
    SdShowMsg(szWaitText
, FALSE);     
    
EndProcess:    
    
    // 以下代码是系统自动插入的
    ShowObjWizardPages(NEXT)
;
    
    szTitle 
= "";
    szMsg1 = ""; 
    szMsg2 = "";
    szOpt1 = "";
    szOpt2 = "";
    bvOpt1   = FALSE;
    bvOpt2   = FALSE;    

    // Set this to true if you have the update service enabled
, and if you want to check for updates.
    // Note: the ISUS Starter Edition does not support checking for updates programatically.  So
, 
    // only set this to true if you have at least the ISUS Professional Edition.
    bShowUpdateServiceDlg 
= FALSE;
    
    //{{IS_SCRIPT_TAG(Dlg_SdDinishEx)    
    
    if ( BATCH_INSTALL ) then
        SdFinishReboot ( szTitle 
, szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 );
    else
        
        // If the update service is enabled
, show finish dialog that includes
        // update check option.
        if( bShowUpdateServiceDlg && ( ENABLED_ISERVICES & SERVICE_ISUPDATE ) ) then

            if( SdFinishUpdateEx( szTitle
, szMsg1, szMsg2, szOpt1, szOpt2, TRUE ) ) then

                // Don't check for updates in silent mode.
                if( MODE !
= SILENTMODE ) then
                    UpdateServiceCheckForUpdates( 
"", FALSE );
                endif;

            endif
;

        else
            SdFinish ( szTitle 
, szMsg1 , szMsg2 , szOpt1 , szOpt2 , bvOpt1 , bvOpt2 );
        endif;

    endif
;
    //}}IS_SCRIPT_TAG(Dlg_SdDinishEx)    
end
; 

 按F7 制作安装影像。生成的安装影像文件位于 [盘符:]\InstallShield Express Projects\[安装项目名称]\Media\cdrom\Disk Images\Disk1
5、向影像中添加 MSDE 2000 SP4 的安装文件。
请先参照 MSDE 2000 ReadmeSql2k32desksp4.htm 中《4.1 再分发 MSDE 2000 SP4》的说明。
打开文件夹 [盘符:]\InstallShield Express Projects\[安装项目名称]\Media\cdrom\Disk Images\Disk1, 然后创建两个子文件 MSDE  和 Data 。
            [盘符:]\InstallShield Express Projects\[安装项目名称]\Media\cdrom\Disk Images\Disk1\MSDE    用于存放 MSDE 2000 SP4  安装文件;
            [盘符:]\InstallShield Express Projects\[安装项目名称]\Media\cdrom\Disk Images\Disk1\Data   用于存放你要安装的数据库文件;
说明:MSDE 2000 ReadmeSql2k32desksp4.htm 中《4.1 再分发 MSDE 2000 SP4》中的说明并太确切。实际上,为了让 MSDE 2000 SP4 的Setup.exe 正确运行,还需要将所下载并解压 MSDE 2000 SP4 中 *.dll  和 *.rll 复制到 [盘符:]\InstallShield Express Projects\[安装项目名称]\Media\cdrom\Disk Images\Disk1\MSDE  中。

 

注意:这个检测脚本好象不能用在WebProject中 如果可以,大家谁告诉我怎么办 谢谢

分享到:
评论

相关推荐

    installshield数据库部署

    在使用Installshield进行软件打包时,如果需要在安装过程中自动创建数据库或者执行某些数据库操作,首先必须确保能够成功连接到数据库服务。这一步骤是后续所有数据库操作的基础。 - **连接设置**:在Installshield...

    Installshield 12 中文系列教程之 配置服务(一)数据库

    3. **数据库安装和卸载**:通过安装脚本,InstallShield可以在安装过程中创建数据库,或者在卸载时删除相关对象。这确保了软件的完整生命周期管理。 4. **用户数据存储**:如果应用程序需要存储用户特定的数据,...

    利用Osql实现SQL Server数据库的自动安装注册.pdf

    根据提供的文件信息,以下是关于利用Osql和InstallShield实现SQL Server数据库自动安装注册的知识点。 ## Osql工具和SQL Server数据库 - **Osql工具**:Osql是一个命令行查询工具,用于执行Transact-SQL语句。它是...

    Installshield2010 实现web部署和数据库安装示例.doc

    《Installshield2010实现Web部署和数据库安装详解》 Installshield 2010是一款强大的安装包制作工具,广泛应用于软件部署和系统集成。本文将深入探讨如何使用Installshield 2010进行Web应用程序的部署以及数据库的...

    installshield辅助小程序_部署Mysql数据库

    - 首先,你需要在InstallShield项目中添加MySQL数据库服务器作为安装前提条件,确保目标机器上已经安装了MySQL服务。 - 接着,集成"db.sql"脚本:在安装过程中,可以通过InstallShield的定制动作来执行这个脚本。...

    InstallShield制作安装Web安装程序.pdf

    综上所述,这篇文档涉及了如何使用InstallShield软件来制作Web安装程序,涉及到软件版本、项目创建、系统环境配置、数据库配置以及安装程序设计等多个方面的详细知识点。通过这些步骤,可以完成一个Web安装程序的...

    使用Installshield2010创建安装程序

    由于静默安装可能涉及到复杂的参数设置,为了避免困扰不熟悉数据库的用户,我们选择在“Behavior and Logic”下的“Support Files”中添加解压后的SQL文件,然后在“InstallScript”下编写脚本来实现静默安装。...

    Installshield程序打包之web程序数据库.pdf

    这样,使用InstallShield11.5,我们成功创建了一个web程序数据库的安装包,该安装包可以实现检查服务器是否安装Microsoft.Net Framework 2.0、在IIS中建立站点、在MS SQL Server中建立数据库,并初始化数据,同时将...

    引人入胜Installshield6.x 安装程序设计与制作 配套cd

    如何连接数据库、安装数据库组件、执行SQL脚本,以及处理服务器服务的安装和配置,都是InstallShield的重要应用领域。 最后,书中还包含了故障排除和最佳实践的章节,帮助读者在遇到问题时能够迅速找到解决办法,...

    Installshield 12 中文系列教程之 配置服务(一)数据库.pdf

    在本章节中,作者详细介绍了Installshield 12提供的数据库配置功能,包括但不限于连接SQL服务器、导入数据库模型与数据、设置SQL服务器属性等内容。这对于那些需要将数据库作为应用程序一部分进行部署的开发者来说尤...

    InstallShield制作安装Web安装程序[汇编].pdf

    使用InstallShield 2009创建Web安装程序涉及多个步骤,包括项目创建、文件添加、安装体验定制以及数据库和DLL文件的处理。通过这种方式,开发者能够为用户提供一个简洁、可靠的安装流程,确保软件的顺利部署。理解并...

    vs2005制造安装包(包括数据库安装)

    数据库安装部分,可能涉及到SQL Server 2005,这是VS2005常用的数据平台。在创建安装包时,需要考虑如何将数据库脚本或预建数据库包含进去,并在安装过程中运行这些脚本来创建和配置数据库。这通常需要在安装项目中...

    Installshield使用_手册_教程_大全

    《Install11.5创建sql.pdf》可能是关于在InstallShield 11.5中创建SQL Server数据库的教程,详细解释了如何配置数据库连接、编写SQL脚本、设置数据驱动安装以及处理数据库升级等问题。这对于需要将数据库作为应用...

    InstallShield 安装包制作指南

    在安装制作高级篇中,InstallShield提供了软件组件集成打包、集成数据库安装以及修改程序配置文件等高级功能。集成数据库可以采用SQL脚本方式或数据库文件方式。在集成数据库安装时,需要对数据库进行配置,保证...

    使用Installshield制作asp,asp.net应用的安装程序

    3. **自动建立SQL数据库**: - 对于依赖数据库的应用,安装程序可以自动化创建数据库和相关表结构。使用Installshield,可以编写脚本连接到SQL Server并执行SQL命令来完成数据库的创建。 4. **自动建立IIS虚拟目录...

    Installshield12中文系列教程之配置服务数据库.pdf

    《Installshield12中文系列教程之配置服务数据库》是一份针对IT专业人员的详细教程,主要讲解如何使用Installshield工具来配置服务数据库,特别是对于服务器端技术的支持,如IIS、SQL Server和组件服务。本教程特别...

    J2EE打包详解 Installshield

    此外,InstallShield还能处理数据库配置,比如SQL Server的设置,包括创建数据库和导入预定义的数据。 **二、J2EE打包流程** 1. **准备环境**:确保已安装JDK和Tomcat,以及具备数据库管理权限。在InstallShield...

    delphi程序安装包制作详解

    在开发 Delphi 数据库应用程序时,常常需要将 BDE(Borland Database Engine)一同发布以便于程序...使用 InstallShield 制作安装程序时,可以方便地控制这些文件的包含与否,从而实现 Delphi 数据库程序的高效发布。

    InstallShield X教程.pdf

    通过对以上内容的学习,我们可以了解到 InstallShield X 是一款非常强大的软件安装包制作工具,它不仅支持创建复杂的安装程序,还可以集成 SQL Server 数据库的创建与初始化,使得整个安装流程自动化且高效。...

Global site tag (gtag.js) - Google Analytics