📄 lmutil.tcl
字号:
# test automation
if { $ctrlVals(useInputScript) } {
autoSetupLog "\tOverwrite existing directory: [destDirGet]"
}
}
# Initiate the logging process
if {"$retVal" == "1"} {
if {[instTypeGet] != ""} {
uninstStart [instTypeGet]
} else {
uninstStart
}
}
if { [isTornadoProduct] } { set infVals(addDestDir) 1 }
# register file types only on Windows hosts since MainWin does
# not show file extensions with file dialogs.
if {![isUnix] && $infVals(addDestDir)} {
set infVals(addWinFile) 1
} else {
set infVals(addWinFile) 0
}
searchAndProcessSection AddRegistry [cdFileNameGet \
[file join RESOURCE INF TORNADO.INF]]
queueExecute
if { [isTornadoProduct] } { set infVals(addDestDir) 0 }
set infVals(addWinFile) 0
endWaitCursor
} else { # TEXT mode
set exitVal 0
set retVal 1
# convert all Unix style slashes to backslashes for Windows
if {[isUnix]} {
destDirSet [string trim [destDirGet] " "]
} else {
destDirSet [unixToDos [string trim [destDirGet] " "]]
}
# check for null directory
if { [destDirGet] == "" } {
return [lmDirPrompt]
}
# check for white spaces
if {[regexp {[ ]+} [destDirGet]]} {
puts "Error: [strTableGet LM_DESTDIR_WARN_1]\n"
return [lmDirPrompt]
}
if ![isUnix] {
# check if installed in root directory
if {[regexp {^[a-zA-Z]:[\\|\/]*$} [destDirGet] junk]} {
puts "[strTableGet LM_DESTDIR_WARN_2_TEXT]\n"
puts "Press: 1 to proceed , 2 to choose different directory"
while (1) {
set ret [prompt]
switch -regexp -- $ret {
"^1$" {
set retVal 1
break
}
"^2$" {
destDirSet $ret
set retVal [pageProcess(destDir)]
break
}
default { }
}
}
}
# make sure directory has drive name and path
if {![regexp {^[a-zA-Z]:[\\|\/]*.+$} [destDirGet] junk]} {
puts "Error: [strTableGet LM_DESTDIR_WARN_7]\n"
return [lmDirPrompt]
}
# make sure no directory in path starts with a number
# check the first name in the directory path.
if {[regexp {^[a-zA-Z]:[\\|\/]*[0-9]+} [destDirGet] junk]} {
puts [strTableGet LM_DESTDIR_WARN_8]
return [lmDirPrompt]
# then check the rest of the directory names.
} elseif {[regsub -all {\\[0-9]+} [destDirGet] {} ignore]} {
puts [strTableGet LM_DESTDIR_WARN_9]
return [lmDirPrompt]
}
}
if {![file isdirectory [destDirGet]]} {
# yes = 0 ; no = 1
puts "Warning: [strTableGet LM_DESTDIR_WARN_3]"
while (1) {
switch -regexp -- [prompt] {
"^-$" { backCallback }
"^[N|n]" { return [lmDirPrompt] }
"^[Y|y]" { set doNotCreateDirectory 0 ; break }
default { }
}
}
switch $doNotCreateDirectory {
0 {
# create directory
if {![file exists [destDirGet]]} {
# workaround for: overWritePolicy dialog box appears
# even if user installs to a new directory
set overwritePolicy(ALL) 1
if {[catch {file mkdir [destDirGet]} error]} {
if {![file writable [destDirGet]]} {
puts "Error: [strTableGet LM_DESTDIR_WARN_4]\n"
return [lmDirPrompt]
} else {
puts "Error: [strTableGet LM_DESTDIR_WARN_5]\n"
return [lmDirPrompt]
}
}
} else {
puts "Error: [strTableGet LM_DESTDIR_WARN_6]\n"
return [lmDirPrompt]
}
}
1 {
# do not create directory
return [lmDirPrompt]
}
}
}
# Initiate the logging process
if {"$retVal" == "1"} {
if {[instTypeGet] != ""} {
uninstStart [instTypeGet]
} else {
uninstStart
}
}
if { [isTornadoProduct] } { set infVals(addDestDir) 1 }
# register file types only on Windows hosts since MainWin does
# not show file extensions with file dialogs.
if {![isUnix] && $infVals(addDestDir)} {
set infVals(addWinFile) 1
} else {
set infVals(addWinFile) 0
}
searchAndProcessSection AddRegistry [cdFileNameGet \
[file join RESOURCE INF TORNADO.INF]]
queueExecute
if { [isTornadoProduct] } { set infVals(addDestDir) 0 }
set infVals(addWinFile) 0
}
return $retVal
}
#############################################################################
#
# lmDirPrompt - creates a prompt loop for getting the destination directory
#
# This procedure will loop until a valid destination directory is entered or
# the user exits
#
# SYNOPSIS
# .tS
# lmDirPrompt
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: return value of nested call to pageProcess(destDir)
#
# ERRORS: N/A
#
proc lmDirPrompt { } {
puts [strTableGet LM_DESTDIR_LABEL_1_TEXT]
set ret [prompt]
while { $ret == "" } {
set ret [prompt]
}
switch -regexp -- $ret {
"^-$" {
backCallback
}
"[eE][xX][iI][tT]" {
return 0
}
default {
destDirSet $ret
set retVal [pageProcess(lmUtilInst)]
}
}
return $retVal
}
#############################################################################
#
# onBrowse - set the value in edit box when a directory is selected
# from the browse window
#
# This procedure will set the value in edit box when a directory is selected
# from the browse window
#
# SYNOPSIS
# .tS
# onBrowse <ctrlName>
# .tE
#
# PARAMETERS:
# .IP ctrlName
# control name which will have the new value
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc onBrowse {ctrlName} {
global ctrlVals
set retDir [dirBrowseDialogCreate -title "Directory"]
if {"$retDir" != ""} {
controlValuesSet $ctrlVals(mainWindow).$ctrlName $retDir
}
}
proc onReloadLic {} {
global lmVals ctrlVals
if {[isGUImode]} {
set w $ctrlVals(mainWindow)
if {[controlChecked $w.reloadCkbox]} {
set lmVals(reloadExistingLicense) 1
} else {
set lmVals(reloadExistingLicense) 0
}
} else {
if {[instTypeGet] != "flexInst"} {
puts "Do you want to reload your existing license file? (y/n) \[n\] "
set ret [prompt]
if {$ret == "y"} {
set lmVals(reloadExistingLicense) 1
} else {
set lmVals(reloadExistingLicense) 0
}
}
}
dbgputs "reloadExistingLicense: $lmVals(reloadExistingLicense)"
}
######################################################################
# Dialog Text Messages
######################################################################
set strTable(LM_DESTDIR_TITLE) "License Management Utilities Installation"
set strTable(LM_DESTDIR_LABEL_1) \
"format %s \"Please type the name of the directory path where you\
want SETUP to install License Management Utilities.\
\n\nClick the <Browse> button to choose the directory\
interactively.\""
set strTable(LM_DESTDIR_LABEL_1_TEXT) \
"format %s \"Please type the name of the directory path where you\
want SETUP to install License Management Utilities.\""
set strTable(LM_DESTDIR_LABEL_2) "Destination Directory"
set strTable(LM_DESTDIR_LABEL_3) \
"Check this box to reload your existing license file."
set strTable(LM_DESTDIR_WARN_1) \
"format %s \"The installation directory you entered contains white\
space(s). Please select another directory.\""
set strTable(LM_DESTDIR_WARN_2) \
"format %s \"Installing License Management utilities in the \
root directory is not recommended.\nClick <Yes> to select \
another directory.\""
set strTable(LM_DESTDIR_WARN_2_TEXT) \
"format %s \"Installing License Management utilities in the root\
directory is not recommended. Please select another directory.\""
set strTable(LM_DESTDIR_WARN_3) \
"The installation directory you entered does not exist.\
\nDo you want to create it now?"
set strTable(LM_DESTDIR_WARN_4) \
"You do not have permission to write files into the installation\
directory you entered.\
\n\nPlease choose a writable directory."
set strTable(LM_DESTDIR_WARN_5) \
"format %s \"Unable to create \[destDirGet\].\""
set strTable(LM_DESTDIR_WARN_6) \
"format %s \"Creating \[destDirGet\] failed: file exists.\""
set strTable(LM_DESTDIR_WARN_7) \
"Please provide a directory path starting with a drive name."
set strTable(LM_DESTDIR_WARN_8) \
"Please provide a directory path starting with a letter character."
set strTable(LM_DESTDIR_WARN_9) \
"Please provide directory names starting with letter characters."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -