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

📄 destdir.tcl

📁 vxworks下MV5500的BSP支持包。是支持tornad221下的版本。
💻 TCL
📖 第 1 页 / 共 3 页
字号:
                                         [strTableGet DESTDIR_WARN_8]                    set retVal 0                }            # then check the rest of the directory names.              } elseif {[regsub -all {\\[0-9]+} [destDirGet] {} ignore]} {                if { $ctrlVals(useInputScript) } {                    autoSetupLog "[strTableGet DESTDIR_WARN_9]"                    autoSetupLog "Application Exit\n"                    set setupVals(cancel) 1                                    applicationExit                    return 0                } else {                           dialog ok_with_title "ERROR: Destination Directory" \                                         [strTableGet DESTDIR_WARN_9]                    set retVal 0                }            }        }    } 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 [dirPrompt]        }        # check for white spaces        if {[regexp {[ ]+} [destDirGet]]} {            puts "Error: [strTableGet DESTDIR_WARN_1]\n"            return [dirPrompt]        }        # check for special tcl regexp characters	# one or more instances of ][$^?+*()|{}        # the following regular expression means [special characters]+        if {[regexp "\[\]\[\$\^\?\+\*\(\)\|\{\}\]\+" [destDirGet]]} {            puts "Error: [strTableGet DESTDIR_WARN_10]\n"            return [dirPrompt]        }        # ' and ~ reported to cause problems on Japanese Windows NT        if ![isUnix] {            if {[regexp "\['~\]\+" [destDirGet]]} {                puts "Error: [strTableGet DESTDIR_WARN_11]\n"                return [dirPrompt]            }        }        if ![isUnix] {            # check if installed in root directory            if {[regexp {^[a-zA-Z]:[\\|\/]*$} [destDirGet] junk]} {                puts "[strTableGet 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 DESTDIR_WARN_7]\n"                return [dirPrompt]            }            # 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 "Error: [strTableGet DESTDIR_WARN_8]\n"                return [dirPrompt]                # then check the rest of the directory names.            } elseif {[regsub -all {\\[0-9]+} [destDirGet] {} ignore]} {                puts "Error: [strTableGet DESTDIR_WARN_9]\n"                return [dirPrompt]            }        }    }    if { [isTornadoProduct] } {        # check if installation over existing tree is ok        # skip checking if run SETUP for a license or if because of errors        if { [string compare [instTypeGet] "licenseError"] != 0 && \             [string compare [instTypeGet] "licenseSetup"] != 0 } {            # bypass checking if run with OVERRIDE option            if { [info exist skipInstalloverCheck] && \                 $skipInstalloverCheck != 0 } {                 dbgputs "SKIPPED checkInstallover"            } else {                if { ![checkInstallover] } { return 0 }            }        }    }    if {![file isdirectory [destDirGet]] && "$retVal" == "1"} {        # test automation        if { [isGUImode] } {            if { $ctrlVals(useInputScript) } {                # yes = 0 ; no = 1                set doNotCreateDirectory 0             } else {                if { [instTypeGet] == "icon" } {                    dialog ok "SETUP" \                        "You have selected Program Group Installation.\                         However, SETUP detected that the directory you entered\                         does not exist. [strTableGet DESTDIR_LABEL_1]"                    return 0                }                set doNotCreateDirectory \                    [dialog yes_no "Setup" [strTableGet DESTDIR_WARN_3]]            }        } else { # TEXT mode            # yes = 0 ; no = 1            puts "Warning: [strTableGet DESTDIR_WARN_3] \[Y\]"            while (1) {                switch -regexp -- [prompt] {                    "^$" -                    "^[Y|y]" {  set doNotCreateDirectory 0 ; break  }                    "^-$"    {  backCallback  }                    "^[N|n]" {  return [dirPrompt]  }                    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 { $ctrlVals(useInputScript) } {                            autoSetupLog "Error in creating new directory: [destDirGet]"                            autoSetupLog "Application Exit"                            set setupVals(cancel) 1                                            applicationExit                            return 0                        } else {                            if {![file writable [destDirGet]]} {                                if { [isGUImode] } {                                    messageBox [strTableGet DESTDIR_WARN_4]                                } else {                                    puts "Error: [strTableGet DESTDIR_WARN_4]"                                    return [dirPrompt]                                }                            } else {                                if { [isGUImode] } {                                    messageBox [strTableGet DESTDIR_WARN_5]                                } else {                                    puts "Error: [strTableGet DESTDIR_WARN_5]"                                    return [dirPrompt]                                }                            }                        }                        set retVal 0                    }                    # test automation                    if { $ctrlVals(useInputScript) } {                        autoSetupLog "\tCreating new directory: [destDirGet]"                    }                } else {                    if { ![isGUImode] } {                        puts "Error: [strTableGet DESTDIR_WARN_6]"                        return [dirPrompt]                    } else {                        if { $ctrlVals(useInputScript) } {                            autoSetupLog "[strTableGet DESTDIR_WARN_6]"                        } else {                            messageBox [strTableGet DESTDIR_WARN_6]                        }                    }                    set retVal 0                }            }            1 {                # do not create directory                if { [isGUImode] } {                    set retVal 0                } else {                    return [dirPrompt]                }            }        }    } else {        # 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  }    set prod [string toupper [getProdInfo name]]    searchAndProcessSection AddRegistry [cdFileNameGet [file join RESOURCE \                                         INF $prod.INF]]    queueExecute    if { [isTornadoProduct] } {          set infVals(addFolder) 0         set infVals(addDestDir) 0      }    # set WIND_BASE to destDir so that archiving will succeed for SETUP    set env(WIND_BASE) [destDirGet]    return $retVal}############################################################################### dirPrompt - 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# dirPrompt# .tE## PARAMETERS: N/A## RETURNS: return value of nested call to pageProcess(destDir)## ERRORS: N/A#proc dirPrompt { } {    puts [strTableGet DESTDIR_LABEL_3_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(destDir)]        }    }    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    }}############################################################################### checkInstallover - check INSTALLOVER.INF file for installation regulations# # This procedure checks INSTALLOVER.INF file for installation validation# rules (for Tornado product only). This procedure is called when SETUP # detects that user is trying to install the CD over an existing Tornado tree.## SETUP warns, logs error, and allows to proceed:# - if setup.log or INSTALLOVER.INF files not found or cannot be opened/read# - if missing rule (no "CD-TDK" that matches this CD image)# - if installed tree is incompatible, when "compatible-TDKs" does not#   match with the one found in setup.log## SYNOPSIS# .tS

⌨️ 快捷键说明

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