📄 instw32.tcl
字号:
# INSTW32.TCL - UITcl script for Windows/UNIX Installation schemes
#
# Copyright 1996-1999 Wind River Systems, Inc.
#
# modification history
# --------------------
# 11b,26apr99,bjl Check for KDE in dlgFrmCreate, restoreOriginalDialog,
# and meterCreate.
# 11a,21apr99,wmd Fix spr #25970 - by utilizing controlHide first, then
# destroying the control, we avoid the refresh problem.
# 10z,08apr99,wmd Move the unused background window to 10000 10000.
# 10y,08apr99,wmd Do not use windowSetSize 0 0, use windowShow xxx 0 instead.
# 10x,02apr99,wmd More fixes for resize problem.
# 10w,31mar99,wmd Fix resizing problem.
# 10v,31mar99,wmd Fix spr #226197 by introducing a pause between updates of
# ole and com.
# 10u,24mar99,bjl workaround UITclSh problem with resizing Unix window.
# 10t,22mar99,bjl move back button to the left on Unix to prevent overlap.
# 10s,19mar99,wmd Output to a file any debug messages.
# 10r,16mar99,tcy Added compatiblity and howto pages to UNIX Setup
# 10q,16mar99,tcy Added safeguard to prevent setup from wiping out
# program folders
# 10p,15mar99,tcy minor fix: need to escape quote in message
# 10o,12mar99,bjl restored gradient background and banner for windows.
# 10n,01mar99,wmd Fix progStart to work for all window managers.
# 10m,23feb99,tcy minimize system rebooting to only once (fix for SPR 22838)
# 10l,18feb99,tcy placed remoteRegistryHost page after registry page
# 10k,17feb99,tcy added REGDLL page to program group installation
# (partial fix for SPR 24897)
# 10j,11feb99,tcy added COMPTBLE and HOWTO pages for backward compatibility
# 10i,09feb99,bjl do not resize next button in restoreOriginalDialog to
# fix final oversized OK button on some Unix hosts.
# 10h,03feb99,tcy hardcode file versions for OLE32.DLL and COMCTL32.DLL
# (fix for SPR 24191)
# 10g,03feb99,tcy fixed "Overwrite one file" bug (SPR 24715, 24135)
# 10f,28jan99,tcy create new page configSys for configuration user system
# 10e,27jan99,tcy moved some procedures to INCLUDE.TCL
# 10d,26jan99,tcy moved regOptionRegValueRead() to REGISTRY.TCL
# 10c,26jan99,tcy use for loop to source wizard pages
# 10b,26jan99,tcy added sourcing of permission page
# 10a,25jan99,tcy reorganize INSTW32.TCL -- move procs to wizard page files
# 09f,25jan99,tcy added fileContentGet();
# convert calls from cdRomRootDirGet() to cdFileNameGet();
# move some messages to MESSAGES.TCL
# 09e,25jan99,wmd Fixed spr 24181, allow partial selection of Tornado product
# to be installed without dragging in the driver object.
# 09d,22jan99,wmd Fix bug in proc onProjLicRecordOK, $error should be error.
# 09c,20jan99,tcy added more comment headers
# 09b,19jan99,tcy added comment headers to all procedures;
# updated file according to WRS coding convention;
# removed license management
# 09a,18jan99,wmd Fix test automation stuff.
# 08z,14jan99,wmd Need to eliminate use of FSPACE.TCL, its functions are now
# in GLOBAL.TCL.
# 08y,14jan99,wmd Changename of proc fileAppreviate to fileAbbreviate.
# 08x,10dec98,tcy corrected logic to show program group for non-administrators
# 08w,09dec98,bjl added superceding patch messages to patchinfo.
# 08v,04dev98,bjl allow choice to continue Setup for required patches.
# 08u,04dec98,tcy remove extra space in first user folder (fixes SPR 23700)
# 08t,03dec98,tcy reset uninstall link location to SETUP directory
# 08s,02dec98,bjl convert Unix style slashes to backslashes for Windows
# in pageProcess(destDir).
# 08r,25nov98,tcy use kbyteToMbyte to get available disk space for Windows
# 08q,24nov98,bjl do not allow any directory starting with a number
# for destDir.
# 08p,24nov98,tcy run htmlBook utility at end of SETUP for UNIX
# 08o,23nov98,tcy adjusted welcome screen to incoporate new warning message
# 08n,20nov98,bjl skip filesCopy if user chooses to exit during setupCopy.
# 08m,20nov98,tcy made last mod applicable for Windows only
# 08l,19nov98,tcy prevent user from choosing directory with leading numbers
# or directory without absolute paths
# 08n,19nov98,bjl append web site location to patchinfo.
# 08m,18nov98,bjl create patchinfo file during Unix patch checking to be
# displayed at the shell when setup exits.
# 08l,17nov98,bjl lowered space required/available labels for Unix (fixes
# spr 23328).
# 08k,13nov98,wmd fix spacing for choice button text.
# 08j,13nov98,wmd create page for installation or program group icon
# installation choices for the user.
# 08i,13nov98,bjl move torRegistry radio buttons up for Win95, changed
# order of radio button creation.
# 08h,12nov98,tcy provide option for FAE to not save installation key
# 08g,12nov98,wmd change order of choice boxes in Tornado Registry page,
# change shortcut key for browse to be 'r' in destDir page.
# 08f,11nov98,bjl replaced all group boxes with labels and frames (fixes
# spr 23061).
# 08e,11nov98,bjl restore window in restoreOriginalDialog before resizing
# (fixes spr 22841).
# 08d,10nov98,tcy removed batch file creation for regTornado.bat;
# added call to backupFileQueueFlush to command queue;
# disallow white space in destination directory (fix for SPR
# 22793); run htmlbook tool
# 08c,09nov98,wmd need to make setupVals(drvIndex) and array of indices.
# 08b,30oct98,bjl added noColorMgr check, remove setup icon from welcome page
# if color manager not running.
# 08a,28oct98,wmd if the installation key is "none" remove the projInfo page.
# 07z,28oct98,bjl allow overwrite of existing products for test automation,
# fixed problem with Next button after minimize on Unix.
# 07y,27oct98,bjl do not check for tornadoInstalled in folderSelect for icon
# install, open explorer in iconFinish, reduce tor registry
# label height for win95, do not display message about
# exiting all programs for Unix, fixed various labels for
# mw build 96.
# 07x,27oct98,bjl added patchCheck procedure and recommended patch handling.
# 07w,27oct98,tcy added nextCallback for finish page in automated test
# 07v,26oct98,tcy changed "Select Components" to "Select Products"
# added check for disk space on Windows
# 07u,25oct98,tcy added backupFileQueueFlush call after filesCopy and
# fixed return values of tempDirectory
# 07t,22oct98,wmd change title of "I accept" button, check key shortcuts.
# 07s,21oct98,tcy set focus on OK button in finish page; create folder
# before creating icons if tornado is not installed
# 07r,21oct98,wmd fix bug when compsel page is wrapped around using space key
# when selected/deselecting the drv/objects.
# 07q,20oct98,tcy fixed typo in prgGrp variable ; removed newDestDir variable
# 07p,20oct98,tcy added sourcing of REGSAVE.TCL for updating registry to T2;
# update comctl32.dll on Win95 if necessary
# 07o,20oct98,bjl reduced height for tor reg description label for win95,
# do not display reg desc. on remote page for Windows,
# lower meter for billboard display.
# 07n,20oct98,wmd fix some button coordinates.
# 07m,20oct98,wmd same fix for tornadoSelected.
# 07l,20oct98,wmd make sure setupVals(devIndex) is valid before using it.
# 07k,19oct98,bjl lower license agreement button for Unix, added
# tornado registry description to torRegistry page, make
# torRegistry and remoteRegistryHost titles consistent.
# 07j,16oct98,wmd if Tornado selected, don't allow de-selection of driver
# product.
# 07i,16oct98,wmd bold the message to exit all programs.
# 07h,19oct98,bjl added code to place billboards in dialog window. Set
# the env variable SETUP_REMOVEBACKGROUND=1 to activate.
# 07g,16oct98,tcy do not write installation key to registry if user is FAE
# 07f,15oct98,tcy do not copy atl.dll to system directory
# 07e,15oct98,tcy enable detail button for all product with subparts
# 07d,13oct98,wmd Reverse the order for the Registry and Project Info pages,
# and automatically extract the WRS license field.
# 06c,09oct98,bjl added code to remove background and limit colors. Set
# the env variable SETUP_LIMITCOLORS=1 to activate.
# 06b,09oct98,wmd fix for test automation.
# 06a,09oct98,bjl use solid background and product label bitmap for Windows.
# 05z,09oct98,tcy fixed patch scenario
# 05y,07oct98,bjl do not call uninstStop unless uninstHomeDir is set.
# 05x,06oct98,bjl added permissions page for Unix.
# 05w,06oct98,tcy save tornado registry option in registry
# 05v,06oct98,wmd fixed bug in installedProdGet.
# 05u,06oct98,tcy used defGroupGet instead of Tornado for
# opening program folder; added CD description to
# welcome and registry frames
# 05t,05oct98,bjl removed unsupported -topmost flag from proc dlgFrmCreate.
# 05s,01oct98,wmd open explorer on the Tornado group for windows hosts.
# 05r,29sep98,wmd fix envPathSet to respect UNIX names.
# 05q,29sep98,wmd move display of README.TXT to right after welcome screen
# 05p,30sep98,tcy move setupCopy ahead of filesCopy
# 05o,29sep98,wmd added readmeDlg to ask if user wishes to read README.TXT.
# 05n,29sep98,tcy added "yes_exit" dialog box
# 05m,29sep98,tcy update Uninstall string from Tornado 1.0.1 to Tornado 2.0
# 05l,29sep98,wmd fix hardcoding of SUN4/SOLARIS2 for CD_BIN
# 05k,29sep98,tcy check for dcom95 installation at start and removed dcom page
# 05j,28sep98,bjl display README.TXT and NEW.TXT at finish.
# 05i,26sep98,tcy added progressmeter to DLL registration page
# 05h,25sep98,bjl added required patch checking before setup starts, remove
# setup.log.abort at finish.
# 05g,25sep98,tcy make sure ATL.DLL is run first
# 05f,25sep98,wmd display blank lines in license.txt for clarity.
# 05e,25sep98,wmd left out some procs while merging, fixed it.
# 05d,25sep98,wmd add warning if any installed product is about to be
# overwritten, fix how to use choice buttons in proc dialog.
# 05c,24Sep98,vhe Corrected boggus desc in partGuiChkLstUpdate
# Added automatic selection of WTX component for
# automatic setup
# 05b,24sep98,tcy For dll registration, call batch file if exec does not work
# 05a,23sep98,tcy use batch file to workaround exec bug ;
# set overwritePolicy if user installs to new directory
# 04z,22sep98,bjl added tornado-vxsim for tornadoInstalled setting, changed
# setupVals(prodRegEntry) to Tornado 2.0, do not write
# reg values immediately for remote registry, fixed remote
# registry writing for unix, close mainWindow in
# applicationExit to fix exit problems.
# 04y,22sep98,tcy added regTornado page and rearranged dCom page and
# regTornado proc; retain duplicate products; enabled
# workaround for exit program on Windows; copied Tornado
# DLLs before calling regTornado
# 04x,22sep98,wmd fixed the product info screen dimensions for controls.
# 04w,21sep98,bjl removed setupBannerAttach, added product label for Windows
# and product bitmap for unix.
# 04v,21sep98,tcy remove duplicate products from product list
# 04u,19sep98,tcy fixed missing folder names on Win95 and
# reregister debugger if failed once
# 04t,17sep98,tcy adjust finish page and added dcom warning page
# disable detail button initially
# 04s,17sep98,bjl write registry values immediately, do not run uninstStop
# if disk is full.
# 04r,17sep98,wmd fix syntax problems from merging previous checkin.
# 04q,17sep98,wmd use proc cdFileNameGet, fix onProjRecordOK proc.
# 04p,16sep98,vhe Add automatic selection of product from configuration file
# 04o,16sep98,tcy adjusted compSelect page
# 04n,15sep98,wmd remove confirmation of project info page, changed some
# wording, changed how proc dialogCreate worked.
# 04m,14sep98,tcy print list of products after finish page
# 04l,14sep98,bjl focus on backgroundWindow first for unix to set correct
# colors for welcome page.
# 04k,14sep98,j_w fix auto setup in registration page
# 04j,11sep98,tcy added regTornado to register Tornado binaries
# 04i,11sep98,j_w display products installed in log file in auto install
# 04h,10sep98,j_w add test modification
# 04g,09sep98,bjl fixed remove unix tempDir on exit, modified isUnix
# procedure, workaround setup.ico with setupico.bmp, moved
# projInfo registry values to inf file, workaround for
# application exit for unix, include fspace.tcl for unix
# available space, use different minimized icon for unix.
# 04f,04sep98,bjl changed tornado.inf to uppercase, modified tempDirectory
# procedure to work with setup wrapper.
# 04e,03sep98,bjl removed torRegistry page for unix, added tornadoInstalled
# check to compSelect, lowered button and frame on license
# text page for unix display.
# 04d,03sep98,wmd removed horizontal scroll bar from license text page.
# 04c,03sep98,bjl modified to handle unix directories, added borders to
# text boxes, removed folderSelect page for unix,
# fixed exit dialogs to return values for unix.
# 04b,02sep98,tcy torRegistry/remoteRegistryHost pages moved before filesCopy
# 04a,01sep98,wmd incorporate license/project info into the setup widzard.
# 03z,26aug98,tcy added context-sensitive help for all dialogs/controls
# 03Y,25aug98,wmd fix the license text to fit into dialog frame nicely.
# 03X,24aug98,wmd allign input text boxes for project info.
# 03W,20aug98,wmd modify to identify and prevent installation over T101 tree.
# 03v,19aug98,wmd modified for Mainwin.
# 03u,19aug98,tcy added dialog box prompting for WIND directory if ZIP files
# are not found
# 03t,17aug98,j_w fix various pages for auto installation
# 03s,12aug98,wmd add license agreement page, license record dialog to Setup.
# 03r,14aug98,j_w add modification for test automation
# 03q,10aug98,tcy added extra argument "args" for linkCreateLog
# 03p,10aug98,tcy use COM interface functions to create folders and links
# 03o,06aug98,tcy fixed bug of missing curly brace in keyData registry
# 03n,05aug98,bjl write user data to registry from tornado.inf when setup
# finishes.
# 03m,04aug98,tcy fixed meter for libUpdate()
# 03l,04aug98,bjl added processing of warning message file from inf file.
# 03k,04aug98,wmd modified to add check for coreProd, and edited some warnings.
# 03j,03aug98,bjl modified setup /ICON to update registry and use inf file.
# 03i,30jul98,bjl added inf file processing; removed service install of
# Tornado Registry, Tornado icon functions, functions that
# store Tornado specific data into the Windows Registry,
# and fileDup of .TXT files (now handled by inf files);
# allow installation of Registry as a service without
# the portmapper.
# 03h,29jul98.wmd added error handling to check responses for overwrite/core
# installation.
# 03g,28jul98,tcy modified for new UITclSh
# 03f,27jul98,tcy changed to controlPropertySet in libUpdate frame
# 03e,24jul98,wmd fixed bitmap fading for bbrdUpdate.
# 03d,23jul98,wmd add dialog for corefile installation, new dialog for setting
# overwrite policy, uitclsh t2 changes.
# 03c,23jul98,tcy added multi-key selection capability
# 03b,22jul98,tcy added system check for TCP-IP and long filename
# 03a,22jul98,tcy removed portMapper and moved License procs to LICW32.TCL
# 02j,01apr98,pdn fixed localHost to localhost
# 02i,09feb98,pdn continued even after getting BAD_CD_REVISION message.
# 02h,16sep97,pdn allowed the 'none' key to be changed.
# 02g,01jul97,pdn fixed the available diskspace problem.
# 02f,13jun97,pdn added error handling in case key vendor mismatch.
# 02e,08apr97,pdn fixed remote icon install problem, fixed mail sending
# problem, copied *.TXT from root of CDROM to root of
# tornado tree.
# 02d,28mar97,pdn fixed the problem that torVarCreate get call too early
# 02c,25mar97,pdn asigned 'localHost' to WIND_REGISTRY if user chooses to
# run wtxregd.exe locally.
# 02b,17mar97,pdn used "WindLM" instead of "Wind License Manager" for
# service name on NT.
# 02a,12mar97,pdn fixed setup problem when portMapper is running.
# 01z,07mar97,pdn fixed the resource logging problem.
# 01y,05mar97,pdn sorted the product list.
# 01w,03mar97,pdn added the minimize flag when creating icons in the startup
# group. created uninstall icon for all Window hosts.
# added -p option for patch installation.
# 01v,13feb97,pdn improved license installation steps.
# 01u,09feb97,pdn added option to configure a floating license server
# 01t,04feb97,pdn filted out unused messages from checklist box.
# 01s,24jan97,pdn cleanup
# 01r,24jan97,pdn adjusted welcome, and component select dialog.
# 01q,22jan97,pdn fixed folder install bug.
# 01p,21jan97,pdn saved the last Tornado group, fixed license install
# 01o,20jan97,pdn used backslashes where possible, saved installation key
# 01n,16jan97,pdn surrounded the if conditions w/ braces
# 01m,13jan97,pdn fixed WIND_REGISTRY location, fixed checklist logic,
# moved uninstBinCopy() to INSTALL.TCL, and clean up.
# 01l,06jan97,pdn updated billboard cyling by product. cleanup text.
# 01k,18dec96,sks cleaned up; better error handling on startup; rearranged code
# a bit; create & destroy TMP dir.; change location of "TCL" &
# "BITMAPS" directories; renamed "TEXT.TCL" to "MESSAGES.TCL"
# 01j,12dec96,pdn added BAD_CD_REVISION check
# 01i,11dec96,pdn displayed the feature id/description
# 01h,24nov96,sj eliminated premature returns.
# 01g,18nov96,sj replaced global variables with functions
# from GLOBAL.TCL
# 01f,14nov96,sj moved all text messages to TEXT.TCL
# 01e,08nov96,sj queued up all registry key and value
# writes until the end of uninstBinCopy.
# 01d,06nov96,sj setup now works on 95 and NTs.
# 01c,30oct96,sj completed the license setup
# 01b,10may96,pdn adding setup wizard.
# 01a,19apr96,sks written.
# DESCRIPTION
# This module is the Tcl code for the Setup program. It creates the wizard
# pages.
#
# RESOURCE FILES
# etc/tools/resource/mfg/setup/RESOURCE/TCL/INSTALL.TCL
# etc/tools/resource/mfg/setup/RESOURCE/TCL/GLOBAL.TCL
# etc/tools/resource/mfg/setup/RESOURCE/TCL/MESSAGES.TCL
# etc/tools/resource/mfg/setup/RESOURCE/TCL/CONFIG.TCL
# etc/tools/resource/mfg/setup/RESOURCE/TCL/INF.TCL
# etc/tools/resource/mfg/setup/RESOURCE/TCL/HELPW32.TCL
# globals
#############################################################################
#
# fileContentGet - return the content of a file as a string
#
# This procedure opens a file and return the content of the file as a
# string separated by new lines
#
# SYNOPSIS
# .tS
# fileContentGet <file>
# .tE
#
# PARAMETERS:
# .IP file
# file name relative to the root of the CD
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc fileContentGet {file} {
set file [cdFileNameGet $file]
if [catch {open $file r} infile] {
puts "Error: can't open $file"
close $infile
return
}
set contents ""
foreach line [split [read $infile] \n] {
string trimright $line
append contents [format "%s\r\n" $line]
}
close $infile
return $contents
}
#############################################################################
#
# isUnix - determine whether host platform is Unix or not
#
# This procedure will determine whether host platform is Unix or not
#
# SYNOPSIS
# .tS
# isUnix
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 0 if host platform is not Unix
# 1 if host platform is Unix
#
# ERRORS: N/A
#
#
proc isUnix {} {
global env
if {[info exists env(WIND_HOST_TYPE)]} {
if {[string match sun4* $env(WIND_HOST_TYPE)]} {
return 1;
} elseif {[string match parisc* $env(WIND_HOST_TYPE)]} {
return 1;
} else {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -