📄 licw32.tcl
字号:
# LICW32.TCL - UITcl script for Windows License Installation## Copyright 1998 Wind River Systems, Inc.## modification history# --------------------# 01c,22jul98,tcy moved license messages from MESSAGES.TCL# 01b,22jul98,tcy moved licenseHomeDirGet/Set () from LICW32.TCL# 01a,14jul98,tcy moved from INSTW32.TCL ###########################################################################proc pageCreate(licenseChoice) {} { global ctrlVals global setupVals set setupVals(licComp) "" set ctrlVals(pageList) $ctrlVals(pageListBack) set ctrlVals(volatileFrm) [list \ [list label -name msg1 \ -title [strTableGet 1290_LICENSE_CHOICE] \ -x 100 -y 10 -w 187 -h 16] \ [list list -name listCtrl \ -x 100 -y 32 -w 150 -h 32] \ [list label -name msg2 \ -title [strTableGet 1291_LICENSE_CHOICE] \ -x 100 -y 80 -w 205 -h 8] \ [list choice -name remote \ -title [strTableGet 1300_LICENSE_CHOICE_0] \ -newgroup -auto \ -callback {onLicChoice remote} \ -x 110 -y 92 -w 185 -h 12] \ [list choice -name haveKey \ -title [strTableGet 1300_LICENSE_CHOICE_1] \ -auto \ -callback {onLicChoice haveKey} \ -x 110 -y 103 -w 185 -h 12] \ [list choice -name email \ -title [strTableGet 1310_LICENSE_CHOICE_2] \ -auto \ -callback {onLicChoice email} \ -x 110 -y 114 -w 185 -h 12] \ [list choice -name call \ -title [strTableGet 1320_LICENSE_CHOICE_3] \ -auto \ -callback {onLicChoice call} \ -x 110 -y 125 -w 185 -h 12] \ ] set w [dlgFrmCreate [strTableGet 1520_TITLE_LICENSE_CHOICE]] foreach featureId [cdInfoGet featureIdList] { lappend setupVals(licComp) "[featureDescGet $featureId]" } controlValuesSet $w.listCtrl $setupVals(licComp) controlValuesSet $w.$setupVals(licAction) 1 controlValuesSet $ctrlVals(mainWindow).nextButt "&Next >"}proc pageProcess(licenseChoice) {} { global setupVals if ![catch {genHostCode [info host]} retVal] { set setupVals(hostId) $retVal } { set setupVals(hostId) "" uninstLog setupLog "\tFailed to detect HostId: $retVal" } set setupVals(licenseNum) [setupLicenseNumGet] 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 } manual { pageRemove licEmail pageRemove licCall pageRemove licenseKey pageRemove remoteLicenseHost } } return 1}proc pageCreate(licenseKey) {} { global ctrlVals global setupVals set ctrlVals(volatileFrm) [list \ [list label -name msg1 \ -title [strTableGet 1260_LICENSE_KEY \ $setupVals(hostName)] \ -x 100 -y 10 -w 205 -h 25] \ [list label -name msg2 -title "&License Key" \ -x 100 -y 37 -w 85 -h 10] \ [list text -name licenseKeyText \ -x 100 -y 49 -w 150 -h 12] \ [list list -name licList \ -callback keyInfoUpdate \ -x 100 -y 63 -w 150 -h 38] \ [list group -name licInfoGroup \ -title "Key Information" \ -x 100 -y 106 -w 150 -h 64] \ [list button -name add \ -title "&Add" \ -callback onAddLic \ -x 265 -y 49 \ -w 40 -h 12] \ [list button -name remove \ -title "&Remove" \ -callback onRemoveLic \ -x 265 -y 63 \ -w 40 -h 12] \ ] set x0 107 set y0 116 set txtList {"Feature Id:" "Feature Name:" "Licenses:" \ "Start Date:" "Expire Date:"} set x1 [expr $x0 + 50] set i 1 foreach header $txtList { lappend ctrlVals(volatileFrm) [list label -name $header \ -title $header \ -x "$x0" -y "$y0" \ -w 47 -h 10] lappend ctrlVals(volatileFrm) [list label -name "ctrl$i" \ -title "" \ -x "$x1" -y "$y0" \ -w 90 -h 10] incr y0 10 incr i } set w [dlgFrmCreate [strTableGet 1510_TITLE_LICENSE_KEY]] controlValuesSet $ctrlVals(mainWindow).licenseKeyText \ "$setupVals(licenseKey)" controlValuesSet $ctrlVals(mainWindow).licList \ $setupVals(licenseKeyList) controlValuesSet $ctrlVals(mainWindow).nextButt "&Next >" controlFocusSet $ctrlVals(mainWindow).licenseKeyText}proc pageProcess(licenseKey) {} { global setupVals global ctrlVals set retVal 0 set exitMsg [strTableGet 1270_LICENSE_KEY_ERROR] if {[llength $setupVals(licenseKeyList)] != 0} { if {![file isdirectory [licenseHomeDirGet]]} { file mkdir [licenseHomeDirGet] } beginWaitCursor # copy over the license files licenseFilesCopy # create the license file set binDir "[destDirGet]\\host\\[windHostTypeGet]\\bin" foreach key $setupVals(licenseKeyList) { if [catch {putKeyfile [join $key ""] \ [info host] \ [licenseHomeDirGet]} result] { uninstLog setup \ "\t[strTableGet 1280_LICENSE_KEY_ERROR_1 $result]" messageBox [strTableGet 1280_LICENSE_KEY_ERROR_1 $result] endWaitCursor return 0 } } # install Wind License Manager as a service on NT, in the \ # startup group on 95. Start the server if it is not already \ # running exitMsgSet [strTableGet 1261_LICENSE_KEY_FINISH_OK] set wlmdPath [systemDirGet]\\WLMD.EXE if {$ctrlVals(NT) && ($setupVals(isWlmdRunning) != 1)} { set exePath "[systemDirGet]\\WLMD.EXE" set licServiceName "WindLM" if {![catch {setupServiceInstall $licServiceName $wlmdPath ""}\ error]} { uninstLog resource "service\t$licServiceName" } catch {setupServiceStart $licServiceName} error } elseif {! $ctrlVals(NT)} { set exeDir "[setupWinDirGet]\\system" itemCreateLog Startup WindLM $wlmdPath [systemDirGet] \ $ctrlVals(admin) if {$setupVals(isWlmdRunning) != 1} { if {[catch {processCreate -hidden $wlmdPath \ [licenseHomeDirGet]} error]} { exitMsgSet [strTableGet 1262_LICENSE_KEY_FINISH_BAD] } } } windowShow $ctrlVals(mainWindow) 0 set retVal 1 } { messageBox [strTableGet 1270_LICENSE_KEY_ERROR] set retVal 0 } endWaitCursor return $retVal}proc pageCreate(licEmail) {} { global setupVals global ctrlVals set ctrlVals(volatileFrm) [list \ [list label -name msg \ -title [strTableGet 1330_LICENSE_MAIL] \ -x 100 -y 10 -w 205 -h 24] \ [list text -name licenseInfo \ -multiline -hscroll \ -vscroll -readonly \ -x 100 -y 40 -w 205 -h 130] \ ] set mailMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE1]\ \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE2]\ \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE3 [userNameGet]]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE4 [companyNameGet]]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE5a [instKeyGet]]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \ $setupVals(licenseNum)]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 \ $setupVals(hostName)]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \ $setupVals(hostId)]\ \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\ \r\n\r\n" foreach featureId [cdInfoGet featureIdList] { append mailMsg "[featureDescGet $featureId] (id = $featureId)\r\n" } set setupVals(mailMsg) $mailMsg set w [dlgFrmCreate [strTableGet 1530_TITLE_LICENSE_MAIL]] controlValuesSet $w.licenseInfo "$setupVals(mailMsg)"}proc pageProcess(licEmail) {} { global setupVals global ctrlVals set setupVals(licAction) haveKey set ctrlVals(pageList) $ctrlVals(pageListBack) set ctrlVals(currPage) folderSelect return [mailSend]}proc pageCreate(licCall) {} { global setupVals global ctrlVals set ctrlVals(volatileFrm) [list \ [list label -name msg \ -title [strTableGet 1350_LICENSE_CALL] \ -x 100 -y 10 -w 205 -h 24] \ [list text -name callInfo \ -multiline -hscroll -vscroll \ -readonly \ -x 100 -y 48 -w 205 -h 120] \ ] set w [dlgFrmCreate [strTableGet 1540_TITLE_LICENSE_CALL]] set callMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 \ $setupVals(hostName)]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \ $setupVals(hostId)]\ \r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \ $setupVals(licenseNum)]\ \r\n\r\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\ \r\n\r\n" foreach featureId [cdInfoGet featureIdList] { append callMsg "[featureDescGet $featureId] (id = $featureId)\r\n" } controlValuesSet $w.callInfo $callMsg}proc pageProcess(licCall) {} { global setupVals global ctrlVals set setupVals(licAction) haveKey set ctrlVals(pageList) $ctrlVals(pageListBack) set ctrlVals(currPage) folderSelect return 1}proc pageCreate(remoteLicenseHost) {} { global ctrlVals global setupVals set msg0 [strTableGet 1353_LICENSE_REMOTE] set ctrlVals(volatileFrm) [list \ [list label -name msg0 -title $msg0 \ -x 100 -y 10 -w 205 -h 64] \ [list label -name msg1 -title "Host Name:" \ -x 100 -y 94 -w 40 -h 10] \ [list text -name remoteLicHost \ -x 150 -y 92 -w 148 -h 13] \ ] set w [dlgFrmCreate [strTableGet 1561_TITLE_LICENSE_REMOTE]] controlValuesSet $w.remoteLicHost [windLmHostValueRead] controlFocusSet $w.remoteLicHost}proc pageProcess(remoteLicenseHost) {} { global ctrlVals global setupVals set retVal 1 beginWaitCursor set setupVals(licenseHost) \ [controlValuesGet $ctrlVals(mainWindow).remoteLicHost] if ![pingServer $setupVals(licenseHost)] { messageBox "[strTableGet 1357_LICENSE_REMOTE_FAIL\ $setupVals(licenseHost)]" endWaitCursor return 0 } if {![regexp {^[ ]*$} "$setupVals(licenseHost)"]} { windLmHostValueWrite $setupVals(licenseHost) exitMsgSet [strTableGet 1354_LICENSE_REMOTE] } { messageBox [strTableGet 1072_WARN_1] set retVal 0 } endWaitCursor return $retVal}proc pageCreate(licenseFinish) {} { global setupVals global ctrlVals windowShow $ctrlVals(mainWindow) 0 uninstLog setupLog "[cdInfoGet number] SETUP" uninstLog setupLog [strTableGet 1261_LICENSE] messageBox -informationico [exitMsgGet] nextCallback}proc pageProcess(licenseFinish) {} { return 1}proc windLmHostValueWrite {value} { global setupVals global ctrlVals set regPath "Software\\$setupVals(WRS)\\$setupVals(prodRegEntry)" regValueWriteLog HKEY_CURRENT_USER \ $regPath WIND_LMHOST $value noLog}proc windLmHostValueRead {} { global setupVals global ctrlVals if ![info exists setupVals(licenseHost)] { set setupVals(licenseHost) "" if {![catch {sysRegistryValueRead HKEY_CURRENT_USER \ "Software\\$setupVals(WRS)\\$setupVals(prodRegEntry)" \ WIND_LMHOST} retVal]} { set setupVals(licenseHost) $retVal } } return $setupVals(licenseHost)}proc pageCreate(wlmdDetect) {} { global ctrlVals global setupVals set ctrlVals(volatileFrm) [list \ [list label -name msg0 \ -title [strTableGet 1358_LICENSE_SERVER_DETECT]\ -x 100 -y 10 -w 205 -h 64] \ ] set w [dlgFrmCreate "[strTableGet 1261_LICENSE] Detect"] nextCallback}proc pageProcess(wlmdDetect) {} { global setupVals ctrlVals for {set i 0} {$i < 10} {incr i} { uiEventProcess } beginWaitCursor set setupVals(isWlmdRunning) [pingServer [info host]] endWaitCursor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -