📄 flexcopy.tcl
字号:
autoSetupLog "Application Exit\n"
set setupVals(cancel) 1
applicationExit
return 0
} else {
messageBox "Error: No FlexLM files are copied"
}
} else {
puts "Error: No FlexLM files are copied"
while { [prompt "Press <Enter> to continue."] != "" } {
}
}
} else {
set binDir [file join \
[dosToUnix [destDirGet]] host [windHostTypeGet] bin]
uninstLog setup "Installed License Management Files:"
foreach file "$fileList" {
set f [file tail $file]
set destFile [file join $binDir $f]
# copy the file to windHostType/bin
fileDup $file $destFile update
dbgputs $destFile
uninstLog setup "\t$destFile"
if {![isUnix]} {
file attributes $destFile -readonly 0
}
}
}
# Copy FLEXlm File Manager files onto NT system32 directory
if {![isUnix]} {
set ntSysDir [dosToUnix [sysDirGet]]
set fileList [glob -nocomplain \
[dosToUnix [cdromBinDirGet]]/lmgr*.dll \
[dosToUnix [cdromBinDirGet]]/flexlm.cpl ]
foreach file "$fileList" {
set f [file tail $file]
set destFile [file join $ntSysDir $f]
set doCopy 0
# validate time stamp
if {[file exists $destFile]} {
if {[file mtime $file] > [file mtime $destFile]} {
# src file newer then current file
set doCopy 1
}
} else {
set doCopy 1
}
# copy the file to NT system32
if {$doCopy} {
if {[catch {file copy -force $file $destFile} err]} {
if { $ctrlVals(useInputScript) } {
autoSetupLog "$err"
autoSetupLog "Application Exit\n"
set setupVals(cancel) 1
applicationExit
return 0
} else {
dialog ok_with_title "Copy Error" "$err"
uninstLog setup "Copy Error: $err"
}
}
dbgputs $destFile
uninstLog setup "\t$destFile"
file attributes $destFile -readonly 0
}
}
}
if { [isGUImode] } {
endWaitCursor
windowClose flexlmFilesCopyDlg
}
}
#############################################################################
#
# licFileExists - Check if an license file exists
#
# This routine check if an license file exists
#
# SYNOPSIS
# .tS
# licFileExists
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 1 if exists, 0 if not
#
# ERRORS: N/A
#
proc licFileExists {} {
global lmVals
if {[file exists $lmVals(lmLicenseFile)] } {
set retVal 1
} else {
set retVal 0
}
return $retVal
}
#############################################################################
#
# licFileValidCheck - validate the license file
#
# This routine validate the existing license file
#
# SYNOPSIS
# .tS
# licFileValidCheck
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 0 if failed, non-zero if success. Return num is the setup page to
# jump to
#
# ERRORS: N/A
#
proc licFileValidCheck {} {
global ctrlVals setupVals lmRetVal env
if { [isGUImode] } {
if { [windHostTypeGet] == "x86-linux2"} {
dialogCreate \
-name licFileValidCheckDlg \
-notitle \
-parent $ctrlVals(parentDialog) \
-width 230 -height 32 \
-init {
controlPropertySet licFileValidCheckDlg.message1 -bold 1; \
windowTimerCallbackSet licFileValidCheckDlg \
-milliseconds 200 licFileValidCheckCallback \
} \
-controls [list \
[list label -name "message1" \
-title [strTableGet LM_ANALYSIS_BANNER] \
-x 40 -y 12 -w 180 -h 10] ]
} else {
dialogCreate \
-name licFileValidCheckDlg \
-notitle \
-parent $ctrlVals(parentDialog) \
-width 230 -height 32 \
-init {
controlPropertySet licFileValidCheckDlg.message1 -bold 1; \
windowTimerCallbackSet licFileValidCheckDlg \
-milliseconds 200 licFileValidCheckCallback \
} \
-controls [list \
[list bitmap -name bmp -stretch \
-title "[cdFileNameGet \
[file join RESOURCE BITMAPS SETUPICO.BMP]]" \
-x 10 -y 5 -w 20 -h 20] \
[list label -name "message1" \
-title [strTableGet LM_ANALYSIS_BANNER] \
-x 40 -y 12 -w 180 -h 10] ]
}
} else { # TEXT mode
puts "[strTableGet LM_ANALYSIS_BANNER]\n"
licFileValidCheckCallback
}
# lmRetVal is set in licFileValidCheckCallBack
return $lmRetVal
}
#############################################################################
#
# licFileValidCheckCallback - Call back function for licFileValidCheck
#
# This routine validate the existing license file
#
# SYNOPSIS
# .tS
# licFileValidCheckCallback
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 0 if failed, non-zero if success. Return num is the setup page to
# jump to
#
# ERRORS: N/A
#
proc licFileValidCheckCallback {} {
global setupVals ctrlVals lmVals lmRetVal
set retVal 1
set errMsg ""
set cannotOpen 0
if { [isGUImode] } {
windowTimerCallbackSet licFileValidCheckDlg 0 ""
beginWaitCursor
}
# check file opening and syntex
if { [catch {open $lmVals(lmLicenseFile) r} fileId] } {
dbgputs "FLEXCOPY: Cannot open license file"
set cannotOpen 1
set errMsg "Cannot open license file: $lmVals(lmLicenseFile)\
\nfor analysis."
uninstLog setup "FLEXCOPY: Detected license file opening error."
} else {
while { [gets $fileId line] >= 0 } {
set line [string trim $line]
if { "$line" != "" && \
[regexp {^%.*} $line] } {
# found start of WR proprietary info, no more licensefile lines
break;
}
# check if the line has correct format
if { "$line" != "" && \
[regexp {^[SERVER|USE_SERVER|FEATURE|VENDOR|HOSTID|DUP|BORROW|PACKAGE|SIGN].*} $line] } {
dbgputs "FLEXCOPY: License file can be opened and has a key word."
uninstLog setup "FLEXCOPY: Setup has detected that your license \
file can be opened for analysis."
if { $ctrlVals(useInputScript) } {
autoSetupLog "FLEXCOPY - SETUP has detected that your\
license file can be opened for analysis."
}
break
}
}
close $fileId
}
if { $cannotOpen == 1 } {
# error with license file, skip current license info page
pageRemove currLicInfo
}
set lmRetVal $retVal
if { [isGUImode] } {
endWaitCursor
windowClose licFileValidCheckDlg
}
}
######################################################################
# Dialog Text Messages
######################################################################
set strTable(FLEXCOPY_LM_FILE_INVALID) \
"SETUP has detected that your license file has an invalid format.\
SETUP will overwrite the file."
set strTable(LM_FILESCOPY_BANNER) \
"Copying License Management Files. Please wait..."
set strTable(LM_ANALYSIS_BANNER) \
"Analyzing License File. Please wait..."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -