Software packaging and distribution system
First Claim
1. A method to package and distribute software over the Internet, said method comprising:
- creating a single-file entity software package, said single-file entity software package being a single-file entity formatted to comprise multiple files, said single-file entity software package comprising a payload file and a control file, said payload file comprising one or more software files, said control file comprising control information pertaining to said software files and dependencies of said software files;
parsing said control file for said control information pertaining to said one or more software files contained in said payload file of said single-file entity software package;
installing said payload file by manipulating said one or more software files in said single-file entity software package according to said control information; and
removing a software package according to said control information, wherein;
said removing said software package according to said control information comprises;
determining if there exist any pre-removal actions to be performed;
if any pre-removal actions are to be performed, performing said pre-removal actions according to said control information;
examining said control information for dependency constraints; and
prohibiting removal of software files that violate said dependency constraints.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for packaging and distributing software. Embodiments of the invention comprise a software packaging system that is portable across many platforms. Each package is self-contained in form of a single-file entity that comprises a payload file and a control file. The payload file is an archive file that contains a compressed collection of all the software files that are required for installation of the software package. The control file includes the necessary information for installation of the files contained in the payload file, in addition to other descriptive information used to determine the size, type, location of storage, and other useful attributes of a software package, even before it is installed on a system. Security measures have been implemented in the system to detect a package the contents of which have been tampered with. Embodiments of the invention can be utilized to install packaged software that is accessible via the Internet. A package on a remote source can be accessed and installed using a Uniform Resource Locator (URL) that indicates the package'"'"'s specific address on the remote source. Embodiments of the invention are designed such that the entire system is small in size so that the storage space and the transmission bandwidth required for their storage or transportation are minimized. Embodiments of the invention may be used to install, remove or update a software package.
370 Citations
5 Claims
-
1. A method to package and distribute software over the Internet, said method comprising:
-
creating a single-file entity software package, said single-file entity software package being a single-file entity formatted to comprise multiple files, said single-file entity software package comprising a payload file and a control file, said payload file comprising one or more software files, said control file comprising control information pertaining to said software files and dependencies of said software files;
parsing said control file for said control information pertaining to said one or more software files contained in said payload file of said single-file entity software package;
installing said payload file by manipulating said one or more software files in said single-file entity software package according to said control information; and
removing a software package according to said control information, wherein;
said removing said software package according to said control information comprises;
determining if there exist any pre-removal actions to be performed;
if any pre-removal actions are to be performed, performing said pre-removal actions according to said control information;
examining said control information for dependency constraints; and
prohibiting removal of software files that violate said dependency constraints. - View Dependent Claims (2, 3, 4, 5)
said single-file entity software package includes compressed data.
-
-
3. The method of claim 1, wherein:
said single-file entity software package is retrievable from the Internet.
-
4. The method of claim 1, wherein:
said single-file entity software package is accessible via a URL.
-
5. The method of claim 1, further comprising:
upgrading said single-file entity software package by manipulating said one or more files according to said control information.
Specification