Can the same license be used across different applications

I have a company that develops a software product used in the Security Industry. We use INNO Setup as our installer, and the product is developed using C#.net.

The product is sold and installed via a dealer network, but we are concerned with the level of security we have implemented to protect our product. First of all, there is not security on the Installer. Second, there are 37 extra cost features that can be installed by selecting the components in the INNO installer. We have to trust our dealer to only install the features that have been purchase (we know this isn't a good process). Next, the customer must purchase a yearly service fee. We have no way of tracking this except manually. Finally, the only security we have on our software is the client application provides a 30 day trial. The user can email use their license key and we use an application to create a license file that email back to the user. They then copy that file to a directory to unlock the client application. We use IntelliLock for this license function.

The final issue we face is that many of our clients do not allow their security computers on an open network.

Is it possible to use LimeLM and TurboActivate to first require a key before the INNO Installer will install the software, and then use that same key to control the Activation of our application, and manage the extra cost features?

Is it possible to use LimeLM and TurboActivate to first require a key before the INNO Installer will install the software, and then use that same key to control the Activation of our application, and manage the extra cost features?

Yes, LimeLM and TurboActivate can solve every step of this problem.

... require a key before the INNO Installer will install the software

We have a tutorial and an example Inno Setup project explaining how to limit the installer. See: Using TurboActivate with Inno Setup. We show how you can add a product key entry box to the installer and the different options you have for limiting the user's ability to install your app.

and the product is developed using C#.net.

We have a tutorial showing how to use TurboActivate in C# apps along with ready-made example code.

We have to trust our dealer to only install the features that have been purchase (we know this isn't a good process). Next, the customer must purchase a yearly service fee.

The way to solve this problem is to use Custom license features. This way when you generate a product key for your customers you can explicitly limit what features they can install (and use) and which features they can't use.

You can also use license feature to limit things like service fees, how long they're update contract allows free updates, etc. The "SaaS and time-limited licensing" article talks about one possible solution to the problem.

The final issue we face is that many of our clients do not allow their security computers on an open network.

For these customers you'll have to use "offline activation" -- which is just the regular online activation process split into 2 parts. This way your customers on closed networks (like banks, certain government institutions, etc.) can still activate your app.

Tell me if this helps.

You answered all my questions, and in record time! Thanks.

My pleasure. If you have any other questions we'll be glad to help.