📄 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 program
globalInit
instTypeSet [lindex $argv 0]
catch {source $setupVals(profile)}
set setupVals(prevInstKey) [instKeyGet]
source [cdromRootDirGet]/RESOURCE/TCL/MESSAGES.TCL
source [cdromRootDirGet]/RESOURCE/TCL/INSTALL.TCL
source [cdromRootDirGet]/RESOURCE/TCL/FSPACE.TCL
source [cdromRootDirGet]/RESOURCE/TCL/CONFIG.TCL
constructPages [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 + -