📄 insttext.tcl
字号:
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 + -