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.
Μια μέθοδος και μια συσκευή για και το λογισμικό. Οι ενσωματώσεις της εφεύρεσης περιλαμβάνουν ένα σύστημα συσκευασίας λογισμικού που είναι φορητό σε πολλές πλατφόρμες. Κάθε συσκευασία είναι ανεξάρτητη με μορφή μιας οντότητας ενιαίος-αρχείων που περιλαμβάνει ένα αρχείο ωφέλιμων φορτίων και ένα αρχείο ελέγχου. Το αρχείο ωφέλιμων φορτίων είναι ένα αρχείο αρχείων που περιέχει μια συμπιεσμένη συλλογή όλων των αρχείων λογισμικού που απαιτούνται για την εγκατάσταση του πακέτου λογισμικού. Το αρχείο ελέγχου περιλαμβάνει τις απαραίτητες πληροφορίες για την εγκατάσταση των αρχείων που περιλαμβάνονται στο αρχείο ωφέλιμων φορτίων, εκτός από άλλες περιγραφικές πληροφορίες που χρησιμοποιούνται για να καθορίσουν το μέγεθος, τον τύπο, τη θέση της αποθήκευσης, και άλλες χρήσιμες ιδιότητες ενός πακέτου λογισμικού, ακόμη και προτού να εγκατασταθούν σε ένα σύστημα. Τα μέτρα ασφάλειας έχουν εφαρμοστεί στο σύστημα για να ανιχνεύσουν μια συσκευασία το περιεχόμενο της οποίας έχει πειραχτεί. Οι ενσωματώσεις της εφεύρεσης μπορούν να χρησιμοποιηθούν για να εγκαταστήσουν το συσκευασμένο λογισμικό που είναι προσιτό μέσω του Διαδικτύου. Μια συσκευασία σε μια μακρινή πηγή μπορεί να προσεγγιστεί και να εγκατασταθεί χρησιμοποιώντας έναν ομοιόμορφο εντοπιστή των πόρων (URL) που δείχνει τη συγκεκριμένη διεύθυνση της συσκευασίας στη μακρινή πηγή. Οι ενσωματώσεις της εφεύρεσης σχεδιάζονται έτσι ώστε το ολόκληρο σύστημα είναι μικρό στο μέγεθος έτσι ώστε το διάστημα αποθήκευσης και το εύρος ζώνης μετάδοσης που απαιτούνται για την αποθήκευση ή τη μεταφορά τους ελαχιστοποιούνται. Οι ενσωματώσεις της εφεύρεσης μπορούν να χρησιμοποιηθούν για να εγκαταστήσουν, να αφαιρέσουν ή να ενημερώσουν ένα πακέτο λογισμικού.