文章搜索: 分类 关键字
内容1载入中...内容2载入中...内容3载入中...
您的位置:首页编程开发安装制作 → NSIS 自定义页面结合组件选择安装
NSIS 自定义页面结合组件选择安装
日期:2007-2-8 20:27:42 人气:     [ ]
推荐本页:
    以下是引用片段:
    问题:
    如何控制一个自定义页面的显示与否,例如把一个"数据库操作"做为一个组件选项,而组件选项的下一页(即自定义页面)就是输入数据库连接信息,但是,当用户没有选择"数据库操作"这个组件时,点下一步仍然会出现输入数据库密码页面,怎样做出一个判断:当用户选择"数据库操作"时,下一页为提示输入数据库密码页面,当用户没有选择"数据库操作"时,下一页为安装页面(MUI_PAGE_INSTFILES),即跳过了提示输入数据库密码页面。
     

    以下是一个脚本例子,没有作数据库操作的内容,把问题简单化。 (顺便测试一下 VNISEdit 的 UBB 代码生成功能,^_^v)
    引用 Setup.nsi 发表于 2005-5-15 14:55:19 的内容:
    以下是代码片段:
    /*---------------------------------------
    自定义页面结合组件选择安装测试简单脚本。
    -----------------------------------------*/

    !include "MUI.nsh"
    !include "Sections.nsh"

    Name "自定义页面结合组件选择测试"
    OutFile "Setup.exe"

    !insertmacro MUI_PAGE_COMPONENTS
    Page custom PageInitFunc PageLeaveFunc ""  # 自定义页面
    !insertmacro MUI_PAGE_INSTFILES

    !insertmacro MUI_LANGUAGE "SimpChinese"  # 设置安装界面语言

    ShowInstDetails show # 显示安装进度信息

    ReserveFile "io.ini" # 预先打包文件,方便安装加速释放 io.ini
    !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS  # 预先打包文件,方便安装加速释放

    Var SHOW_PAGE  # 是否显示自定义页面

    Function .onInit
      StrCpy $SHOW_PAGE "show" # 初始化设显示自定义页面, 如果你默认不打勾,请用 StrCpy $SHOW_PAGE ""
      !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io.ini"  # 初始化页面
    FunctionEnd

    Function PageInitFunc
      StrCmp $SHOW_PAGE "show" 0 +2 # 如果没有设置“show”则跳过下面的页面显示
      !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io.ini"  # 显示页面
    FunctionEnd

    Function PageLeaveFunc
      MessageBox MB_OK "自定义页面离开时操作,即点击下一步后触发的事件"
    FunctionEnd

    Section "数据库处理(自定义页面)" SEC1
      # 所有数据库处理在这里写
      MessageBox MB_OK "“数据库处理(自定义页面)”操作内容"
    SectionEnd

    Section "其他操作" SEC2
    # 这里填写其他组件的操作
      MessageBox MB_OK "“其他操作”操作内容"
    SectionEnd

    Function .onSelChange
      Push $0
        SectionGetFlags ${SEC1} $0  # 检测 SEC1 的选择状态,1为已勾选该组件
        IntOp $0 $0 & ${SF_selectED} # 只过滤勾选的状态,Checkbox 的状态可能包含多位
        ;如果为 1 则设置显示自定义页面
        IntCmp $0 ${SF_selectED} showpage
          StrCpy $SHOW_PAGE "" # 设置不显示自定义页面
          Goto done
        showpage:
          StrCpy $SHOW_PAGE "show" # 设置显示自定义页面
        done:
      Pop $0
    FunctionEnd


    引用 io.ini 发表于 2005-5-15 14:13:17 的内容:
    以下是代码片段:
    [Settings]
    NumFields=7

    [Field 1]
    Type=label
    Text=SQLServer 连接
    Left=0
    Right=-1
    Top=0
    Bottom=9

    [Field 2]
    Type=Text
    Left=40
    Right=163
    Top=22
    Bottom=35

    [Field 3]
    Type=Text
    Left=39
    Right=163
    Top=43
    Bottom=54

    [Field 4]
    Type=Password
    Left=39
    Right=163
    Top=62
    Bottom=75

    [Field 5]
    Type=Label
    Text=密码:
    Left=8
    Right=36
    Top=65
    Bottom=75

    [Field 6]
    Type=Label
    Text=账号:
    Left=8
    Right=38
    Top=46
    Bottom=56

    [Field 7]
    Type=Label
    Text=服务器:
    Left=6
    Right=34
    Top=27
    Bottom=36



    出处:其他网站 作者:佚名 本文章由 金电网 搜集整理发布
    评论人 评论内容摘要(共 1 条,查看完整内容) 得分 0 发表时间
    ·正确安装CPU风扇及风扇加油全程图解
    ·主板全程图解
    ·卡丽来教程(一)
    ·破解星空极速
    ·关于GHOST的时说找不到一个叫GHOSTER..
    ·RM RMVB转VCD DVD方法及软件下载全面..
    ·Hacktool.rootkit病毒如何清除
    ·DVD转RMVB效果最好的工具AutoRV9中文..
    ·高频时代电脑分身术——BeTwin使用详..
    ·Ulead GIF Animator 5全新接触
    ·nlite额外保留与额外删除参考
    ·Windows.2003.Datacenter.Edition.SP..
    ·图解Windows XP远程桌面连接
    ·图解-EasyRecovery 604硬盘数据恢复软..
    ·图解双网卡共享ADSL宽带
    ·Microsoft SQL 2000 错误代码
    ·自己制作ghost版xp系统
    ·主板cpu知识大全图文版
    ·六招教你学会破解
    ·手把手教你架设电影服务器(图)
    ·正确安装CPU风扇及风扇加油全程图解
    ·主板全程图解
    ·卡丽来教程(一)
    ·关于GHOST的时说找不到一个叫GHOSTER..
    ·RM RMVB转VCD DVD方法及软件下载全面..
    ·Hacktool.rootkit病毒如何清除
    ·DVD转RMVB效果最好的工具AutoRV9中文..
    ·高频时代电脑分身术——BeTwin使用详..
    ·Ulead GIF Animator 5全新接触
    ·Windows.2003.Datacenter.Edition.SP..
    ·图解Windows XP远程桌面连接
    ·图解-EasyRecovery 604硬盘数据恢复软..
    ·图解双网卡共享ADSL宽带
    ·Microsoft SQL 2000 错误代码
    ·主板cpu知识大全图文版
    ·六招教你学会破解
    ·手把手教你架设电影服务器(图)
    ·卡巴key被封的解决办法
    ·Win2003架设DNS服务器
    ·TMPGEnc 小日本的使用详释
    金电下载站 版权所有 Copyright© 2001-2005 www.jdxz.net, All Rights Reserved.
    湘ICP备05012976