亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? install.tcl

?? 這是vxworks 的圖形界面開發軟件windML2.0的補丁CP2。
?? TCL
?? 第 1 頁 / 共 5 頁
字號:
# 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: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc uninstStop {} {
    global setupVals

    if {"$setupVals(uninstLog)" > "0"} {
        uninstBinCopy
        
        if {[windHostTypeGet] == "x86-win32"} {
            uninstallSetup
            queueExecute
        }

        uninstFileClose

        if [file exists $setupVals(uninstFile)] {
            catch {setupUnzip -o -qq $setupVals(uninstFile) \
                  -d [tempDirGet] "install*"}
        }

        fileAppend [tempDirGet]/installFile.tmp [tempDirGet]/installFile
        fileAppend [tempDirGet]/installResource.tmp [tempDirGet]/installResource
        fileAppend [tempDirGet]/installBackup.tmp [tempDirGet]/installBackup
        fileAppend [tempDirGet]/installInfo.tmp [tempDirGet]/installInfo
        fileAppend [tempDirGet]/setup.log.tmp [destDirGet]/setup.log
       
        cd [tempDirGet]

        if [catch {exec ZIP $setupVals(uninstFile) -g -q -1 -m \
                            "installFile" "installInfo" "installBackup"\
                            "installResource"} error] {
             puts "$error"
        }
    } {
        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} {
    global setupVals

    set ftmp [open $srcFilePath "r"]
    set f [open $destFilePath "a+"]

    while {[gets $ftmp line] != "-1"} {
        puts $f $line
    }
      
    close $ftmp
    close $f
}

##############################################################################
#
# 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
#    string : string to be stored.
#
# RETURNS: N/A
#
# ERRORS: N/A
#

set setupVals(uninstLog) 0

proc uninstLog {key string} {
     global setupVals

     uninstFileOpen

     if [catch { switch -glob $key {
                     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"
                     }    
                     default { 
                         puts "uninstLog error: $key not match" 
                     }
                 } 
             } error] { 

         puts "cannot record \"$string\": $error" 
     } 
}

##############################################################################
#
# 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"]
}

##############################################################################
#
# filesCopy - copies all the selected product files into the user destination
#             directory.
#
# This routine walks thru each selected product, and do the following actions:
#
#   - runs the preInstall.tcl if any
#   - creates a record to the setup.log
#   - obtains a list of sub-products, and do the following actions:
#
#      + calls setupFileSetMake to build the sub-product filelist
#      + calls setupFileExtract to extract each file from the filelist. 
#        An internal pointer is advanced until it hits the end of the list.
#        The setupFileExtract function returns one of the following messages:
#
#        Message           Next actions 
#        -------           ------------
#        OK                - creates uninstall record,  advances file pointer.
#        EXIST_AND_SAME    - skips this file
#        EXIST_AND_NEWER   - backup the original file, and extracts this file 
#                            again
#        EXIST_AND_OLDER   - same as above
#        MULTIPLE_VERSION  - keeps the newer version of the file, backup the 
#                            original if it's older.
#        NOT_FOUND         - queries for retry until user gives up.
#        ZIP_ERROR         - logs the error message into the setup.log
#        MEMORY_LOW        - queries user for continue or not.
#        NO_ZIP_FILE       - queries for retry until user gives up.
#        BAD_PARAM         - logs the error message into the setup.log
#        DISK_FULL         - queries user for continue or not.
#        UNEXPECT_EOF      - logs the error message into the setup.log
#        END_OF_LIST       - continues w/ the next sub-product.
#
#   - runs the postInstall.tcl if any
# 
#
# SYNOPSIS
# filesCopy
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc filesCopy {} {
    global setupVals

    cd [destDirGet]

    set setupVals(cancel) 0
    set totalFiles [cdInfoGet totalFile]
    set desc "Unknown component"
    set i 0

    uninstLog setup "[cdInfoGet number]\t$setupVals(version)"

    foreach prodIndex [cdInfoGet selectedProdIndexList] {

        currentIndexSet $prodIndex

        # Remove objects from vxworks directory
        
        set saveDir [pwd]
        cd "[destDirGet]/target/lib"

        if {[windHostTypeGet] == "x86-win32"} {
            set rmTool "[destDirGet]/host/[windHostTypeGet]/bin/rm"
            set rmTool [dosToUnix $rmTool]
        }

        set objsToRemove "udm821.o udm821in.o uglDevMemUtil.o uglinfo.o ugldib.o ugltdib.o uglmdib.o uglfont2.o udgenstr.o udgmode.o udgenlin.o udg8str.o udg8fil.o udg16str.o udg16fil.o udg1str.o udg1fil.o udvgabmp.o uigs422bmp.o udsa8in.o udsa16in.o udx11.o udx11bmp.o udx11utl.o udx11evt.o udx11cur.o udx11kbd.o udx11ptr.o udmgx.o udmgxlin.o udmgxfil.o uglmsptr.o uglps2ptr.o uglabtts.o winroute.o udmgxbmp.o udmgxcrs.o udmgxgc.o udmgxgpw.o udmgxmod.o udmgxpg.o udmgxblt.o udmgx8.o udmgx16.o udsimnt.o uglpckbd.o uglinput.o uglevts.o uglevtq.o uglevth1.o uglevth.o uglEventLib.o uglevts1.o udbmffnt.o udvxwmem.o i8042Kbd.o i8042Mse.o uglInit.o igs5050Dsp.o igs5050Snd.o igsSndIo.o udAgfa.o udgenply.o udg8bmp.o udg1bmp.o udvga.o udvgalin.o udct8.o udct16.o udct16.o udct8ini.o udct16in.o udct8clr.o udigs8.o udigs16.o udigsutil.o ufpcl.o udq2sdbmp.o window.o"

	if {[catch {set objDirList [glob obj*vx]}] == 0} {
            foreach element $objDirList {
                cd $element
                set curDir [pwd]
                puts "Removing WindML 2.0 objects from $curDir"
                foreach element1 $objsToRemove {
                    if {[file exists $element1]} {
                        if {[windHostTypeGet] == "x86-win32"} {
                            if {[catch "exec $rmTool $element1" error]} {
                                puts "Error: couldn't remove $element1: $errArchive"
                            }
                        } else {
                            if {[catch "exec rm -f $element1" error]} {
                                puts "Error: couldn't remove $element1: $errArchive"
                            }
                        }
                    }
                }
                cd ..
            }
        } else {
            puts "No vxworks object directories to clean up: OK"
        }

        cd "[destDirGet]/target/lib"

	if {[catch {set objDirList [glob obj*Ugl]}] == 0} {
            foreach element $objDirList {
                cd $element
                set curDir [pwd]
                puts "Removing WindML 2.0 objects from $curDir"
                foreach element1 $objsToRemove {
                    if {[file exists $element1]} {
                        if {[windHostTypeGet] == "x86-win32"} {
                            if {[catch "exec $rmTool $element1" error]} {
                                puts "Error: couldn't remove $element1: $errArchive"
                            }
                        } else {
                            if {[catch "exec rm -f $element1" error]} {
                                puts "Error: couldn't remove $element1: $errArchive"
                            }
                        }
                    }
                }
                cd ..
            }
        } else {
            puts "No ugl object directories to clean up: OK"
        }

        cd $saveDir


        # Do preinstall if any
        execute [productInfoGet name $prodIndex]/preInstall.tcl

        # Append install info to the setup.log

        set prodNum [productInfoGet number $prodIndex]
        set desc [productInfoGet desc $prodIndex]

        uninstLog setup "$prodNum\t$desc"

        # Append info to the uninstall record

        uninstLog info "$desc"

        # Begin the copy loop

        set prevFileName ""

        foreach partIndex [productInfoGet selectedPartIndexList $prodIndex] {

            set partDesc [partInfoGet desc $partIndex]

            if [catch {setupFileSetMake $partIndex} error] {
                uninstLog setup "\tskip installing $partDesc: $error"
                if [debug] {
                    puts "unable to install $partDesc: $error"
                }
                lastErrorSet "$error"
                continue
            } elseif {[debug]} {
                puts "Installing [productInfoGet desc $prodIndex] -> $partDesc"
            }
    
            while { 1 } {
                if {$setupVals(cancel) == 1} {return}

                set fileName [setupFileNameGet 0]
    
                # update meter
    
                set percent [expr $i * 100 / $totalFiles]
                meterUpdate $percent $fileName
                bbrdUpdate $percent
    
                set f [destDirGet]/$fileName
    
                catch {setupFileExtract} retVal
    
                if [debug] {
                    puts [format "%20s\t%s" $retVal $fileName]
                }
    
                switch $retVal {
                    OK {
                        uninstLog file "wind_base\t$fileName"
    
                        # Build archList for later updating the archirve.
    
                        archListPut $fileName $prodIndex
                        setupFileNext
                    }
    
                    EXIST_AND_SAME {
                        # Workaround the problem that the base product is
                        # reinstalled, and messup the libraries.
                        archListPut $fileName $prodIndex

                        setupFileNext
                    }
    
                    EXIST_AND_NEWER -
                    EXIST_AND_OLDER {
                        backup $fileName

                        if {[fileRemove $f] == "IGNORE"} {
                            setupFileNext
                        }
                    }
    
                    MULTIPLE_VERSION {
                        # Setup detected that the file being install has more
                        # than one versions on the CD-ROM.
    
                        if ![file exists $f._${prodIndex}_] {
                            uninstLog setup "\t$f._${prodIndex}_: not exist"
                            setupFileNext
                            continue
                        }
    
                        if [file exists $f] {
                            if {[file mtime $f] >= [file mtime $f._${prodIndex}_]} {
    
                                set retVal [fileRemove $f._${prodIndex}_]
    
                                if {"$retVal" == "RETRY"} {
                                    continue
                                } elseif {"$retVal" == "IGNORE"} {
                                    setupFileNext
                                    continue
                                }
    
                            } else { 
                                backup $fileName
                                set retVal [fileRemove $f]
    
                                if {"$retVal" == "RETRY"} {
                                    continue
                                } elseif {"$retVal" == "IGNORE"} {
                                    setupFileNext
                                    continue
                                }
    
                                file rename $f._${prodIndex}_ $f
    
                            }
                        } {
                            uninstLog file "wind_base\t$fileName"
                            file rename $f._${prodIndex}_ $f
                        }
    
                        # Build archList for later updating the archirve.
    
                        archListPut $fileName $prodIndex
                        setupFileNext
                    }
    
                    NOT_FOUND {
                        set msg [strTableGet 1380_DEFLATE_ERROR]
                        set logMsg "\terror: can not copy $fileName: not found"
    
                        switch [dialog re_ig_cancel "Setup" $msg question 0] {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线观看一区二区| 男男视频亚洲欧美| 2019国产精品| 精品免费国产二区三区 | 中文一区一区三区高中清不卡| 欧美一级二级三级乱码| 7777精品伊人久久久大香线蕉| 日本丶国产丶欧美色综合| 91浏览器在线视频| 色综合网站在线| 欧美丝袜第三区| 欧美情侣在线播放| 日韩欧美国产三级| 国产欧美一区二区精品忘忧草| 国产欧美日韩三级| 亚洲欧美偷拍另类a∨色屁股| 亚洲精品视频观看| 午夜精品福利一区二区蜜股av| 日韩成人伦理电影在线观看| 狠狠色丁香婷综合久久| 成人午夜视频在线| 欧美午夜电影一区| 欧美不卡在线视频| 最新国产精品久久精品| 亚洲午夜影视影院在线观看| 日产欧产美韩系列久久99| 国产成人a级片| 色狠狠综合天天综合综合| 欧美精品一二三区| 国产亚洲精品超碰| 亚洲乱码中文字幕| 麻豆精品新av中文字幕| 成人av在线一区二区三区| 日本韩国欧美国产| xnxx国产精品| 一区二区三区美女视频| 热久久国产精品| 92精品国产成人观看免费| 91精品国产综合久久精品性色| 国产欧美精品日韩区二区麻豆天美| 亚洲另类春色校园小说| 精品写真视频在线观看| 欧美在线播放高清精品| 久久久久国产精品免费免费搜索| 一区二区免费看| 国产成人av影院| 日韩精品一区二区三区老鸭窝| 一区二区三区.www| 成人免费黄色在线| 欧美大胆人体bbbb| 午夜影院久久久| 一本高清dvd不卡在线观看 | 国产精品日韩精品欧美在线| 视频一区中文字幕国产| 91社区在线播放| 国产人久久人人人人爽| 蜜桃一区二区三区在线| 欧美日韩一区二区三区高清 | 久久一二三国产| 五月婷婷激情综合网| 色婷婷综合视频在线观看| 国产精品人人做人人爽人人添| 久草精品在线观看| 欧美一区二区三区人| 五月综合激情婷婷六月色窝| 欧美日精品一区视频| 亚洲视频在线观看三级| www.99精品| 欧美激情一区在线| 国产成人av电影免费在线观看| 日韩欧美国产一区二区三区 | 欧美精品亚洲二区| 亚洲成人激情自拍| 欧美日韩精品免费| 日本特黄久久久高潮| 91麻豆精品国产91久久久更新时间| 一区二区三区精品在线| 色欧美片视频在线观看在线视频| 亚洲精品菠萝久久久久久久| 一本色道久久综合狠狠躁的推荐| 亚洲免费伊人电影| 欧美中文字幕一区| 日韩影视精彩在线| 日韩欧美一级特黄在线播放| 精品在线你懂的| 欧美国产精品v| 在线免费观看视频一区| 日本视频在线一区| 久久色在线视频| 99免费精品视频| 亚洲成a人片综合在线| 欧美v国产在线一区二区三区| 国产麻豆一精品一av一免费| 中文字幕免费不卡在线| 日本道在线观看一区二区| 日本成人在线看| 中文字幕第一区第二区| 91传媒视频在线播放| 蜜桃av一区二区| 国产精品美女久久久久高潮| 欧美午夜片在线看| 精东粉嫩av免费一区二区三区| 国产精品乱人伦| 在线不卡a资源高清| 国产精品1024| 亚洲在线视频一区| 久久综合久久久久88| 日本高清免费不卡视频| 久久草av在线| 一区二区欧美国产| 国产拍欧美日韩视频二区| 欧美日韩国产经典色站一区二区三区| 强制捆绑调教一区二区| 亚洲三级在线免费观看| 精品噜噜噜噜久久久久久久久试看| 成人黄色电影在线| 日韩av一区二区三区四区| 亚洲视频在线一区观看| 欧美精品一区在线观看| 欧美日韩国产成人在线91| 波多野结衣精品在线| 久久国产免费看| 偷窥少妇高潮呻吟av久久免费| 中文字幕精品在线不卡| 日韩欧美一二三四区| 欧洲精品在线观看| 成人97人人超碰人人99| 久久精品国产精品青草| 亚洲中国最大av网站| 国产精品麻豆网站| 久久综合久久综合久久| 日韩一区二区精品在线观看| 色香蕉成人二区免费| 成人黄色国产精品网站大全在线免费观看| 亚洲高清不卡在线观看| 亚洲视频一区二区在线观看| 中文字幕精品三区| 中文在线资源观看网站视频免费不卡 | 亚洲视频小说图片| 国产视频一区不卡| 久久综合色之久久综合| 日韩欧美另类在线| 日韩视频一区二区三区| 欧美日韩不卡在线| 欧美日韩黄视频| 欧美日韩国产一级片| 欧美亚洲图片小说| 在线观看亚洲精品| 色综合天天天天做夜夜夜夜做| 99久久精品费精品国产一区二区| 国产经典欧美精品| 成人午夜伦理影院| 99精品欧美一区| 欧美亚一区二区| 欧美放荡的少妇| 欧美一级欧美一级在线播放| 日韩三区在线观看| 精品对白一区国产伦| 久久亚洲一区二区三区四区| 久久免费美女视频| 国产精品超碰97尤物18| 尤物av一区二区| 亚洲成人精品影院| 久热成人在线视频| 国产福利一区二区三区视频| 99久久精品国产观看| 欧美性极品少妇| 欧美成人a视频| 国产精品美女视频| 亚洲一区二区欧美激情| 老司机午夜精品| 成人深夜在线观看| 91国在线观看| 欧美videos大乳护士334| 中文在线免费一区三区高中清不卡| 亚洲天堂av一区| 男男gaygay亚洲| 懂色av中文字幕一区二区三区 | 精品国产乱码久久久久久闺蜜| 久久人人超碰精品| 亚洲美女在线一区| 日本美女一区二区| 成人福利视频在线看| 在线一区二区观看| 精品成人佐山爱一区二区| 中文字幕一区二区三区蜜月 | 精品久久99ma| 亚洲欧洲韩国日本视频| 日韩精品91亚洲二区在线观看| 国内国产精品久久| 欧美色精品在线视频| 26uuu亚洲| 亚洲一二三区不卡| 成人国产精品免费网站| 制服丝袜成人动漫| 亚洲精品国产无天堂网2021| 国内欧美视频一区二区| 欧美日韩久久不卡| 中文字幕一区二区视频| 黄色日韩网站视频|