IP Library Granted Patent US 8,191,060
Granted Patent B2
US 8,191,060 · App. 11/512,763 · Granted May 29, 2012

Software installation using template executables

Assignee: Adobe Systems Incorporated
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,191,060
App. No.
11/512,763
Granted
May 29, 2012
Kind
B2
Abstract

This specification describes technologies relating to software installation. In general, a method of installing software can include obtaining application information for a software application to be installed on a target platform, the application information including an application name, an application icon, version information, and application code; obtaining a template executable including machine code native to the target platform; and adding the application information to the template executable to form an application executable for the software application.

Claims (41)

1. A method of installing software, the method comprising:

obtaining application information for a software application to be installed on a target platform, the application information including an application name, an application icon, version information, and application code;

obtaining a template executable comprising machine code native to the target platform; and

adding the application information to the template executable to form an application executable for the software application, wherein adding the application information comprises using an application programming interface provided by an operating system of the target platform to update an icon resource in the template executable with the application icon and to update a version resource in the template executable with the version information, wherein the method is implemented by a computing machine.

2. The method of claim 1 , wherein obtaining the application information comprises opening an installation package received from a software distributor, the installation package comprising package information stored in a platform independent format.

3. The method of claim 1 , wherein obtaining the application information comprises receiving a data file used by the software application, the method further comprising checking whether a current version of the software application is installed on the target platform before obtaining the template executable and adding the application information to the template executable.

4. The method of claim 1 , wherein obtaining the template executable comprises selecting the template executable from among multiple, previously obtained template executables for different platforms.

5. The method of claim 1 , wherein the adding comprises transforming the application icon from a first format to a second format before updating the icon resource in the template executable with the application icon.

6. The method of claim 1 , further comprising placing the application executable into an install directory using a file name corresponding to the application name.

7. The method of claim 1 , wherein the adding comprises embedding the application code as a resource in the application executable, the application code comprising interpreted code that relies on a runtime library on the target platform to operate.

8. The method of claim 7 , wherein the interpreted code comprises bytecode that is compiled by the runtime library.

9. The method of claim 7 , wherein obtaining the application information comprises opening an installation package received from a software distributor, the installation package comprising the runtime library, the method further comprising:

determining if the runtime library is installed on the target platform; and

installing the runtime library on the target platform if not already installed.

10. A non-transitory computer-readable medium tangibly embodying a computer program comprising instructions operable to cause data processing apparatus to perform operations comprising:

obtaining application information for a software application to be installed on a target platform, the application information including an application name, an application icon, version information, and application code;

obtaining a template executable comprising machine code native to the target platform; and

adding the application information to the template executable to form an application executable for the software application, wherein adding the application information comprises using an application programming interface provided by an operating system of the target platform to update an icon resource in the template executable with the application icon and to update a version resource in the template executable with the version information.

11. The computer-readable medium of claim 10 , wherein obtaining the application information comprises opening an installation package received from a software distributor, the installation package comprising package information stored in a platform independent format.

12. The computer-readable medium-of claim 10 , wherein obtaining the application information comprises receiving a data file used by the software application, the operations further comprising checking whether a current version of the software application is installed on the target platform before obtaining the template executable and adding the application information to the template executable.

13. The computer-readable medium of claim 10 , wherein obtaining the template executable comprises selecting the template executable from among multiple, previously obtained template executables for different platforms.

14. The computer-readable medium of claim 10 , wherein the adding comprises transforming the application icon from a first format to a second format before updating the icon resource in the template executable with the application icon.

15. The computer-readable medium of claim 10 , wherein the operations further comprise placing the application executable into an install directory using a file name corresponding to the application name.

16. The computer-readable medium of claim 10 , wherein the adding comprises embedding the application code as a resource in the application executable, the application code comprising interpreted code that relies on a runtime library on the target platform to operate.

17. The computer-readable medium of claim 16 , wherein the interpreted code comprises bytecode that is compiled by the runtime library.

18. The computer-readable medium of claim 16 , wherein obtaining the application information comprises opening an installation package received from a software distributor, the installation package comprising the runtime library, the operations further comprising:

determining if the runtime library is installed on the target platform; and

installing the runtime library on the target platform if not already installed.

19. A system comprising:

a user interface device;

a computer platform including an operating system and a virtual machine, the virtual machine configured to create a virtualized environment between the computer platform and a software application programmed to operate on the virtual machine; and

one or more computers operable to obtain application information for the software application to be installed on the computer platform, obtain a template executable comprising machine code native to the computer platform, and add the application information to the template executable to form an application executable on the computer platform, wherein to add the application information comprises using an application programming interface provided by an operating system of the target platform to update an icon resource in the template executable with the application icon and to update a version resource in the template executable with the version information;

wherein the application information includes an application name, an application icon, version information, and application code.

20. The system of claim 19 , the one or more computers operable to open an installation package received from a software distributor, the installation package comprising package information stored in a platform independent format.

21. The system of claim 19 , the one or more computers operable to receive a data file used by the software application and to check whether a current version of the software application is installed on the target platform before obtaining the template executable and adding the application information to the template executable.

22. The system of claim 19 , the one or more computers operable to select the template executable from among multiple, previously obtained template executables for different platforms.

23. The system of claim 19 , the one or more computers operable to transform the application icon from a first format to a second format before updating the icon resource in the template executable with the application icon.

24. The system of claim 19 , the one or more computers operable to place the application executable into an install directory using a file name corresponding to the application name.

25. The system of claim 19 , the one or more computers operable to embed the application code as a resource in the application executable, the application code comprising interpreted code that relies on a runtime library on the target platform to operate.

26. The system of claim 25 , wherein the interpreted code comprises bytecode that is compiled by the runtime library.

27. The system of claim 25 , the one or more computers operable to open an installation package received from a software distributor; the installation package comprising the runtime library; and the one or more computers operable to determine if the runtime library is installed on the target platform, and install the runtime library on the target platform if not already installed.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2006
From: MALASKY, ETHAN; GOLDMAN, OLIVER; BRICHFORD, CHRISTOPHER
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 018413/0793 →
Continuity (1)
Related Publication 20080127169A1 · May 29, 2008