⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insttext.tcl

📁 基于VxWorks的图形界面开发工具Zinc6.0的升级补丁。
💻 TCL
📖 第 1 页 / 共 3 页
字号:
        puts "- [lindex $pList 2] license(s) for\              [featureDescGet [lindex $pList 0]] is activated and\              will expire on [clock format [lindex $pList 4]\              -format "%b %d %Y"]."    }    return 1} proc pageProcess(moreKey) {} {    global setupVals         if {"$setupVals(licenseKeyList)" == ""} {        errorHandler "Error" [strTableGet 1270_LICENSE_KEY_ERROR]        return 0    }        set binDir [destDirGet]/host/[windHostTypeGet]/bin    set relBinDir host/[windHostTypeGet]/bin    foreach filepath [glob -nocomplain [cdromBinDirGet]/WLM/*] {        set filename [string tolower [file tail $filepath]]        fileDup $filepath $binDir/$filename        uninstLog file "wind_base\t$relBinDir/$filename"    }    if ![file isdirectory [licenseHomeDirGet]] {        file mkdir [licenseHomeDirGet]    }    foreach key $setupVals(licenseKeyList) {        set prog [cdromBinDirGet]/WLMUTILS        if [catch {exec $prog -putKeyfile \                               [join $key ""] \                               [info host] \                               [licenseHomeDirGet]} result] {            uninstLog setup \                "\t[strTableGet 1280_LICENSE_KEY_ERROR_1 $result]"            print $result            return 0        }    }    exitMsgSet [strTableGet 1355_LICENSE_SUCCESS]    return 1}proc pageCreate(licenseChoice) {} {    global setupVals    global ctrlVals     printPageTitle [strTableGet 1520_TITLE_LICENSE_CHOICE]    set setupVals(licenseNum) [setupLicenseNumGet]    set prog [cdromBinDirGet]/WLMUTILS    if ![catch {exec $prog -genHostCode [info host]} retVal] {        set setupVals(hostId) $retVal    } {        set setupVals(hostId) ""        uninstLog setupLog "\tFailed to detect HostId: $retVal"    }    set ctrlVals(pageList) $ctrlVals(pageListBack)    print "[strTableGet 1290_LICENSE_CHOICE]\n"    foreach featureId [cdInfoGet featureIdList] {        print "- [featureDescGet $featureId]"    }    print "\n[strTableGet 1291_LICENSE_CHOICE]"    while {1} {        puts ""        print [strTableGet 3300_LICENSE_CHOICE_0]        print [strTableGet 3300_LICENSE_CHOICE_1]        print [strTableGet 3310_LICENSE_CHOICE_2]        print [strTableGet 3320_LICENSE_CHOICE_3]        puts ""        switch -regexp -- \            [prompt [strTableGet 3325_LICENSE_CHOICE_QUESTION]] {            "^-$"    { return 0 }            "^1?$"   { set setupVals(licAction) "remote"; return 1 }            "^2$"   { set setupVals(licAction) "haveKey"; return 1 }            "^3$"  { set setupVals(licAction) "email"; return 1 }            "^4$"   { set setupVals(licAction) "call"; return 1 }            default { }        }    }}proc pageProcess(licenseChoice) {} {    global setupVals    switch $setupVals(licAction) {        haveKey {            pageRemove licEmail            pageRemove licCall            pageRemove remoteLicenseHost        }        email {            pageRemove licCall            pageRemove remoteLicenseHost        }        call {            pageRemove licEmail            pageRemove remoteLicenseHost        }        remote {            pageRemove licEmail            pageRemove licCall            pageRemove licenseKey            pageRemove moreKey        }    }    return 1}proc pageCreate(licEmail) {} {    global setupVals    printPageTitle [strTableGet 1530_TITLE_LICENSE_MAIL]    print "[strTableGet 1330_LICENSE_MAIL]\n"    set mailMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE1]\             \n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE2]\             \n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE3 [userNameGet]]\               \n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE4 [companyNameGet]]\               \n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE5 [instKeyGet]]\               \n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \                              $setupVals(licenseNum)]\               \n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 [info host]]\               \n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \                              $setupVals(hostId)]\               \n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\               \n\n"    foreach featureId [cdInfoGet featureIdList] {        append mailMsg "[featureDescGet $featureId] (id = $featureId)\n"    }    puts $mailMsg     set setupVals(mailMsg) $mailMsg    while (1) {         switch -regexp -- [prompt [strTableGet 3340_LICENSE_MAIL_QUESTION]] {            "^-$"   { return 0 }            "^$"    { return 1 }            default { }        }    }    return 1}proc pageProcess(licEmail) {} {    global setupVals    global ctrlVals      set setupVals(licAction) haveKey    set ctrlVals(pageList) $ctrlVals(pageListBack)    set ctrlVals(currPage) destDir    return [mailSend]}proc pageCreate(licCall) {} {    global setupVals    printPageTitle [strTableGet 1540_TITLE_LICENSE_CALL]    print "[strTableGet 1350_LICENSE_CALL]\n"    puts [strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 [info host]]    puts [strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 $setupVals(hostId)]    puts [strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 $setupVals(licenseNum)]    puts "\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\n"    foreach featureId [cdInfoGet featureIdList] {        append features "[featureDescGet $featureId] (id = $featureId)\n"    }    print $features     while (1) {         switch -regexp -- [prompt [strTableGet 3000_RETURN_QUESTION]] {             "^-$"   { return 0 }            "^$"    { return 1 }            default { }        }    }    return 1}proc pageProcess(licCall) {} {    global setupVals    global ctrlVals      set setupVals(licAction) haveKey    set ctrlVals(pageList) $ctrlVals(pageListBack)    set ctrlVals(currPage) destDir    return 1}proc flipPermission {bit} {    global setupVals     global perVals     if { $setupVals($bit) == "0" } {        set setupVals($bit) 1        set perVals($bit) "x"    } {        set setupVals($bit) 0        set perVals($bit) ""    }}proc prompt {{msg ""}} {    global setupVals     if { "$msg" != "" } {        print $msg    }    puts -nonewline "-> "    flush stdout    set ans [gets stdin]    set ans [string trim $ans " " ]    puts ""    if { "$ans" == "exit" } {        catch {            uninstLog setup "\tUser aborted!"            uninstStop        }        exit 0     }    return $ans}proc printPageTitle {msg} {    for {set i 0} {$i < 2} {incr i} {        puts ""    }       for {set i 0} {$i < 80} {incr i} {        puts -nonewline "="    }    puts ""    set space [expr (80 - [string length $msg]) / 2 ]    for {set i 0} {$i < $space} {incr i} {        puts -nonewline " "    }    puts -nonewline "$msg"    puts ""    for {set i 0} {$i < 80} {incr i} {        puts -nonewline "="    }    puts ""}proc nextCallback {} {    global ctrlVals        set ret [pageProcess($ctrlVals(currPage))]    if {$ret == "0"} {        # revisit the page        return 0    } elseif {$ret == "-1"} {        # goes back a page        backCallback      } else {        # goes to next page        set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]        if {"$currPageIndex" == "-1"} {            errorHandler "Error" "page $ctrlVals(currPage) not found!"            return 0        } {            set nextPageIndex [expr $currPageIndex + 1]            set nextPage [lindex $ctrlVals(pageList) $nextPageIndex]            if {"$nextPage" == ""} {                exit 0            } {                set ctrlVals(currPage) $nextPage            }        }    }}proc backCallback {} {    global ctrlVals    # decrement the dialog index and re-create previous page    set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]    set prevPageIndex [expr $currPageIndex - 1]    if {"$prevPageIndex" >= "0"} {        set ctrlVals(currPage) [lindex $ctrlVals(pageList) $prevPageIndex]    } else {       errorHandler "Error" [strTableGet 3370_BACK_CALLBACK]    }}proc quitCallback {} {    global setupVals    while (1) {         switch -regexp -- [prompt [strTableGet 3360_QUIT_CALLBACK]] {            "^$"    { return 1 }            default { }        }    }}proc errorHandler {{mode ""} {msg ""}} {    print "$mode: $msg"    puts ""}proc dialog {type title msg bitmap default} {        print "$msg\n"    switch $type {        ow_owall_ig_igall {            set que "Select one of the following:\n\                \n1 - Overwrite\                \n2 - Overwrite all\                \n3 - Ignore\                \n4 - Ignore all\n"            puts $que            while {1} {                set ret [prompt "default: \[2\]"]                switch -regexp -- $ret {                    "^(1|2|3|4)$" { return [expr $ret - 1] }                    "^$"          { return 1 }                    default       { }                }            }        }        re_ig_cancel {            set que "Select one of the following:\n\                \n1 - Retry\                \n2 - Ignore\                \n3 - Cancel\n"            puts $que            while {1} {                set ret [prompt "default: \[2\]"]                switch -regexp -- $ret {                    "^(1|2|3)$" { return [expr $ret - 1] }                    "^$"        { return 1 }                    default     { }                }            }        }        ok_cancel {            set que "Select one of the following:\n\                \n1 - Ok\                \n2 - Cancel\n"            puts $que            while {1} {                set ret [prompt "default: \[1\]"]                switch -regexp -- $ret {                    "^(1|2)$" { return [expr $ret - 1] }                    "^$"      { return 0 }                    default   { }                }            }        }    }}proc constructPages {mode} {    global ctrlVals    global setupVals    switch "$mode" {        license {            set ctrlVals(pageList) {                 welcome registrationName registrationCompany registrationKey                destDir wlmdDetect licenseChoice remoteLicenseHost                 licEmail licCall licenseKey moreKey licenseFinish              }            cdromDescSet [strTableGet 1261_LICENSE]        }        default {            set ctrlVals(pageList) {                 welcome privilege registrationName registrationCompany                registrationKey destDir compSelect permission filesCopy                libUpdate remoteRegistryHost finish             }            if {[setupId effective userid] != "0"} {                pageRemove "privilege"            }        }    }    set ctrlVals(currPage) [lindex $ctrlVals(pageList) 0]    set ctrlVals(pageListBack) $ctrlVals(pageList)}proc pageRemove {page} {    global ctrlVals    if {[lsearch $ctrlVals(pageList) $page] == "-1"} {        errorHandler "Error" "cannot find $page to remove"    } {        set tempList ""        foreach p $ctrlVals(pageList) {            if {"$p" != "$page"} {                lappend tempList $p            }        }        set ctrlVals(pageList) $tempList    }}proc globalInit {} {    global setupVals env    source $env(CD_ROOT)/RESOURCE/TCL/GLOBAL.TCL    set setupVals(errorCount) 0    set setupVals(warnCount) 0    set setupVals(uninstFile) ""    set setupVals(licenseKeyList)  ""    set setupVals(profile) ""    set setupVals(windLmHostHome) ""    if [info exists env(HOME)] {        set setupVals(profile) $env(HOME)/.wind/installProfile.tcl        set setupVals(windLmHostHome) $env(HOME)/.wind/license    }        set setupVals(licAction) remote    windHostTypeSet $env(WIND_HOST_TYPE)        if [catch {destDirSet $env(WIND_BASE)} error] {       destDirSet /usr/wind    }        cdromZipDirSet [cdromRootDirGet]/WIND}# Entry point of the Setup programglobalInitinstTypeSet [lindex $argv 0]catch {source $setupVals(profile)}set setupVals(prevInstKey) [instKeyGet]source [cdromRootDirGet]/RESOURCE/TCL/MESSAGES.TCLsource [cdromRootDirGet]/RESOURCE/TCL/INSTALL.TCLsource [cdromRootDirGet]/RESOURCE/TCL/FSPACE.TCLsource [cdromRootDirGet]/RESOURCE/TCL/CONFIG.TCLconstructPages [instTypeGet]while (1) {    set ret [pageCreate($ctrlVals(currPage))]    if {$ret == 1} {        nextCallback    } elseif {$ret == 0} {        backCallback    } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -