⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install.tcl

📁 vxworks下MV5500的BSP支持包。是支持tornad221下的版本。
💻 TCL
📖 第 1 页 / 共 4 页
字号:
proc uninstFileClose {} {    global setupVals    if {"$setupVals(uninstFileOpen)" == "opened"} {        catch { close $setupVals(fInstallFile) } err        catch { close $setupVals(fInstallInfo) } err        catch { close $setupVals(fInstallBackup) } err        catch { close $setupVals(fInstallResource) } err        catch { close $setupVals(fInstallCDnumber) } err        puts $setupVals(fSetupLog) ""        catch { close $setupVals(fSetupLog) } err        set setupVals(uninstFileOpen) closed    }}################################################################################ uninstFileOpen - opens files for recording uninstall info.## This procedure opens disk files for writing the temporary uninstall records.# These files will be closed by calling uninstFileClose()## SYNOPSIS# uninstFileOpen## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#set setupVals(uninstFileOpen) ""proc uninstFileOpen {} {    global setupVals    if {"$setupVals(uninstFileOpen)" != "opened"} {        set setupLog [tempDirGet]/setup.log.tmp        set uninstFile [tempDirGet]/installFile.tmp        set uninstResource [tempDirGet]/installResource.tmp        set uninstCDnumber [tempDirGet]/installCDnumber.tmp        set uninstBackup [tempDirGet]/installBackup.tmp        set uninstInfo [tempDirGet]/installInfo.tmp        set setupVals(fSetupLog) [open $setupLog "w"]        set setupVals(fInstallFile) [open $uninstFile "w"]        set setupVals(fInstallInfo) [open $uninstInfo "w"]        set setupVals(fInstallBackup) [open $uninstBackup "w"]        set setupVals(fInstallResource) [open $uninstResource "w"]        set setupVals(fInstallCDnumber) [open $uninstCDnumber "w"]        set setupVals(uninstFileOpen) opened    }}################################################################################ uninstBinCopy - copies uninstall agent## This procedure copies neccessary files from CDROM to the destination# directory for the uninstall program to work.  No-op if patch installation# is detected.## SYNOPSIS# uninstBinCopy## PARAMETERS:  N/A## RETURNS: N/A## ERRORS: N/A#proc uninstBinCopy {} {    global env    if {[instTypeGet] == "patch"} {        return    } elseif {[windHostTypeGet] == "x86-win32"} {        # all the required binary files are copied by setupCopy        fileDup [file join [cdromRootDirGet] RESOURCE BITMAPS UNINST.BMP] \                [file join [uninstHomeDirGet] UNINST.BMP] update        fileDup [file join [cdromRootDirGet] RESOURCE TCL UNINST.TCL] \                [file join [uninstHomeDirGet] UNINST.TCL] update        fileDup [file join [cdromRootDirGet] RESOURCE TCL INCLUDE.TCL] \                [file join [uninstHomeDirGet] INCLUDE.TCL] update    } else {        # Other shared libraries are copied by the UNINST shell script        # because those are untarred from MWUITCL.TAR        set usrBinDir [file join [destDirGet] host [windHostTypeGet] bin]        set usrSetupDir [file join [destDirGet] SETUP]        set env(PATH) $usrBinDir:$env(PATH)        fileDup [file join [cdromRootDirGet] RESOURCE TCL UNINST.TCL] \                [file join [uninstHomeDirGet] UNINST.TCL] update        fileDup [file join [cdromRootDirGet] RESOURCE TCL INCLUDE.TCL] \                [file join [uninstHomeDirGet] INCLUDE.TCL] update        fileDup [file join [cdromRootDirGet] RESOURCE BITMAPS/UNINST.BMP] \                [file join [uninstHomeDirGet] UNINST.BMP] update        fileDup [file join [cdromRootDirGet] UNINST] \                [file join $usrBinDir UNINST] update        fileDup [file join [cdromRootDirGet] SETUP] \                [file join $usrSetupDir SETUP] update        fileDup [file join [cdromBinDirGet] ZIP] \                [file join $usrBinDir ZIP] update        fileDup [file join [cdromBinDirGet] SETUPTCL[string toupper \                                           [info sharedlibextension]]] \                [file join $usrBinDir setuptcl[info sharedlibextension]] update    }}################################################################################ uninstStop - wraps up the uninstall process.## This procedure copies uninstall agent, executes all queued commands, closes# all tempfiles, saves the temporary uninstall records into a zip file.## SYNOPSIS# uninstStop## PARAMETERS:#       prodName - Product Name e.g. Tornado#       prodVer - Product Version e.g. 3.0## RETURNS: N/A## ERRORS: N/A#proc uninstStop {prodName prodVer} {    global setupVals    if {"$setupVals(uninstLog)" > "0"} {        uninstBinCopy        if {[windHostTypeGet] == "x86-win32"} {            # For Windows hosts, create registry entries and uninstall icon            # uninstallInitWin32 was previously called uninstallSetup            uninstallInitWin32 $prodName $prodVer            queueExecute        } else {            queueExecute        }        uninstFileClose        if [file exists $setupVals(uninstFile)] {            catch {setupUnzip -o -qq $setupVals(uninstFile) \                  -d [tempDirGet] "install*"}        }        fileAppend [file join [tempDirGet] installFile.tmp] \                [file join [tempDirGet] installFile]        fileAppend [file join [tempDirGet] installResource.tmp] \                [file join [tempDirGet] installResource]        fileAppend [file join [tempDirGet] installCDnumber.tmp] \                [file join [tempDirGet] installCDnumber]        fileAppend [file join [tempDirGet] installBackup.tmp] \                [file join [tempDirGet] installBackup]        fileAppend [file join [tempDirGet] installInfo.tmp] \                [file join [tempDirGet] installInfo]        fileAppend [file join [tempDirGet] setup.log.tmp] \                [file join [destDirGet] setup.log]        cd [tempDirGet]        if [catch {exec [cdromBinDirGet]/ZIP $setupVals(uninstFile) -g -q -1 -m \                            "installFile" "installInfo" "installBackup"\                            "installResource" "installCDnumber"} error] {             puts "$error"        }        cd [cdromRootDirGet]    } else {        uninstFileClose    }}################################################################################ fileAppend - appends the content of the source to the destination file.## This procedure takes the content of the source file and appends it to the# destination file.## SYNOPSIS# fileAppend <srcFilePath> <destFilePath>## PARAMETERS:#    srcFilePath : a path to the source filename#    destFilePath : a path to the destination filename## RETURNS: N/A## ERRORS: N/A#proc fileAppend {srcFilePath destFilePath} {    set ftmp [open $srcFilePath "r"]    set f [open $destFilePath "a+"]    while {[gets $ftmp line] != "-1"} {        puts $f $line    }    catch { close $ftmp } err    catch { close $f } err}################################################################################ uninstLog - stores the specified string into the appropriate disk file.## SYNOPSIS# uninstLog <key> <string>## PARAMETERS:#    key : a string that long enough to differentiate between disk filenames,#          <r>esource, <b>ackup, <f>ileNew, <i>nfo, <s>etupLog, <c>dNumber#    string : string to be stored.## RETURNS: N/A## ERRORS: N/A#proc uninstLog {key string} {     global setupVals     set exitSetup 0     uninstFileOpen     if [catch { switch -glob $key {                     c* {                         puts $setupVals(fInstallCDnumber) $string                     }                     r* {                         puts $setupVals(fInstallResource) $string                         incr setupVals(uninstLog)                     }                     b* {                         puts $setupVals(fInstallBackup) $string                         incr setupVals(uninstLog)                     }                     f* {                         puts $setupVals(fInstallFile) $string                         incr setupVals(uninstLog)                     }                     i* {                         puts $setupVals(fInstallInfo) $string                     }                     s* {                         puts $setupVals(fSetupLog) "[installDate]\t$string"                         if {[destDirGet] != ""} {                             if [catch {flush $setupVals(fSetupLog)} result] {                                 set msg "SETUP detected error\(s\)\n$result\                                          \n\n[strTableGet TEMP_DISK_FULL_WARN]"                                 dialog ok_with_title "ERROR: Installation" $msg                                 set exitSetup 1                             }                                                               catch {file copy -force \                                         [tempDirGet]/setup.log.tmp \                                         [destDirGet]/setup.log.abort}                         }                     }                     default {                         puts "uninstLog error: $key does not exist"                     }                 }             } error] {         puts "cannot record \"$string\": $error"     }     if { $exitSetup } {         set setupVals(cancel) 1         applicationExit         dialog ok_with_title "Setup" "Setup will terminate now"         return 0     }}################################################################################ installDate - forms a simple date string## SYNOPSIS# installDate## PARAMETERS: N/A## RETURNS: a date string (i.e, 08-Apr-97.18:30)## ERRORS: N/A#proc installDate {} {    return [clock format [clock second] -format "%d-%b-%y.%H:%M"]}################################################################################ fileDup - copies a file## This routine copies srcFile to destFile.  The default option flag is 'none'# which means doing nothing if destFile exists, update: if srcFile is newer,# backup destFile then copies, overwrite: backup then copies.  In case of# failure, a message will be displayed, and user has a chance to decide next# action.  All successful copied filename will be logged for later uninstall.## SYNOPSIS# fileDup <srcFile> <destFile> [option]## PARAMETERS:#    <srcFile> : an absolute path filename#    <destFile> : an absolute path filename#    [option] : none | update | overwrite## RETURNS: True or False bases on success or failure.## ERRORS: N/A#proc fileDup {sourceFilePath destFilePath {option none}} {    global ctrlVals setupVals    if ![file exists $sourceFilePath] {        dbgputs "$sourceFilePath not found"        return 0    }    regsub -all {\\} $destFilePath {/} destFilePathUnixStyle    regsub -all {\\} [destDirGet] {/} destDir    regsub "$destDir/" $destFilePathUnixStyle "" relDestFilePathUnix    switch $option {        none {            if [file exists $destFilePath] {return 1}        }        checkVersion {            # this option is mainly used for checking version of DLLs in            # the Windows System directory; we don't backup the file and            # we don't keep track of the file for uninstall purpose            if [catch {setupFileVersionInfoGet $sourceFilePath} wrsVersion] {                dbgputs "Cannot get file version of $sourceFilePath: $wrsVersion"            }            if {[file exists $destFilePath] &&               [catch {setupFileVersionInfoGet $destFilePath} userVersion]} {               dbgputs "Cannot get file version of $destFilePath: $userVersion"            }            if {[file exists $destFilePath] && $wrsVersion < $userVersion} {                return 1            }            # if we reach this, we need to overwrite the old file            # no backup here because we'd like to keep the new version            set noLog 1        }        update {            if {[file exists $destFilePath] &&                [file mtime $sourceFilePath] <= [file mtime $destFilePath]} {                return 1            } elseif {[file exists $destFilePath]} {                backup $relDestFilePathUnix            }        }        overwrite {            if {[file exists $destFilePath]} {                backup $relDestFilePathUnix            }        }        default {            puts "fileDup $sourceFilePath $destFilePath $option"            puts "unknown option: $option"        }    }    set destDir [file dirname $destFilePath]    if {![file isdirectory $destDir] && [catch {file mkdir $destDir} error]} {        puts "$error"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -