·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化教学 >> 工具使用 >> 一个关于组件跟自定义页面的控制问题    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

一个关于组件跟自定义页面的控制问题

作者: RESTOOLS 来源:RESTOOLS 时间:2006-08-16 点击:7792

问题:
引用内容 引用内容
现有一安装文件,要做到如下几点:

主选项 (必选) (这部分没有问题)

另外 还有两个选项
A , B , 以及一个自定义页面PageC
1,如果A,B都不选,那么就跳过自定义页面PageC
否则,
将对应的目录选择框设置为 可用/不可用
2,分别选取A,B安装的路径 (不同于主选项的安装路径),并要分别判断A,B路径是否合法,以及路径下是否存在某个特定文件;


解决代码:
引用来自  Untitled01,2006-8-5 17:14:24 引用来自 Untitled01,2006-8-5 17:14:24
Name                "test2"
OutFile              "test2.exe"
SetCompressor        /FINAL /SOLID lzma

!include            MUI.nsh
!define              LOGICLIB_SECTIONCMP
!include            LogicLib.nsh

!insertmacro MUI_PAGE_COMPONENTS
Page custom SetCustom LeaveCustom
!insertmacro MUI_PAGE_INSTFILES

!insertmacro MUI_LANGUAGE SimpChinese

Section A SEC_A
SectionEnd

Section
B SEC_B
SectionEnd

Function
SetCustom
    ${Unless} ${SectionIsSelected} ${SEC_A}
    ${AndUnless} ${SectionIsSelected} ${SEC_B}
        
Abort
    
${EndUnless}
    
InstallOptions::initDialog /NOUNLOAD "$PLUGINSDIR\io.ini"
    
InstallOptions::show
FunctionEnd

Function
LeaveCustom
    ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 2" State
    ${Unless} ${FileExists} "$0\*"
        
MessageBox MB_OK|MB_ICONSTOP "error"
        
Abort
    
${EndUnless}
    
ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 4" State
    ${Unless} ${FileExists} "$0\*"
        
MessageBox MB_OK|MB_ICONSTOP "error"
        
Abort
    
${EndUnless}
    ${Unless} ${FileExists}
"$WINDIR\explorer.exe"
        
MessageBox MB_OK|MB_ICONSTOP "error"
        
Abort
    
${EndUnless}
FunctionEnd

ReserveFile
test2.ini

Function .onInit
    InitPluginsDir
    File
/oname=$PLUGINSDIR\io.ini test2.ini
FunctionEnd

引用来自  Untitled02,2006-8-5 17:15:18 引用来自 Untitled02,2006-8-5 17:15:18
; Ini file generated by the HM NIS Edit IO designer.
[Settings]
NumFields=4

[Field 1]
Type=Label
Text=A Path:
Left=25
Right=73
Top=20
Bottom=28

[Field 2]
Type=DirRequest
State=DirRequest
Left=26
Right=286
Top=40
Bottom=53

[Field 3]
Type=Label
Text=B Path:
Left=25
Right=72
Top=81
Bottom=88

[Field 4]
Type=DirRequest
State=DirRequest
Left=26
Right=286
Top=96
Bottom=108

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): NSIS 组件 自定义页面

·上一篇: 在 Inno Setup 中实现倒数N秒后激活按钮 ·下一篇: Wise 902 汉化版之繁体语系增强包

· 版权申明: 本文引自《RESTOOLS》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《RESTOOLS》[ 作者: RESTOOLS],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号