throbber
(12) United States Patent
`Nabahi
`
`USOO6266811B1
`(10) Patent No.:
`US 6,266,811 B1
`(45) Date of Patent:
`Jul. 24, 2001
`
`(54) METHOD AND SYSTEM FOR CUSTOM
`COMPUTER SOFTWARE INSTALLATION
`USING RULE-BASED INSTALLATION
`ENGINE AND SIMPLIFIED SCRIPT
`COMPUTER PROGRAM
`
`(75)
`
`(73)
`
`(21)
`(22)
`
`(63)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Inventor: Narimane Nabahi, Santa Clara, CA
`(US)
`Assignee: Network Associates, Santa Clara, CA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`This patent is Subject to a terminal dis
`claimer.
`
`Notice:
`
`Appl. No.: 09/418,426
`Filed:
`Oct. 14, 1999
`Related U.S. Application Data
`
`Continuation of application No. 09/001,612, filed on Dec.
`31, 1997, now Pat. No. 6,006,035.
`Int. Cl. ................................................. G06F 9/45
`U.S. Cl. ................................................................. 717/11
`Field of Search .......................... 717/11, 2; 709/203;
`714/25; 345/348; 700/49
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,159,587 * 10/1992 Richburg .................................. 717/2
`
`5,367,698 * 11/1994 Webber et al. ...................... 709/203
`5,428,525 * 6/1995 Cappelaere et al. ................... 700/49
`5,596,695 * 1/1997 Hamada et al. .....
`345/333
`5,727,174 * 3/1998 Apaicio, IV et al. ............... 345/348
`5,983,364 * 11/1999 Bortcosh et al. ...................... 71.4/25
`6,006,035
`12/1999 Nabahi ................................... 717/11
`
`* cited by examiner
`
`Primary Examiner Kakali Chaki
`Assistant Examiner Hoang-Vu Antony Nguyen-Ba
`(74) Attorney, Agent, or Firm-Pennie & Edmonds LLP
`(57)
`ABSTRACT
`
`A method and System for custom computer Software instal
`lation using a Standard rule-based installation engine is
`disclosed. Custom installation parameters are translated into
`a simplified Script language file by a System administrator.
`An application Software package is installed onto a com
`puter using the Standard rule-based installation engine,
`which is executed normally according to commands Stored
`in a rule-based instruction file. The rule-based instruction
`file has been configured by the provider of the application
`Software package to cause the rule-based installation engine
`to execute commands according to the Simplified Script
`language file. In this manner, the System administrator may
`achieve flexibility and control over each phase of the soft
`ware installation process without being required to have a
`knowledge of the Specific language of the rule-based instruc
`tion file.
`
`14 Claims, 4 Drawing Sheets
`
`
`
`Applicationsoftwarepackage
`developed by application
`softwaremfg.
`NEWAPPEXE
`NEWOATADAT
`
`Application software manufacturer
`Writes rule-based instruction file
`SERPINSdesigned to cause
`SETUPEXEtoinvoke READSCRIPTDLi
`at eachphaseofthe installation;
`and software manufacturer generates
`READSCRIPTDLLdesigned to access any
`compiledscriptianguagefile SS
`-
`404
`
`Applicationsoftwaremfg.
`releases disk with application
`softwarepackage+rule-based
`installation engine simplified
`Scripticompilerprogram
`SEUPEXE
`NEWAPPEXE
`NEW DATADAT
`SETUPNS
`SCRIPTCOMPEREXE
`READSCRIPTDLL
`
`-...--
`System administratof
`acquires disk
`
`System administrator determines
`customorsilentinstallationparameters
`
`
`
`System administrator translates custominstallationparameters into
`simplified script language filed STOMSCRIPTISC
`
`System administrator uses SCRIP COMPLER.EXE to compleCUSIOMSCRIPTISC
`into rule-based installation language file ADMINSIS
`
`
`
`At each compute, rule-based installation
`engine SETUPEXE is executed
`
`414
`- 416
`
`ironSource Exhibit 1015
`
`

`

`U.S. Patent
`
`Jul. 24, 2001
`
`Sheet 1 of 4
`
`US 6,266,811 B1
`
`(Tointernet
`
`
`
`102
`
`l
`104C
`
`|
`
`1046
`
`-10
`-106
`-106k
`-10
`
`106e
`
`of
`-10g
`106h
`
`

`

`U.S. Patent
`
`Jul. 24, 2001
`
`Sheet 2 of 4
`
`US 6,266,811 B1
`
`
`
`
`
`
`
`
`
`Application Software package
`developed by application Software m?g.
`NEW APPEXE
`NEW DATADAT
`
`
`
`
`
`Application Software manufacturer
`Writes rule-based instruction file
`SETUPNS
`
`204
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`206
`
`208
`
`210
`
`212
`
`214
`
`
`
`Application Software m?g.
`releases disk with application
`Softwarepackage+rule-based
`installation engine
`SETUPEXE
`NEW APPEXE
`NEW DATADAT
`SETUPNS
`
`System administrator
`acquires disk
`
`
`
`
`
`Launch rule-based installation
`engine at COMPUTER ()
`
`Respond to serial parameter
`request from rule-based
`installation engine at COMPUTER ()
`
`installation complete
`at COMPUTER ()
`
`218
`
`ignumber of computers
`
`Fig. 2
`Arior Art
`
`

`

`U.S. Patent
`
`Jul. 24, 2001
`
`Sheet 3 of 4
`
`US 6,266,811 B1
`
`Initialize internal settings of
`rule-based installation engine
`
`Display license agreement and obtain
`user consent to licensing terms
`
`Request destination directory
`for application Softwarepackage files
`
`Copy application Software files
`to computer
`
`Configure Operating system parameters to allow
`execution of application Software package
`(e.g. configure N and registryfiles
`in Windows 95M system)
`
`Create application Software
`programicons
`
`Display README file
`
`Delete temporary installation files and
`exit rule-based installation encine
`
`
`
`
`
`
`
`302
`
`304
`
`306
`
`308
`
`310
`
`312
`
`314
`
`316
`
`

`

`U.S. Patent
`
`Jul. 24, 2001
`
`Sheet 4 of 4
`
`US 6,266,811 B1
`
`CBEGIND
`Application Software package
`developed by application
`Software mfg.
`NEW APPEXE
`NEW DATADAT
`
`
`
`ApplicationSoftware manufacturer
`Writes rule-based instruction file
`SETUPINS designed to cause
`SETUPEXEtoinvoke READSCRIPTDLL
`at each phase of the installation;
`and software manufacturer generates
`READSCRIPTDLLdesigned to access any
`compiled script language file SIS
`
`40)
`
`406
`
`Application Softwaremfg.
`releases disk with application
`Software package+rule-based
`installation engine + simplified
`Script compiler program
`SETUPEXE
`NEWAPPEXE
`NEW DATADAT
`SETUPNS
`SCRIPT COMPLER.EXE
`READSCRIPTDLL
`
`System administrator
`acquires disk
`
`404
`
`System administrator determines
`Custom Orsilentinstallationparameters
`
`408
`
`410
`
`System administrator translates custom installationparameters into
`simplified script language file CUSTOMSCRIPTISC
`
`412
`
`System administrator uses SCRIPT COMPLER.EXE to compile CUSTOMSCRIPTISC
`into rule-based installation language file ADMINSIS
`
`Ateach computer, rule-based installation
`engine SETUPEXE is executed
`
`414
`416
`
`

`

`US 6,266,811 B1
`
`1
`METHOD AND SYSTEM FOR CUSTOM
`COMPUTER SOFTWARE INSTALLATION
`USING RULE-BASED INSTALLATION
`ENGINE AND SIMPLIFIED SCRIPT
`COMPUTER PROGRAM
`
`15
`
`2
`include InstallShield(R), Wise Installation System, and
`Microsoft Setup Toolkit. A rule-based installation engine is
`characterized in that it provides a Standard installation
`environment, e.g. Standard configuration options, familiar
`look-and-feel, etc., while operating according to a Set of
`rules that are expressed in a rule-based instruction file. AS an
`example, InstallShield(R) is commonly used for installing
`many Windows 95TM-based application software packages.
`Installshield(R) is provided with a variety of Software pack
`ages ranging from antivirus application Software Such as
`McAfee VirusScanTM to natural speech detection programs
`such as Dragon Systems NaturallySpeaking TM. When a user
`invokes Installshield(R) by launching its executable file
`named SETUPEXE, a selection from among a standard set
`of dialog and options boxes appear to the user, according to
`parameters in a rule-based instruction file SETUPINS gen
`erated by the application Software manufacturer. Such famil
`iar dialog and options boxes include, for example, a license
`dialog box for displaying a license agreement to the user,
`and a destination files dialog box for requesting a destination
`directory for installed application Software files.
`A rule-based instruction file is a computer file that is
`readable by a rule-based installation engine and that com
`prises a set of instructions and parameters for use during the
`instruction process. AS an example, the InstallShield(R) pro
`gram operates according to a rule-based installation file
`called SETUPINS and generally according to files having
`an INS extension. When the exemplary InstallShield(R) sys
`tem is used as a delivery vehicle by an application Software
`manufacturer, at Step 204 the application Software manufac
`turer generates a rule-based instruction file named SETU
`P.INS. This file provides a set of detailed instructions from
`the application Software manufacturer including specific
`parameters associated with the application Software package
`and computer operating System. This file also includes
`defaults, including the location of a desired license agree
`ment file, the default destination directory, the identity of the
`application Software files that require duplication onto the
`destination client computer, and default parameters for entry
`into the client computer operating System.
`Importantly, at Step 204 the application Software manu
`facturer generates the rule-based instruction file named
`SETUPINS by first writing a rule-based installation lan
`guage file which may bear, for example, the name SET
`UTIL.RUL. This file is created according to a specific set of
`commands adapted for the Specific rule-based installation
`engine. For the exemplary InstallShield engine, descriptions
`of the Specific language used in the rule-based installation
`language files *.RUL may be found in documents including
`“InstallShield 3 User's Guide,” InstallShield Corporation,
`rev. 4/29/96, which is hereby incorporated by reference into
`the present disclosure. A proprietary compiler ICOMPEXE
`provided to the application Software manufacturer by
`InstallShield is used to compile the rule-based installation
`language files *.RUL into rule-based instruction files *.INS.
`Accordingly, the *.INS files are binary files which cannot be
`read or modified using a standard ASCII editor. The com
`pilation requirement of the rule-based installation engine
`providers helps to ensure that rule-based installation lan
`guage files are accurately written by the application Software
`manufacturer prior to release. This is due to the fact that
`many mistakes in writing the rule-based installation lan
`guage file would be detected by the compiler, thus prevent
`ing the release or erroneous or buggy installation routines.
`Additionally, Speed of execution is increased over a situation
`where an ASCII or non-compiled rule-based installation
`language file is used. Finally, Security of the product is
`
`25
`
`This is a continuation, of application Ser. No. 09/001,
`612, filed Dec. 31, 1997 now U.S. Pat. No. 6,006,035.
`FIELD OF THE INVENTION
`The present invention relates generally to computer SyS
`tems and computer networks. In particular, the present
`invention relates to a method and System for installing
`application Software packages onto one or more computers.
`BACKGROUND OF THE INVENTION
`AS new and useful application Software packages for
`personal computers are developed, the need arises for an
`automated or Semi-automated process for installing a given
`application Software package onto a plurality of computers.
`This need arises, for example, in the context of corporate
`computer networks which may comprise tens, hundreds, or
`even thousands of client computers. For Such corporate
`computer networks, the purchase and installation of even a
`Single new application Software package can become a
`major task, requiring a large amount of time and effort from
`the System administrators whose job it is to Support the many
`client computers coupled to a corporate computer network.
`FIG. 1 shows a typical corporate computer network 100
`comprising a network backbone 102, a plurality of local area
`network Servers 104a-c, and a plurality of client computers
`106a-l. Corporate computer network 100 further comprises
`a gateway computer 108 for coupling the corporate com
`puter network 100 to an external network Such as the
`35
`Internet. Corporate computer network 100 further comprises
`a Service computer 112 which, generally Speaking, is a
`computer dedicated at least in part to assisting in Servicing
`the various hardware and Software applications being used
`by corporate computer network 100. Finally, shown in FIG.
`1 is a System administrator 114. Generally Speaking, the
`System administrator 114 represents the perSon or perSons
`responsible for Supporting the users of the client computers
`106a-land for servicing the various hardware and software
`applications being used by corporate computer network 100.
`FIG.2 shows steps taken in the development, distribution,
`and installation of application Software packages according
`to the prior art. At Step 202, an application Software package
`represented by the files NEW APPEXE and NEW
`DATA.DAT are developed by an application Software manu
`facturer. At Step 204, the application Software manufacturer
`develops a rule-based instruction file SETUPINS. At step
`206, the application Software manufacturer releases the
`application Software package by either a physical data
`delivery mechanism Such as a CD-ROM, a magnetic media
`disk, or a DVD-disk, or alternatively configures the appli
`cation Software package for electronic delivery, e.g., by
`posting the application Software package on an Internet
`World Wide Web Site or bulletin board. Along with the
`application software package files NEW APPEXE and
`60
`NEW DATA.DAT, the rule-based instruction file SETU
`P.INS is included, along with a rule-based installation engine
`denoted by a file SETUPEXE.
`A rule-based installation engine is a Standard computer
`program which is designed to install an application Software
`package from a first medium onto a client computer when
`executed. Examples of rule-based installation engines
`
`40
`
`45
`
`50
`
`55
`
`65
`
`

`

`3
`enhanced with regard to unauthorized access to proprietary
`information contained therein.
`At step 208 of FIG. 2, the system administrator 114
`acquires the magnetic disk or other medium containing the
`application software and installation files. At steps 210-220,
`using distribution methods known in the art, System admin
`istrator 114 distributes the application software and instal
`lation files to each of the computers 106a-106l that require
`the new Software installation. In what is perhaps the oldest
`prior art method, the System administrator physically goes to
`each computer with the CD-ROM or disk, executes the
`rule-based installation engine program, i.e. the
`InstallShield(R) SETUPEXE program, and enters the appro
`priate responses when prompted. In particular, Starting at
`step 210, the system administrator 114 launches the rule
`15
`based installation engine at each client computer COM
`PUTER (i) at step 212. At steps 214 and 216, the system
`administrator 114 enters the appropriate information when
`prompted. At steps 218 and 220, the system administrator
`114 continues on to the next computer COMPUTER (i+1),
`or else the process ends if installation has occurred on all
`required client computers. In another prior art method simi
`lar to that depicted in FIG. 2, the files identified at step 206
`are distributed electronically to the client computers
`106a-10.6l, wherein each user individually runs the rule
`based installation program.
`The above prior art method is disadvantageous in that
`there are no accommodations for custom parameters that
`may be desired by the system administrator 114 during the
`installation process. Rather, the installation will simply
`contain the default instructions and parameters in SETU
`P.INS provided with the application software. It would be
`desirable in many circumstances for custom installation to
`take place. For example, a custom licensing agreement
`display may be desired, custom destination directories may
`be desired, or it may be required that Specialized files
`overwrite the Standard application Software files during the
`installation process.
`The lack of custom installation parameters and commands
`during execution of the rule-based installation engine
`SETUPEXE is not practically resolvable through modifica
`tion of SETUPINS by the system administrator 114. As
`indicated previously, the SETUPINS file is very difficult to
`read or modify in that it is a binary file created by a special
`compiler that is not provided to the System administrator
`with the application Software package. Further, the rule
`based installation language files *.RUL are also generally
`not provided to the System administrator. Most importantly,
`however, even if these elements were provided to the System
`administrator, it would be very difficult for the system
`administrator to modify the rule-based instruction file
`directly, as it is written in a highly detailed and Specific form.
`Generally Speaking, rule-based instruction files contain code
`that is unique to each provider of rule-based installation
`engines, code that is not easily created or even deciphered by
`the System administrator 114. A major portion of the rule
`based instruction file, which may exceed 400 KB for many
`products, is devoted to intricacies of the application Software
`and installation process that-is not of concern to the System
`administrator, and proper entry and exit points would be
`difficult to discern unless the System administrator were to
`take the time to become skilled in that language. See
`generally “InstallShield 3 User's Guide” as referenced
`above.
`While rule-based instruction files are generally very dif
`ficult to create from Scratch, a limited Set of tools are
`Sometimes available to the System administrator to allow
`
`65
`
`45
`
`50
`
`55
`
`60
`
`US 6,266,811 B1
`
`25
`
`35
`
`40
`
`4
`generation of custom rule-based instruction files. AS an
`example, using a feature of the InstallShield(R) program, the
`system administrator can “record' a limited set of default
`installation parameters into a *.SIS file by executing the
`SETUP command line with the command “SETUP-R. The
`recorded *.SIS file can then be invoked on Subsequent
`installations using the command “SETUP-S”. However, this
`prior art method only allows a limited Set of options to be
`adjusted, e.g. the default destination directory, and does not
`allow for custom operating System commands to be
`executed at custom times during the installation process. The
`Installshield(R) recording proceSS is described on a publicly
`available CD-ROM disk entitled VirusScanTM version 3.0.0
`(3000) in the file \Win95\WHATSNEWTXT, which is
`hereby incorporated by reference into the present disclosure.
`Generally Speaking, the prior art as outlined above allows
`only a fixed-format, Serially presented, and limited Set of
`installation parameters to be specified by a System admin
`istrator for execution along with the provided rule-based
`instruction language file commands.
`It has been found that flexible and customizable installa
`tion procedures are especially important when antivirus
`application Software packages are being installed on a
`plurality of client computerS Such as those in the corporate
`computer network 100. Generally, a computer virus is a
`program that is capable of attaching to other programs or
`Sets of computer instructions, replicating itself, and perform
`ing unsolicited or malicious actions on a computer System.
`Generally, computer viruses are designed to spread by
`attaching to floppy disks or data transmissions between
`computer users, and are designed to do damage while
`remaining undetected. The damage done by computer
`Viruses may range from mild interference with a program,
`Such as the display of an unwanted political message in a
`dialog box, to the complete destruction of data on a user's
`hard drive. It is estimated that new viruses are created at a
`rate of over 100 per month. A variety of antivirus programs
`have been developed to detect and destroy computer viruses.
`It is important to ease the installation and distribution of
`antivirus applications Software packages and to provide a
`more flexible and yet simple method for installing them onto
`a plurality of client computers. AS an example, it is impor
`tant in an antivirus installation environment to display
`timely information to the user regarding computer viruses,
`information that often becomes available only after the
`release of the antivirus application Software disk. AS another
`example, updated *.DAT files containing newly unleashed
`Virus Signatures often need to be installed over the existing
`*.DAT files which accompany the antivirus application
`Software disk. Information related to antivirus applications
`is included in a publicly available CD-ROM disk entitled
`VirusScanTM version 3.0.1. All files contained on the
`CD-ROM disk VirusScanTM version 3.0.1 are hereby incor
`porated by reference into the present disclosure.
`Accordingly, it would be desirable to provide a method
`and System for allowing a System administrator to install an
`application Software package onto a plurality of client
`computers using a flexible and customizable installation
`proceSS.
`It would be further desirable to provide a method and
`System for allowing the System administrator to use a
`familiar and Standardized rule-based installation engine to
`install an application Software package onto a plurality of
`client computers.
`It would be even further desirable to allow for customi
`Zation of the rule-based installation process without requir
`
`

`

`US 6,266,811 B1
`
`15
`
`S
`ing the System administrator to have knowledge of the
`rule-based installation language being used.
`SUMMARY OF THE INVENTION
`These and other objects are achieved by a method and
`System for installing an application Software package onto a
`computer using a rule-based installation engine, wherein
`custom installation parameters are translated into a simpli
`fied Script language file by a System administrator. The
`application Software package is installed onto a computer
`using the Standard rule-based installation engine, which is
`executed normally according to commands Stored in a
`rule-based instruction file. The rule-based instruction file is
`modified and configured by the provider of the application
`Software package to cause the rule-based installation engine
`to execute commands according to the Simplified Script
`language file. In this manner, the System administrator may
`achieve flexibility and control over each phase of the soft
`ware installation process without being required to have a
`knowledge of the Specific language of the rule-based instal
`lation engine.
`In a preferred embodiment, the rule-based installation
`engine is capable of operation according to commands
`Stored in rule-based instruction files. The System adminis
`trator acquires the application Software package, and deter
`mines at least one custom installation parameter associated
`with the application Software package. The at least one
`custom installation parameter may comprise, for example,
`an instruction to execute a certain program during a certain
`phase of the installation process, or other commands. The
`custom installation parameter is expressed by the System
`administrator into a simplified and intuitive Script language
`command and recorded in a simplified Script language file.
`After all custom parameters are So translated, the Simplified
`Script language file is compiled into a compiled installation
`Script file using a Script compiler. The rule-based instruction
`file is modified and configured by the provider of the
`application Software package to cause the rule-based instal
`lation engine to execute commands in the complied Script
`language file. The rule-based installation engine is then
`executed according to the rule-based instruction file for
`installing the application Software package.
`In another preferred embodiment, the Simplified Script
`language file comprises a predetermined Sequence of instal
`lation phase portions corresponding to time periods between
`a predetermined Set of installation events. The predeter
`mined set of installation events may include Some or all of
`the following events: an initialization of internal Settings of
`the rule-based installation engine; a display of a license
`agreement; a request for a destination directory; a copying of
`application Software files to the destination computer, a
`configuration of operating System parameters to allow
`execution of the application Software program, e.g. the
`configuration of INI and registry files for Windows 95TM
`computers, creation of application Software program icons,
`display of a README file; and deletion of temporary
`installation files and exiting of the installation procedure.
`In another preferred embodiment, the application Soft
`ware package is an antivirus Software package, and one of
`the custom installation parameters corresponds to a com
`60
`mand for installing a newer Set of virus Signature files over
`preexisting virus Signature files that were provided with the
`antiVirus Software package. In another preferred
`embodiment, a Second custom installation parameter corre
`sponds to a command for displaying virus updates and
`warnings that are newer than virus updates and warnings
`provided with the antivirus Software package.
`
`65
`
`6
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 shows a diagram of a computer network compris
`ing a plurality of client computers,
`FIG. 2 shows Steps taken in the development and instal
`lation of an application Software package according to the
`prior art;
`FIG. 3 shows installation events associated with the
`installation of an application Software package onto a client
`computer, and
`FIG. 4 shows steps taken in the development and instal
`lation of an application Software package according to a
`preferred embodiment.
`DETAILED DESCRIPTION OF THE
`INVENTION
`The structure and function of the preferred embodiments
`can be understood by reference to the drawings. The reader
`will note that the same reference designations appear in
`multiple locations. Where this is the case, the numerals refer
`to the same or corresponding structure or Steps in those
`locations.
`FIG. 3 shows a set of installation events associated with
`the installation of an application Software package onto a
`client computer using an exemplary rule-based installation
`engine according to a preferred embodiment. It is to be
`appreciated that while the embodiment shown corresponds
`generally to the InstallShield(R) program, the Scope of the
`preferred embodiments is by no means limited to this
`rule-based installation engine. Rather, the Scope of the
`preferred embodiments applies to any of a variety of rule
`based installation engines including Wise Installation
`System, Microsoft Setup Toolkit or any other standard
`computer program which is designed to install an applica
`tion Software package from a first medium onto a client
`computer when executed and which is capable of operation
`according to rule-based instruction files. It is to be further
`appreciated that while a Windows 95TM operating system is
`used in the examples below, the Scope of the preferred
`embodiments is by no means limited to a Windows 95TM
`environment.
`One publicly available document that discloses an instal
`lation Script language, a rule-based installation engine, and
`a Script compiler for allowing customized installation of
`application Software packages is “Technotes: VirusScan for
`Windows 95 3.0; ISeamless Install Scripting”, a publicly
`available document that is available on request from Net
`work ASSociates, Inc. (formerly McAfee ASSociates) at
`408-988-3832.
`At step 302 of FIG. 3, a first installation event is shown,
`during which internal Settings of the rule-based installation
`engine are initialized. At Step 304, a license agreement is
`displayed and user consent to licensing terms is obtained. At
`Step 306, a request for a destination directory for application
`Software package files is made. At Step 308, application
`Software files are copied to the client computer. At step 310,
`operating System parameters are altered to allow execution
`of the application software package. In a Windows 95
`environment, for example, the Settings in certain INI files
`and in the registry files are altered at step 310.
`At Step 312, application Software program icons are
`created corresponding to the newly installed Software. At
`step 314, a README file is displayed. Finally, at step 316,
`a cleanup operation occurs wherein temporary installation
`files and directories are deleted, and the installation proce
`dure exits.
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`25
`
`7
`The above steps 302-316 are representative of a prede
`termined set of installation events that take place during
`execution of a rule-based installation engine. Several of the
`steps are often optional, including steps 302-306 and steps
`312-314. It has been found that a predetermined set of
`installation phase portions may be defined according to the
`time intervals lying between the above discrete installation
`events. According to a preferred embodiment, custom instal
`lation instructions expressed as Simplified Script language
`commands may be executed during any of the predeter
`mined set of installation phase portions. These commands
`include, but are not limited to: copying a file from a Source
`directory to a destination directory; deleting a file; launching
`any application program for Serial or parallel execution with
`Subsequent installation Steps, altering operating System
`parameters expressed as registry values, altering operating
`System parameters expressed in INI files, and altering a
`Specific Subset of rule-based installation parameters. Upon
`reading the present disclosure and the documents incorpo
`rated by reference, the implementation of Such Simplified
`Script commands and a compiler for converting these com
`mands into a rule-based instruction file will be readily
`apparent to one skilled in the art.
`FIG. 4 shows steps taken in the development and instal
`lation of an application Software package according to a
`preferred embodiment. The step 402 proceeds in a manner
`similar to the step 202 of FIG. 2. However, at step 404, the
`application Software manufacturer generates an improved
`rule-based instruction file SETUPINS which causes the
`rule-based installation engine SETUP.EXE to reference a
`dynamic link library READ SCRIPTDLL at each of the
`predetermined installation phases of the installation process.
`When routines contained in READ SCRIPTDLL are
`invoked, acceSS is made to any compiled Script language file
`having a designated file extension, for example, *.SIS, and
`35
`it is determined whether that *.SIS file contains any com
`mands associated with that phase of the installation process.
`At Step 406, the application Software manufacturer
`releases the script compiler SCRIPT COMPILER.EXE
`and the dynamic link library file READ SCRIPT.DLL
`along with the application Software files, the rule-based
`installation engine, and the rule-based instruction file.
`According to a preferred embodiment, the Script compiler
`SCRIPT COMPILER.EXE is a program adapted and con
`figured to compile a simplified Script language file into a
`compiled Script language file for use by the dynamic link
`library file and rule-based installation engine as outlined
`above.
`At step 408, the system administrator 114 acquires the
`application Software product containing the above files. At
`Step 410, the System administrator determines custom or
`Silent installation parameters, e.g., the desire to copying
`certain files during a certain predetermined installation
`phases, or the desire to run a certain application program
`during the same or different predetermined installation
`phase. At Step 412, the System administrator writes a file
`CUSTOM SCRIPTISC which contains simplified and
`intuitive Script commands classified according to the prede
`termined installation phase during which they are to be
`executed. An exemplary Set of Such commands and their
`Syntax is described infra.
`At Step 414, System administrator 114 uses the program
`SCRIPT COMPILER.EXE to compile CUSTOM
`SCRIPTISC into a rule-based instruction file ADMIN.SIS
`that is readable by the above referenced dynamic link library
`file during predetermined installation phases of the instal
`lation process. AS an example, the command String
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,266,811 B1
`
`5
`
`15
`
`8
`“SCRIPT COMPILER CUSTOM SCRIPTISC ADMIN
`SIS is launched in a DOS window of Windows 95 or with
`the File/Run command of the

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket