Testers Needed for Code Snippet
Posted: Tue Nov 29, 2011 8:50 pm
O.K. not really wanting to bring up an old topic but here I go.
I have written a program that I released by various freeware/shareware sites. It has been downloaded 10,000+ times and I have received lots of positive feedback. I am now making major improvements based on end user requests and am going to offer two versions of the program. The free version will have options A, B and C along with a few minor bug fixes. The Paid Version will be features A, B, C and D, E, F, G, H with the same bug fixes. Features D, E, F, G and H are the most requested end user features and were the most cumbersome to code. Features A, B, and C were features that were < 10 lines of code to implement. Because of Features D, E, F, G and H I basically re-started from scratch and re-coded cleaner and more efficiently. Even then I added over 1,000 lines of code.
What I want to do is require payment for the enhanced version with all the features. The program without D, E, F, G and H is great and should suffice for 80% of the people. Features D, E, F, G and H will make the program that more usable and flexible for the demanding 20% and probably half of the 80% will want the "enahnced"/"full"/"paid" version just because it makes the program that much more, provided of course the cost is relatively cheap.
I have looked into various software licensing "plug-ins" and "dlls" but am not ready to pay $400+ plus monthly fees for this.
Instead I am going to license the software to be used by a buyer ( and users of his computers) on up to 3 computers. What I am going to do is set up a simple serial number licensing scheme using the end users MAC address. Allow the program to be installed up to 3 times with 3 different MAC addresses. I am planning on selling the "enhanced"/"full" version for a nominal amount, something like $8.00, $9.00 or $10.00. Additional installations will cost some minimal amount like $2.00 or $3.00.
Anyway, when the program is purchased the end user will be given a "License Key" and when they install the program and enter the License Key the system will update a remote database with the License Key and MAC Address. Every 10-15 runs of the program or once a month the system will re-verify the License Key from the remote database. If the end user has 3 active installs, they will be required to un-install or buy additional licensing slots if they want additional installations.
Where I am at right now is that I need to verify that the following code will work on multiple versions of Windows. I am using IPCONFIG which should be on every computer running windows. It does not require administrative rights to run (at least I do not believe it does) and all users should not have problems with this code being called in my program.
As you can see you should get a single message box with your MAC address listed. I just want as many people as possible to run this snippet and report any problems. If you want to post that it works with your windows version that is great, but I am more interested in errors and problems. The primary problem I forsee is that not everyone's computer is the primary network interface card called "Ethernet adapter Local Area Connection". In which case I will need to get full IPCONFIG files from anyone where this is the case to see what it is called and figure out any variations that might exist.
I appreciate all the assistance and will release more details on how I implement this simplistic software licensing scheme.
Slyvnr
I have written a program that I released by various freeware/shareware sites. It has been downloaded 10,000+ times and I have received lots of positive feedback. I am now making major improvements based on end user requests and am going to offer two versions of the program. The free version will have options A, B and C along with a few minor bug fixes. The Paid Version will be features A, B, C and D, E, F, G, H with the same bug fixes. Features D, E, F, G and H are the most requested end user features and were the most cumbersome to code. Features A, B, and C were features that were < 10 lines of code to implement. Because of Features D, E, F, G and H I basically re-started from scratch and re-coded cleaner and more efficiently. Even then I added over 1,000 lines of code.
What I want to do is require payment for the enhanced version with all the features. The program without D, E, F, G and H is great and should suffice for 80% of the people. Features D, E, F, G and H will make the program that more usable and flexible for the demanding 20% and probably half of the 80% will want the "enahnced"/"full"/"paid" version just because it makes the program that much more, provided of course the cost is relatively cheap.
I have looked into various software licensing "plug-ins" and "dlls" but am not ready to pay $400+ plus monthly fees for this.
Instead I am going to license the software to be used by a buyer ( and users of his computers) on up to 3 computers. What I am going to do is set up a simple serial number licensing scheme using the end users MAC address. Allow the program to be installed up to 3 times with 3 different MAC addresses. I am planning on selling the "enhanced"/"full" version for a nominal amount, something like $8.00, $9.00 or $10.00. Additional installations will cost some minimal amount like $2.00 or $3.00.
Anyway, when the program is purchased the end user will be given a "License Key" and when they install the program and enter the License Key the system will update a remote database with the License Key and MAC Address. Every 10-15 runs of the program or once a month the system will re-verify the License Key from the remote database. If the end user has 3 active installs, they will be required to un-install or buy additional licensing slots if they want additional installations.
Where I am at right now is that I need to verify that the following code will work on multiple versions of Windows. I am using IPCONFIG which should be on every computer running windows. It does not require administrative rights to run (at least I do not believe it does) and all users should not have problems with this code being called in my program.
Code: Select all
Test=RunProgram("ipconfig", "/all","",#PB_Program_Hide | #PB_Program_Open | #PB_Program_Read)
found = 0
If Test
While ProgramRunning(Test)
If AvailableProgramOutput(Test)
Output$=ReadProgramString(Test)
If FindString(Output$,"Ethernet adapter Local Area Connection",0) And found=0
found=1
EndIf
If found=1
If FindString(Output$,"Physical Address",0)
start=FindString(Output$,":",0)+1
MacAddress$=Mid(Output$,start,18)
found=2
EndIf
EndIf
EndIf
Wend
CloseProgram(Test) ; Close the connection to the program
EndIf
messagetxt$="MAC Address is "+MacAddress$
MessageRequester("Output", messagetxt$)
I appreciate all the assistance and will release more details on how I implement this simplistic software licensing scheme.
Slyvnr