The present invention presents a system and method for the vendor of a primary
software program ("primary vendor") to limit the use of a secondary software program
with its primary software program, under a specific set of limiting preconditions,
and to retain control over the issuance and duration of the limiting preconditions,
where a primary software program is an operating system and a secondary software
program is an application software program or a peripheral driver, and where a
primary software program is an application software program and a secondary software
program is a plug-in. One embodiment of the invention includes: providing a computer
including a processor and a memory operably coupled to the processor; providing
a first software program operably installed on the computer; providing a second
software program capable of being operably installed on the computer and capable
of being used interoperably with the first software program; modifying the second
software program to include a specific set of preconditions limiting use of the
second software program with the first software program; digitally signing the
second software program including the specific set of preconditions; determining
whether the second software program has been altered after the digitally signing;
verifying that the specific set of preconditions limiting use of the second software
program with the first software program is met; and running the second software
program interoperably with the first software program if and only if (1) the determining
determines that the second software program has not been altered after the digitally
signing and (2) the verifying verifies that the specific set of limiting preconditions
is met.