`
jayjayjays
  • 浏览: 209585 次
  • 性别: 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中 如果可以,大家谁告诉我怎么办 谢谢

分享到:
评论

相关推荐

    用InstallShield9 进行ASP软件的打包和数据库自动安装-ASP教程,ASP应用进行ASP软件的打包和数据库自动安装-ASP教程,ASP应用

    //近期公司用asp+sql开发办公自动化oa,需要制作安装程序发行,此脚本是用is9.0制作,以此共享,与各同仁交流学习 #define bitmap_id 1 #include "ifx.h" //不能移动

    InstallShield 12 中文教程

    [原创] InstallShield 12 中文教程 自己的一点心得,内容是一个J2EE的打包例子 sqlserver2000数据库 , 实现自动安装jdk,tomcat,创建数据库,导入数据。

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

    1:脚本为db.sql,在该程序的同级目录下面 2:执行脚本后,有对话框提示,提示内容为执行时间或出错信息 期待改善的地方: 1:加一个执行脚本的进度条 2)执行后将日志输出到文本文件,便于查看。

    Inno Setup执行SQL脚本的方法.zip_inno setup_执行sql_脚本

    比如对于在安装过程中连接数据库并执行SQL脚本这样的需求,使用InstallShield应该会简单地多,而Inno却不支持直接操作数据库,并且相关的资料说明少之又少,还不如NSIS丰富,以至于我踏破铁鞋无觅处,最终却在NSIS的...

    J2EE打包详解 Installshield

    [原创] J2EE+sqlserver 实现自动检测安装jdk,tomcat,创建数据库并导入数据。

    InstallShield学习资料打包 (34个)

    InstallShield 34个 文档 学习资料 安装字体 实践与提高 64位操作系统重定向 64位操作注册表设置 操作64位进程 写path 打包安装SQL数据库 杀进程 制作Oracle静默安装包 。。。。。

    使用installshiled工具进行安装制作asp程序

    用InstallShield打包ASP程序 功能: ...自动创建或附加MDF格式的SQL数据库 并优化 // 7.自动安装 ScriptEncode 解码程序 // 本文仅列出了 InstallShield 的 Script 部分,还有两个 VBS 文件及其他设置

    C#打包--如何用VS2005制作Web安装程序

    涉及到到内容包括:使用安装部署工具,建立数据库,配置IIS,文件操作,注册表等。参考了网上关于使用VS制作安装程序的文章。环境:Windows2003 + VS2005 + SQL2005。 注:本文只是为了实现,没有强调方法,变量等...

    bde 程序安装文件

    用于连接数据库调试,方便数据连接。

    C#数据库开发完整教案

    本人写的基于VS2008(C#)开发教案,从基本SQL语句开始,然后以三层架构为基础,讲解一个从开发到发布完整的案例。包括报表FastReport.Net的使用和InstallShield2010完整的打包过程。

    InstallShiled 12 使用教程

    1、InstallShield 12 制作安装包 2、InstallShield 12 中文系列教程 3、Installshield 12 进阶指南.doc 4、Installshield 12 应用...6、InstallShiled 12 SQLServer数据库.pdf 7、InstallShiled 12 破解与制作.pdf 等等

    vfp9.0安装包汉化补丁

    vf9对IDE增强,sql语言的改进,去掉了10层嵌套的限制,更符合sql标准,对程序设计语言的增强,报表的改进,这是亮点,类的增强,数据库特性的增强,界面的改进,使用更方便. vf6有官方中文版,便于学习, vf9是英文的,海强的汉化...

    Foxpro 开发答疑160问

    167. 如何使用InstallShield制作安装程序 546 附录 558 附录1. 函数分类表 559 附录2. 命令分类表 570 附录3. Visual FoxPro系统变量 580 附录4. 系统菜单和菜单选项常数 581 附录5. INKEY()和LASTKEY()函数...

    网管教程 从入门到精通软件篇.txt

    INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备 INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码 IOF:Findit文档 IQY:Microsoft Internet...

    Delphi7.完美经典.part1

    12-4-3 TColorDialog组件 &lt;br&gt;第13章 封装Delphi7开发的应用程序 &lt;br&gt;13-1 安装Borland的InstallShiled程序 13-2 利用InstallShield封装 Delphi7开发的程序 13-2-1 InstallShield环境界面简介 ...

    Delphi7.完美经典

    第14章 数据库概念及SQL指令介绍 14-1 数据库基本概念 14-1-1 数据库结构 14-1-2 开放数据库连接协议(ODBC) 14-1-3 SQL Explorer 14-2 结构化查询语言SQL 14-2-1 CREATE语句 14-2-2 ALTER TABLE语句 14-2-3...

    完全掌握加密解密实战超级手册.z01

    672.5 常见注册表分析工具 682.5.1 注册表编辑器Regedit 682.5.2 注册表监控工具Regsnap 712.5.3 注册表数据库监视软件Regmon 732.5.4 注册表静态比较工具RegShot 742.6 专家点拨:常见问题解答 75第3章 不同的加密...

    完全掌握加密解密实战超级手册.zip02

    642.3.3 常见反汇编分析工具 662.4 常见动态分析工具 672.5 常见注册表分析工具 682.5.1 注册表编辑器Regedit 682.5.2 注册表监控工具Regsnap 712.5.3 注册表数据库监视软件Regmon 732.5.4 注册表静态比较工具...

Global site tag (gtag.js) - Google Analytics