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

📄 finish.tcl

📁 vxworks WindML 3.0补丁包3 (CP3)
💻 TCL
📖 第 1 页 / 共 2 页
字号:
            if {$lmVals(lmHostOrder) == ""} {
                set lmVals(lmHostOrder) $lmVals(lmHosts)
            }

            for {set ix 0} {$ix < [llength $lmVals(lmHostOrder)]} {incr ix} {
                set hostName [lindex $lmVals(lmHostOrder) $ix]
                set index [lmLicHostIndexGet $hostName]
                set hostPort [lmLicHostInfoGet hostPort $index]
                if {$hostPort == 0} {
                    set hostPort ""
                }
                if {$ix == 0} {
                    set hostInfo [format "%s@%s" $hostPort $hostName]
                } else {
                    if { [isUnix] } {
                        set hostInfo [format ":%s@%s" $hostPort $hostName]
                    } else {
                        set hostInfo [format ";%s@%s" $hostPort $hostName]
                    }
                }
                append lmLicEnvVar $hostInfo
            }
        } else {
            # manual         

            set hostInfo [format "%s@%s" $lmVals(lmPortManual) $lmVals(lmHostManual)]
            append lmLicEnvVar $hostInfo            
        }
    } else {  # nodelocked
        if { [isUnix] } {
            set licPath "[destDirGet]/.wind/license/WRSLicense.lic"
        } else {
            set licPath "[destDirGet]\\.wind\\license\\WRSLicense.lic"
        }

        append lmLicEnvVar $licPath
    }

    if { ![isUnix] } {
        if {![catch {sysRegistryValueRead HKEY_LOCAL_MACHINE \
                 "SOFTWARE\\FLEXlm License Manager"\
                 "LM_LICENSE_FILE"} lmLicFile]} {
            # value exists, append to it and write it back out

            set lmLicEnvVar "$lmLicEnvVar\;$lmLicFile"

            # make sure license entries are unique

            set tmp [split $lmLicEnvVar \;]
            set lmLicEnvVar [lunique $tmp]
            set lmLicEnvVar [join $lmLicEnvVar \;]
        }
    }

    if { [isUnix] } {
        if { [info exists env(LM_LICENSE_FILE)] } {
            set lmLicEnvVarInfo [format "\n\ncsh:\nsetenv LM_LICENSE_FILE %s\
                    \n\nbash/sh/ksh:\nLM_LICENSE_FILE=%s\nexport\
                    LM_LICENSE_FILE\n" $lmLicEnvVar:\$\{LM_LICENSE_FILE\} $lmLicEnvVar:\$LM_LICENSE_FILE]
        } else {
            set lmLicEnvVarInfo [format "\n\ncsh:\nsetenv LM_LICENSE_FILE %s\
                    \n\nbash/sh/ksh:\nLM_LICENSE_FILE=%s\nexport\
                    LM_LICENSE_FILE\n" $lmLicEnvVar $lmLicEnvVar]
        }

        if { [isGUImode] } {

            lappend ctrlVals(volatileFrm) \
                                [list text -name finishTextUnix -border -multiline\
                           -hscroll -vscroll -readonly\
                           -x 100 -y 23 -w 200 -h 150]
        }
    }

    if { [isGUImode] } {

        set w [dlgFrmCreate [strTableGet FINISH_TITLE]]

        controlValuesSet $w.nextButt "Finish"
        controlEnable $w.helpButt 0
        controlEnable $w.backButt 0
        controlEnable $w.nextButt 1
        controlEnable $w.cancelButt 0

        if { [isUnix] } {
            controlTextSet $w.finishTextUnix "[strTableGet FINISH_MSG2]\
                                          \n[destDirGet]/host/[windHostTypeGet]/bin/torVars.csh and\
                                          \n[destDirGet]/host/[windHostTypeGet]/bin/torVars.sh.\
                                          \n\n[string trimleft $lmLicEnvVarInfo]\
                                          \n[strTableGet FINISH_MSG3]\
                                          $outFileName."

            # the following is to workaround a bug in UITclSh: 
            # if the user presses Return for the OK button, 
            # UITclSh does not exit.

            if { !$ctrlVals(useInputScript) } {

                set notice "[strTableGet FINISH_MSG_DIALOG]"
   
                dialog ok_with_title \
                       "LM Environment Variables Setup" $notice
            }

        } else {
            controlFocusSet $w.nextButt
        }

        # test automation

        if { $ctrlVals(useInputScript) } {
            autoSetupLog "License Management Finish Page: skipped"
            autoSetupLog "[strTableGet FINISH_MSG1]"

            if { [isUnix] } {
                autoSetupLog "\n[strTableGet FINISH_MSG_COMMON]\
                              The information will be written to \
                              $outFileName for your convenience.\n"
            }

            nextCallback
        }

    } else { # TEXT mode

        if { [isUnix] } {

            puts "\n[strTableGet FINISH_MSG2]"
	    puts "\n[destDirGet]/host/[windHostTypeGet]/bin/torVars.csh and"
	    puts "\n[destDirGet]/host/[windHostTypeGet]/bin/torVars.sh.\n"
            puts $lmLicEnvVarInfo
            puts "[strTableGet FINISH_MSG3] $outFileName for your convenience.\n"
        }
        nextCallback
    }
}

#############################################################################
#
# pageProcess(finish) - process inputs from LM finish page if any 
#
# This procedure will process inputs from the license install finish page if 
# any.
#
# SYNOPSIS
# .tS
# pageProcess(finish)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 1 when successful
#
# ERRORS: N/A
#

proc pageProcess(finish) {} {
    global lmLicEnvVar lmLicEnvVarInfo
    global env outFileName
    global setupVals ctrlVals

    if { [isGUImode] } {
        # write the information to a file lmEnvVar.txt

        if {[isUnix]} {
            set outFileName "[destDirGet]/lmEnvVar.txt"
            if {[catch {open $outFileName w} fd]} {
                messageBox "Error opening output filename: $outFileName"
                return
            } else {
                puts $fd [string trimleft $lmLicEnvVarInfo]
                if {[catch {close $fd} err]} {
                    messageBox "Error closing file $outFileName"
                }
            }

            # update torVars.sh and torVars.csh

            updateTorVarsFiles
        } else {

            # check to see if the value exists: 
            # If not, create it. Otherwise, write to it.

            if { ![catch {sysRegistryValueRead HKEY_LOCAL_MACHINE \
                              "SOFTWARE\\FLEXlm License Manager"\
                              "LM_LICENSE_FILE"} result] } {
                # value exists, write to registry

                regValueWriteLog HKEY_LOCAL_MACHINE \
                    "SOFTWARE\\FLEXlm License Manager" "LM_LICENSE_FILE" $lmLicEnvVar false
                uninstLog setuplog "Wrote \"$lmLicEnvVar\" to \
                    HKEY_LOCAL_MACHINE\\SOFTWARE\\FLEXlm License Manager\\LM_LICENSE_FILE."

            } else {

                # the value doesn't exist, create and set value

                regKeyCreateLog HKEY_LOCAL_MACHINE "SOFTWARE" "FLEXlm License Manager" false

                regValueWriteLog HKEY_LOCAL_MACHINE \
                    "SOFTWARE\\FLEXlm License Manager" "LM_LICENSE_FILE" $lmLicEnvVar false

                uninstLog setuplog "Created and wrote \"$lmLicEnvVar\" to \
                    HKEY_LOCAL_MACHINE\\SOFTWARE\\FLEXlm License Manager\\LM_LICENSE_FILE."
            }
                                
            # flush the regKeyCreateLog and regValueWriteLog commands
            queueExecute
        }
    } else { # text mode

        # write the information to a file lmEnvVar.txt

        if { [isUnix] } {

            set outFileName "[destDirGet]/lmEnvVar.txt"
            if {[catch {open $outFileName w} fd]} {
                puts "Error opening output filename: $outFileName"
                while { [prompt "Press <Enter> to Continue"] != "" } {
                }

                return
            } else {
                puts $fd [string trimleft $lmLicEnvVarInfo]
                if {[catch {close $fd} err]} {
                    puts "Error closing file $outFileName"
                    while { [prompt "Press <Enter> to Continue"] != "" } {
                    }
                }
            }

            # update torVars.sh and torVars.csh

            updateTorVarsFiles
        }
    }
    return 1
}

######################################################################
# Dialog Text Messages
######################################################################

set strTable(FINISH_TITLE) "Finish"

set strTable(FINISH_REBOOT) \
    "You must reboot your machine in order to run [getProdInfo name]."

set strTable(FINISH_MSG_COMMON) \
     "IMPORTANT:\n\
     \nIn order to complete the installation, an environment variable\
     LM_LICENSE_FILE has to be set or appended to the existing one for\
     license management to work properly."

set strTable(FINISH_MSG_INSERT) \
     "IMPORTANT:\n\
     \nTo complete the installation, you must properly set the LM_LICENSE_FILE\
     environment variable."

set strTable(FINISH_MSG_DIALOG) \
        "[strTableGet FINISH_MSG_INSERT] \nPlease see the instructions on\
     the Finish page."

set strTable(FINISH_MSG1) \
        "License management has been successfully configured."

set strTable(FINISH_MSG2) \
     "IMPORTANT:\n\
     \nTo complete the installation, you must properly set the\
     \nLM_LICENSE_FILE environment variable or append it to an\
     \nexisting one. Add the following command to your startup\
     \nscript and either reboot, re-execute the script, or enter the\
     \ncommands manually.\
     \n\nNote: The LM_LICENSE_FILE setting has also been\
     \nadded to the Tornado environment scripts,"

set strTable(FINISH_MSG3) \
    "You can use the copy\/paste keys to\
     \ncopy this information from this page. The information\
     \nis also in "

set strTable(FINISH_MSG4) \
    "Please read the instructions on the Finish wizard page."

⌨️ 快捷键说明

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