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

📄 licw32.tcl

📁 这是vxworks 的图形界面开发软件windML2.0和另一个CP2可以构成完整的界面开发。
💻 TCL
📖 第 1 页 / 共 2 页
字号:
# LICW32.TCL - UITcl script for Windows License Installation
#
# Copyright 1998 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01c,22jul98,tcy  moved license messages from MESSAGES.TCL
# 01b,22jul98,tcy  moved licenseHomeDirGet/Set () from LICW32.TCL
# 01a,14jul98,tcy  moved from INSTW32.TCL 

###########################################################################

proc pageCreate(licenseChoice) {} {
    global ctrlVals
    global setupVals

    set setupVals(licComp) ""
    set ctrlVals(pageList) $ctrlVals(pageListBack)

    set ctrlVals(volatileFrm) [list \
            [list label -name msg1 \
                        -title [strTableGet 1290_LICENSE_CHOICE] \
                        -x 100 -y 10 -w 187 -h 16] \
            [list list  -name listCtrl \
                        -x 100 -y 32 -w 150 -h 32] \
            [list label -name msg2 \
                        -title [strTableGet 1291_LICENSE_CHOICE] \
                        -x 100 -y 80 -w 205 -h 8] \
            [list choice -name remote \
                        -title [strTableGet 1300_LICENSE_CHOICE_0] \
                        -newgroup -auto \
                        -callback {onLicChoice remote} \
                        -x 110 -y 92 -w 185 -h 12] \
            [list choice -name haveKey \
                        -title [strTableGet 1300_LICENSE_CHOICE_1] \
                        -auto \
                        -callback {onLicChoice haveKey} \
                        -x 110 -y 103 -w 185 -h 12] \
            [list choice -name email \
                        -title [strTableGet 1310_LICENSE_CHOICE_2] \
                        -auto \
                        -callback {onLicChoice email} \
                        -x 110 -y 114 -w 185 -h 12] \
            [list choice -name call \
                        -title [strTableGet 1320_LICENSE_CHOICE_3] \
                        -auto \
                        -callback {onLicChoice call} \
                        -x 110 -y 125 -w 185 -h 12] \
    ]

    set w [dlgFrmCreate [strTableGet 1520_TITLE_LICENSE_CHOICE]]

    foreach featureId [cdInfoGet featureIdList] {
        lappend setupVals(licComp) "[featureDescGet $featureId]"
    }

    controlValuesSet $w.listCtrl $setupVals(licComp)
    controlValuesSet $w.$setupVals(licAction) 1
    controlValuesSet $ctrlVals(mainWindow).nextButt "&Next >"
}


proc pageProcess(licenseChoice) {} {
    global setupVals

    if ![catch {genHostCode [info host]} retVal] {
        set setupVals(hostId) $retVal
    } {
        set setupVals(hostId) ""
        uninstLog setupLog "\tFailed to detect HostId: $retVal"
    }

    set setupVals(licenseNum) [setupLicenseNumGet]

    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
        }
        manual {
            pageRemove licEmail
            pageRemove licCall
            pageRemove licenseKey
            pageRemove remoteLicenseHost
        }
    }
    return 1
}


proc pageCreate(licenseKey) {} {
    global ctrlVals
    global setupVals

    set ctrlVals(volatileFrm) [list \
                [list label -name msg1 \
                            -title [strTableGet 1260_LICENSE_KEY \
                                                $setupVals(hostName)] \
                            -x 100 -y 10 -w 205 -h 25] \
                [list label -name msg2 -title "&License Key" \
                            -x 100 -y 37 -w 85 -h 10] \
                [list text -name licenseKeyText \
                           -x 100 -y 49 -w 150 -h 12] \
                [list list -name licList \
                           -callback keyInfoUpdate \
                           -x 100 -y 63 -w 150 -h 38] \
                [list group -name licInfoGroup \
                            -title "Key Information" \
                            -x 100 -y 106 -w 150 -h 64] \
                [list button -name add \
                            -title "&Add" \
                            -callback onAddLic \
                            -x 265 -y 49 \
                            -w 40 -h 12] \
                [list button -name remove \
                            -title "&Remove" \
                            -callback onRemoveLic \
                            -x 265 -y 63 \
                            -w 40 -h 12] \
    ]

    set x0 107
    set y0 116
    set txtList {"Feature Id:" "Feature Name:" "Licenses:" \
                 "Start Date:" "Expire Date:"}

    set x1 [expr $x0 + 50]
    set i 1

    foreach header $txtList {
        lappend ctrlVals(volatileFrm) [list label -name $header \
                -title $header \
                -x "$x0" -y "$y0" \
                -w 47 -h 10]

        lappend ctrlVals(volatileFrm) [list label -name "ctrl$i" \
                -title "" \
                -x "$x1" -y "$y0" \
                -w 90 -h 10]

        incr y0 10
        incr i
    }

    set w [dlgFrmCreate [strTableGet 1510_TITLE_LICENSE_KEY]]

    controlValuesSet $ctrlVals(mainWindow).licenseKeyText \
                "$setupVals(licenseKey)"

    controlValuesSet $ctrlVals(mainWindow).licList \
                $setupVals(licenseKeyList)

    controlValuesSet $ctrlVals(mainWindow).nextButt "&Next >"
    controlFocusSet $ctrlVals(mainWindow).licenseKeyText
}


proc pageProcess(licenseKey) {} {
    global setupVals
    global ctrlVals

    set retVal 0
    set exitMsg [strTableGet 1270_LICENSE_KEY_ERROR]

    if {[llength $setupVals(licenseKeyList)] != 0} {

        if {![file isdirectory [licenseHomeDirGet]]} {
            file mkdir [licenseHomeDirGet]
        }

        beginWaitCursor

        # copy over the license files

        licenseFilesCopy

        # create the license file

        set binDir "[destDirGet]\\host\\[windHostTypeGet]\\bin"

        foreach key $setupVals(licenseKeyList) {
            if [catch {putKeyfile [join $key ""] \
                                  [info host] \
                                  [licenseHomeDirGet]} result] {

                uninstLog setup \
                    "\t[strTableGet 1280_LICENSE_KEY_ERROR_1 $result]"

                messageBox [strTableGet 1280_LICENSE_KEY_ERROR_1 $result]
                endWaitCursor
                return 0
            }
        }

        # install Wind License Manager as a service on NT, in the \
        # startup group on 95.  Start the server if it is not already \
        # running

        exitMsgSet [strTableGet 1261_LICENSE_KEY_FINISH_OK]

        set wlmdPath [systemDirGet]\\WLMD.EXE

        if {$ctrlVals(NT) && ($setupVals(isWlmdRunning) != 1)} {
            set exePath "[systemDirGet]\\WLMD.EXE"
            set licServiceName "WindLM"

            if {![catch {setupServiceInstall $licServiceName $wlmdPath ""}\
                error]} {
                uninstLog resource "service\t$licServiceName"
            }
            catch {setupServiceStart $licServiceName} error

        } elseif {! $ctrlVals(NT)} {
            set exeDir "[setupWinDirGet]\\system"

            itemCreateLog Startup WindLM $wlmdPath [systemDirGet] \
                          $ctrlVals(admin)

            if {$setupVals(isWlmdRunning) != 1} {
                if {[catch {processCreate -hidden $wlmdPath \
                                          [licenseHomeDirGet]} error]} {

                    exitMsgSet [strTableGet 1262_LICENSE_KEY_FINISH_BAD]
                }
            }
        }

        windowShow $ctrlVals(mainWindow) 0
        set retVal 1
    } {
        messageBox [strTableGet 1270_LICENSE_KEY_ERROR]
        set retVal 0
    }

    endWaitCursor
    return $retVal
}


proc pageCreate(licEmail) {} {
    global setupVals
    global ctrlVals

    set ctrlVals(volatileFrm) [list \
                   [list label -name msg \
                               -title [strTableGet 1330_LICENSE_MAIL] \
                               -x 100 -y 10 -w 205 -h 24] \
                   [list text  -name licenseInfo \
                               -multiline -hscroll \
                               -vscroll -readonly \
                               -x 100 -y 40 -w 205 -h 130] \
    ]

    set mailMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE1]\
         \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE2]\
         \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE3 [userNameGet]]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE4 [companyNameGet]]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE5a [instKeyGet]]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \
                              $setupVals(licenseNum)]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 \
                              $setupVals(hostName)]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \
                              $setupVals(hostId)]\
         \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\
         \r\n\r\n"

    foreach featureId [cdInfoGet featureIdList] {
        append mailMsg "[featureDescGet $featureId] (id = $featureId)\r\n"
    }

    set setupVals(mailMsg) $mailMsg
    set w [dlgFrmCreate [strTableGet 1530_TITLE_LICENSE_MAIL]]
    controlValuesSet $w.licenseInfo "$setupVals(mailMsg)"
}


proc pageProcess(licEmail) {} {
    global setupVals
    global ctrlVals

    set setupVals(licAction) haveKey
    set ctrlVals(pageList) $ctrlVals(pageListBack)

    set ctrlVals(currPage) folderSelect
    return [mailSend]
}


proc pageCreate(licCall) {} {
    global setupVals
    global ctrlVals

    set ctrlVals(volatileFrm) [list \
                    [list label -name msg \
                                -title [strTableGet 1350_LICENSE_CALL] \
                                -x 100 -y 10 -w 205 -h 24] \
                    [list text  -name callInfo \
                               -multiline -hscroll -vscroll \
                               -readonly \
                               -x 100 -y 48 -w 205 -h 120] \
    ]

    set w [dlgFrmCreate [strTableGet 1540_TITLE_LICENSE_CALL]]

    set callMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 \
                              $setupVals(hostName)]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \
                              $setupVals(hostId)]\
             \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \
                              $setupVals(licenseNum)]\
         \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\
         \r\n\r\n"

    foreach featureId [cdInfoGet featureIdList] {
        append callMsg "[featureDescGet $featureId] (id = $featureId)\r\n"
    }

    controlValuesSet $w.callInfo $callMsg
}


proc pageProcess(licCall) {} {
    global setupVals
    global ctrlVals

    set setupVals(licAction) haveKey
    set ctrlVals(pageList) $ctrlVals(pageListBack)

    set ctrlVals(currPage) folderSelect
    return 1
}


proc pageCreate(remoteLicenseHost) {} {
    global ctrlVals
    global setupVals

    set msg0 [strTableGet 1353_LICENSE_REMOTE]

    set ctrlVals(volatileFrm) [list \
             [list label -name msg0 -title $msg0 \
                         -x 100 -y 10 -w 205 -h 64] \
             [list label -name msg1 -title "Host Name:" \
                         -x 100 -y 94 -w 40 -h 10] \
             [list text -name remoteLicHost \
                        -x 150 -y 92 -w 148 -h 13] \
    ]

    set w [dlgFrmCreate [strTableGet 1561_TITLE_LICENSE_REMOTE]]
    controlValuesSet $w.remoteLicHost [windLmHostValueRead]
    controlFocusSet $w.remoteLicHost
}


proc pageProcess(remoteLicenseHost) {} {
    global ctrlVals
    global setupVals

    set retVal 1
    beginWaitCursor
    set setupVals(licenseHost) \
        [controlValuesGet $ctrlVals(mainWindow).remoteLicHost]

    if ![pingServer $setupVals(licenseHost)] {
        messageBox "[strTableGet 1357_LICENSE_REMOTE_FAIL\
                                 $setupVals(licenseHost)]"
        endWaitCursor
        return 0
    }

    if {![regexp {^[ ]*$} "$setupVals(licenseHost)"]} {
        windLmHostValueWrite $setupVals(licenseHost)
        exitMsgSet [strTableGet 1354_LICENSE_REMOTE]
    } {
        messageBox [strTableGet 1072_WARN_1]
        set retVal 0
    }

    endWaitCursor
    return $retVal
}


proc pageCreate(licenseFinish) {} {
    global setupVals
    global ctrlVals

    windowShow $ctrlVals(mainWindow) 0
    uninstLog setupLog "[cdInfoGet number] SETUP"
    uninstLog setupLog [strTableGet 1261_LICENSE]

    messageBox -informationico [exitMsgGet]
    nextCallback
}


proc pageProcess(licenseFinish) {} {
    return 1
}


proc windLmHostValueWrite {value} {
    global setupVals
    global ctrlVals

    set regPath "Software\\$setupVals(WRS)\\$setupVals(prodRegEntry)"
    regValueWriteLog HKEY_CURRENT_USER \
        $regPath WIND_LMHOST $value noLog
}


proc windLmHostValueRead {} {
    global setupVals
    global ctrlVals

    if ![info exists setupVals(licenseHost)] {
        set setupVals(licenseHost) ""

        if {![catch {sysRegistryValueRead HKEY_CURRENT_USER \
                "Software\\$setupVals(WRS)\\$setupVals(prodRegEntry)" \
                WIND_LMHOST} retVal]} {

            set setupVals(licenseHost) $retVal
        }
    }

    return $setupVals(licenseHost)
}


proc pageCreate(wlmdDetect) {} {
    global ctrlVals
    global setupVals

    set ctrlVals(volatileFrm) [list \
             [list label -name msg0 \
                         -title [strTableGet 1358_LICENSE_SERVER_DETECT]\
                         -x 100 -y 10 -w 205 -h 64] \
    ]

    set w [dlgFrmCreate "[strTableGet 1261_LICENSE] Detect"]

    nextCallback
}


proc pageProcess(wlmdDetect) {} {
    global setupVals ctrlVals

    for {set i 0} {$i < 10} {incr i} {
        uiEventProcess
    }

    beginWaitCursor
    set setupVals(isWlmdRunning) [pingServer [info host]]
    endWaitCursor

⌨️ 快捷键说明

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