IP Library Granted Patent US 9,383,985
Granted Patent B2
US 9,383,985 · App. 13/491,656 · Granted Jul 5, 2016

Automated modification of pre-generated MSI packaged applications

Inventor: Andrew Hei-Yin Lee (Rhodes, AU)
Assignee: Unisys Corporation
G06F8/61G06F8/67G06F9/44521G06F11/3664
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 9,383,985
App. No.
13/491,656
Granted
Jul 5, 2016
Kind
B2
Abstract

Deployment packages for applications may be created automatically to deploy unique instances of an application for execution on a computer system. The deployment packages may be created by copying an original deployment package to a new deployment package and modifying properties, attributes, and/or values within the new deployment package. The modified parameters may include a globally-unique identifier (GUID). The modifications to the new deployment package may be performed automatically without access to source code for the application in the original deployment package. The new deployment package may be deployed on a computer system to install a unique instance of the application. Automatic creation of deployment packages may be useful for testing multiple copies of an application in parallel on a computer system.

Claims (52)

1. A method, comprising:

preparing a deployment package for a unique instance via copying a first deployment package to a second deployment package automatically and changing an identifier or a parameter within the second deployment package automatically such that the second deployment package is unique from the first deployment package at least via a unique identifier;

creating an executable file for the unique instance, wherein creating the executable file comprises creating a dynamic link library (DLL);

generating a class file corresponding to the unique instance by a standalone application; and compiling the class file with an external application to create the DLL;

updating a configuration file for the unique instance; and

packaging the executable file and the configuration file with the deployment package to create the unique instance of the deployment package for a unique copy of an existing application.

2. The method of claim 1 , in which the step of packaging comprises creating a Microsoft installer package (MSI).

3. The method of claim 1 , in which the step of updating the configuration file comprises at least one of:

updating the configuration file with a different system name;

updating the configuration file with an alternate name;

updating the configuration file with a different package name;

updating the configuration file with a different program identification.

4. The method of claim 1 , in which the step of creating the DLL comprises:

extracting an original DLL from the deployment package; and

editing assembly code in the DLL to correspond to the unique instance.

5. The method of claim 1 , in which the step of creating the DLL comprises:

generating source code corresponding to the unique instance for the DLL with a code generator; and

compiling the source code into the DLL with the code generator.

6. The method of claim 1 , further comprising executing the deployment package on a hypervisor-based platform.

7. A computer program product, comprising:

a non-transitory computer readable medium comprising:

code to prepare a deployment package for a unique instance via copying a first deployment package to a second deployment package automatically and changing an identifier or a parameter within the second deployment package automatically such that the second deployment package is unique from the first deployment package at least via a unique identifier;

code to create an executable file for the unique instance, wherein the code to create the executable file for the unique instance comprises code to create a dynamic link library (DLL);

code to generate a class file corresponding to the unique instance by a standalone application; and code to compile the class file with an external application to create the DLL;

code to update a configuration file for the unique instance; and

code to package the executable file and the configuration file with the deployment package to create the unique instance of the deployment package for a unique copy of an existing application.

8. The computer program product of claim 7 , in which the medium further comprises code to create a Microsoft installer package (MSI).

9. The computer program product of claim 7 , in which the medium further comprises at least one of:

code to update the configuration file with a different system name;

code to update the configuration file with an alternate name;

code to update the configuration file with a different package name;

code to update the configuration file with a different program identification.

10. The computer program product of claim 7 , in which the medium further comprises:

code to extract an original DLL from the deployment package; and

code to edit assembly code in the DLL to correspond to the unique instance.

11. The computer program product of claim 7 , in which the medium further comprises:

code to generate source code corresponding to the unique instance for the DLL with a code generator; and

code to compile the source code into the DLL with the code generator.

12. An apparatus, comprising:

a memory; and

a processor coupled to the memory, in which the processor is configured:

to prepare a deployment package for a unique instance via copying a first deployment package to a second deployment package automatically and changing an identifier or a parameter within the second deployment package automatically such that the second deployment package is unique from the first deployment package at least via a unique identifier;

to create an executable file for the unique instance; to create dynamic link library (DLL);

to generate a class file corresponding to the unique instance by a standalone application; and to compile the class file with an external application to create the DLL;

to update a configuration file for the unique instance; and

to package the executable file and the configuration file with the deployment package to create the unique instance of the deployment package for a unique copy of an existing application.

13. The apparatus of claim 12 , in which the processor is further configured:

to extract an original DLL from the deployment package; and

to edit assembly code in the DLL to correspond to the unique instance.

14. The apparatus of claim 12 , in which the processor is further configured:

to generate source code corresponding to the unique instance for the DLL with a code generator; and

to compile the source code into the DLL with the code generator.

Assignments (11)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 044416/0114 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 041227/0490 →
SECURITY INTEREST Recorded Jan 10, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 040938/0907 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2012
From: LEE, ANDREW
To: UNISYS CORPORATION
Reel/Frame 028825/0495 →
SECURITY AGREEMENT Recorded Aug 7, 2012
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 028736/0798 →
Continuity (1)
Related Publication 20120317564A1 · Dec 13, 2012