Try/buy wrapping of installation-ready software for electronic distribution
First Claim
1. Using a programmed computer, a method of adding executable code to a plurality of software programs each of which is stored as an archive of files, produced using a plurality of installation toolkits, comprising the steps of:
- storing a table identifying for each of a plurality of different installation toolkits an unpacking mechanism to be used to unpack the archive and a repacking mechanism to be used to repack the archive; and
, for each of a plurality of such archives of files;
identifying by reference to said table a particular unpacking method to be used to unpack the archive and a particular repacking method to be used to repack the archive;
unpacking the archive using the particular unpacking method;
wrapping each of said software programs by modifying selected code modules in each of said software programs of the unpacked archive; and
repacking the archive using the particular repacking method.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention, generally speaking, provides a semi- or fully-automated process that allows an electronic collection of software titles previously made ready for installation to be Try/Buy enabled. In accordance with an exemplary embodiment of the invention, the process involves, for each of a potentially large number of software programs, identifying how the software program has been made ready for installation, and consulting a table or database to determine how, based on the installation particulars, to unpack and repack the setup file set, or program archives The program archive is unpacked, executable modules are identified, and one or more of thee modules are chosen for Try/Buy wrapping. Repacking may be performed by modifying the program archive or by entirely rebuilding the program archive. The setup ruleset remains unchanged. A secondary executable setup file is therefore optionally provided to perform an additional setup steps that may be required for proper Try/Buy operation. These additional steps may be necessitated by the requirements of certain setup tools that prohibit replacement of a file in the setup file set with a larger file. For those setup tools, the repacking steps involve inserting some information into the original setup file set and appending additional information past the end, and the recombining these material to yield the Try/Buy enabled version of the software.
75 Citations
22 Claims
-
1. Using a programmed computer, a method of adding executable code to a plurality of software programs each of which is stored as an archive of files, produced using a plurality of installation toolkits, comprising the steps of:
-
storing a table identifying for each of a plurality of different installation toolkits an unpacking mechanism to be used to unpack the archive and a repacking mechanism to be used to repack the archive; and
, for each of a plurality of such archives of files;
identifying by reference to said table a particular unpacking method to be used to unpack the archive and a particular repacking method to be used to repack the archive;
unpacking the archive using the particular unpacking method;
wrapping each of said software programs by modifying selected code modules in each of said software programs of the unpacked archive; and
repacking the archive using the particular repacking method.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
adding at least one additional file outside the repacked archive; and
adding a secondary executable setup file outside the repacked archive.
-
-
5. The method of claim 4, wherein the secondary executable setup file functions to install said additional file so that the additional file may be found by the additional executable code.
-
6. The method of claim 5, wherein the secondary executable setup file further functions to run a primary executable setup file.
-
7. The method of claim 6, comprising the further steps of:
-
during unpacking of the archive, identifying executable code modules within the archive and displaying to an operator information identifying the executable code modules; and
the operator selecting executable code modules operation of which is to be modified by adding said additional code.
-
-
8. The method of claim 6, comprising the further steps of:
-
running the secondary executable setup file and the primary executable setup file;
running the software program; and
an operator observing running of the software program and inputting to the computer an indication of whether any abnormality was observed.
-
-
9. The method of claim 3, wherein unpacking is performed using a software tool provided with said installation toolkit.
-
10. The method of claim 3, comprising the further steps of:
-
analyzing a particular installation file format;
using results of the foregoing analysis step, programming a special-purpose software tool for performing unpacking said particular file format; and
performing said unpacking using said special-purpose software tool.
-
-
11. The method of claim 3, wherein unpacking comprises executing said primary executable setup file to perform a dummy installation.
-
12. The method of claim 3, wherein repacking comprises using a software tool to replace an original version of a specified executable code module with a modified executable code module.
-
13. The method of claim 12, wherein repacking is performed using a software tool provided with said installation toolkit.
-
14. The method of claim 12, comprising the further steps of:
-
analyzing a particular installation file format;
using results of the foregoing analysis step, programming a special-purpose software tool for performing repacking said particular file format; and
performing said repacking using said special-purpose software tool.
-
-
15. The method of claim 1, wherein modifying the archive comprises:
-
extracting a code module from the archive;
injecting the code module with additional executable code to produce an injected code module; and
appending to the archive information relating to the injected code module.
-
-
16. The method of claim 15, comprising the further step of adding a secondary executable setup program external to the archive that functions to run a primary executable setup file and to process the appended information.
-
17. The method of claim 16, wherein said archive is repacked so as to include a loader stub within a part of the archive originally occupied by said code module.
-
18. The method of claim 17, comprising the further steps of:
-
executing the primary executable setup file to install the software program;
a user commanding execution of the software program; and
prior to executing the software program, the loader stub rewriting the software program to place said injected code module in proper relation to the remainder of the software program.
-
-
19. The method of claim 16, comprising the further step of processing the injected code module to produce a first information portion and a second information portion;
wherein the first information portion is appended to the archive as said information relating to the injected code module, and the archive is repacked so as to include the second information portion within a part of the archive originally occupied by said code module.
-
20. The method of claim 19, comprising the further steps of:
-
executing the secondary executable setup program and thereby;
locating the first and second information portions;
transforming the first and second information portions to obtain again said injected code module; and
writing the injected code module to a predetermined safe location.
-
-
21. The method of claim 20, wherein transforming comprises concatenating said first and second information portions.
-
22. The method of claim 20, wherein the one information portion represents differences between the other information portion and the injected code module, and said transformation comprises processing said differences.
Specification