Secure licence key through web

Nuz

Board Regular
Joined
Aug 16, 2010
Messages
88
I have an Excel workbook that I'd like to sell (licence). Licence should be renewed annually and there should not be any possibility to crack it.
Third-party products can do it but they either convert the Excel-workbook to .exe-file or they need an external program to be installed on the client's machine (I need to have the file as .xlsm format and installing anything is not a possibility)
Standard VBA solution is not a possibility either since it is not secure.

I am thinking if there is a possibility to create a web-based licence manager with VBA? The code would check the current time from the web and then connect to my server where the licence information resides and open the workbook if the licence is in force. I would update the licence information directly to the server.

Does anybody has any idea of whether this is possible. I have no experience of Excel connecting to web.
 

Excel Facts

Can you sort left to right?
To sort left-to-right, use the Sort dialog box. Click Options. Choose "Sort left to right"
As you've said yourself, VBA is not secure, so a VBA solution (regardless of what it does) will not be secure.
 
Upvote 0
How about making an application-specific XLA add-in that checks the licence on the web? Isn't that a secure way?
So I would distribute the workbook with normal Excel protections since I'm not that worried about cracking the workbook itself. I would however distribute the VBA code that communicates with the workbook via an Excel add-in that is installed on the user's computer. The macros should not work if the licence period is expired.
 
Upvote 0
An xla is no more secure than any other workbook, I'm afraid.
 
Upvote 0
A COM addin would work as it is compiled code.
 
Upvote 0
Where should I start with that when I have been programming with VB.NET but not VB6. I mean is programming the Excel or other Office applications difficult with .NET platform? Do you know any tutorials on the web or good books on it?
 
Upvote 0
I don't really use .Net but I imagine MSDN is probably a good place to start looking.
 
Upvote 0
.NET is nice, but it requires installation, which you said you do not want to do.

You simply cannot have it both ways: No installation AND secure (safe against people trying to crack your code).
 
Upvote 0
Ok, I see. I then have to relax the installing requirement. Security in this case is a more important issue. If somebody knows a good comprehensive book or tutorials on programming Excel with VB.NET languague, please let me know.

Basically, I need to convert all my existing VBA code in the current Excel workbook to VB.NET code that would then be run separately (add-in or external program). The current VBA code modifies the workbook in many ways, opens and closes other workbooks, imports data from closed workbooks and should manage the licences etc. I would be happy to find some examples of such tasks with VB.NET.
 
Upvote 0

Forum statistics

Threads
1,224,505
Messages
6,179,153
Members
452,891
Latest member
JUSTOUTOFMYREACH

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top