Testers Needed for Code Snippet

Everything else that doesn't fall into one of the other PB categories.
Slyvnr
User
User
Posts: 58
Joined: Wed Jun 27, 2007 10:10 pm
Location: USA
Contact:

Testers Needed for Code Snippet

Post by Slyvnr »

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.

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$)
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
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Testers Needed for Code Snippet

Post by Kuron »

Runs for me, but no mac address is listed. XP SP2, ADSL modem is connected via USB.
Best wishes to the PB community. Thank you for the memories. ♥️
User avatar
Kiffi
Addict
Addict
Posts: 1485
Joined: Tue Mar 02, 2004 1:20 pm
Location: Amphibios 9

Re: Testers Needed for Code Snippet

Post by Kiffi »

Doesn't work here, because i have a german system :P

Code: Select all

"Ethernet adapter Local Area Connection" = "Ethernet-Adapter LAN-Verbindung"
"Physical Address" = "Physikalische Adresse"
If i replace the Strings above, my MAC-Address is shown correctly.

Greetings ... Kiffi
Hygge
Slyvnr
User
User
Posts: 58
Joined: Wed Jun 27, 2007 10:10 pm
Location: USA
Contact:

Re: Testers Needed for Code Snippet

Post by Slyvnr »

Kuron wrote:Runs for me, but no mac address is listed. XP SP2, ADSL modem is connected via USB.
can you click on "Start" and in the Search/Run type "CMD" once at the command prompt type in "ipconfig /all > kuron.txt" (no quotes of course). Private message me the text file.

Kiffi - Thanks need to know that because I am looking at adding localization language files also... :0
User avatar
kpeters58
Enthusiast
Enthusiast
Posts: 341
Joined: Tue Nov 22, 2011 5:11 pm
Location: Kelowna, BC, Canada

Re: Testers Needed for Code Snippet

Post by kpeters58 »

Works as expected for me on Windows 7 64-bit

Question I have:

Are you sure that ipconfig is not localized? If it is, the string searches you perform will fail for non-English versions...

Cheers,
Kai
PB 5.73 on Windows 10 & OS X High Sierra
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Testers Needed for Code Snippet

Post by Kuron »

Slyvnr wrote:
Kuron wrote:Runs for me, but no mac address is listed. XP SP2, ADSL modem is connected via USB.
can you click on "Start" and in the Search/Run type "CMD" once at the command prompt type in "ipconfig /all > kuron.txt" (no quotes of course). Private message me the text file.

Done, I have PMs disabled so won't be able to get any replies
Best wishes to the PB community. Thank you for the memories. ♥️
Slyvnr
User
User
Posts: 58
Joined: Wed Jun 27, 2007 10:10 pm
Location: USA
Contact:

Re: Testers Needed for Code Snippet

Post by Slyvnr »

Kuron thanks. Wonder why it is not picking up since it is in the file you sent me. Should work without problem as the two fields I look for are exact same as from your entry.

Kai - yes Ipconfig uses localization and this will be problem for international. However I have a seperated product for international that will contain localization files. The current version is for US only since there are slightly different needs in different countries for this product.

Looking for another dozen or so results/problems if there are any.

Slyvnr
rsts
Addict
Addict
Posts: 2736
Joined: Wed Aug 24, 2005 8:39 am
Location: Southwest OH - USA

Re: Testers Needed for Code Snippet

Post by rsts »

mac address displayed.

win7 x64
pb46 32 bit
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Re: Testers Needed for Code Snippet

Post by Trond »

Using localized strings is just the wrong way. Windows comes in around 90 different languages. Try something like GetAdaptersAddress(): http://msdn.microsoft.com/en-us/library ... s.85).aspx


Also:
The free version runs on any computer, while paid version requires a regularly active internet connection. Basically you're making people pay to get an inferior product. You really should reconsider this.
I cannot see any good reason not to activate online during the installation and be done with it.
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Re: Testers Needed for Code Snippet

Post by netmaestro »

I cannot see any good reason not to activate online during the installation and be done with it.
Agreed, this is my opinion too.
BERESHEIT
User avatar
Bisonte
Addict
Addict
Posts: 1305
Joined: Tue Oct 09, 2007 2:15 am

Re: Testers Needed for Code Snippet

Post by Bisonte »

@Slyvnr : And in Case of changing computer oder ethernet card ? The user must buy it again ?
PureBasic 6.21 (Windows x64) | Windows 11 Pro | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
English is not my native language... (I often use DeepL.)
User avatar
Kiffi
Addict
Addict
Posts: 1485
Joined: Tue Mar 02, 2004 1:20 pm
Location: Amphibios 9

Re: Testers Needed for Code Snippet

Post by Kiffi »

@Slyvnr:

here is a little snippet to show all available Mac-Addesses:
(uses srods COMatePLUS (http://www.purecoder.net/comate.htm))

Code: Select all

IncludePath "<YourIncludePath>\COMatePLUS-PB4-50\"
XIncludeFile "comateplus.pbi"
IncludePath ""

Procedure GetMacAddresses(Computer.s)
  
  Protected objWMIService.COMateObject
  Protected objItem.COMateObject 
  Protected colItems.COMateEnumObject 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + Computer + "\root\cimv2", "") 
  
  If objWMIService 
    
    colItems  = objWMIService\CreateEnumeration("ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where MACAddress Is Not NULL')") 
    
    If colItems  
      
      objItem = colItems\GetNextObject() 
      
      While objItem 
        
        Debug "Description: " +  objItem\GetStringProperty("Description")
        Debug "MACAddress: " +  objItem\GetStringProperty("MACAddress")
        Debug "----------"
        
        objItem\Release() 
        objItem = colItems\GetNextObject() 
        
      Wend 
      colItems\Release() 
    EndIf 
    objWMIService\Release() 
  EndIf 
  
EndProcedure

GetMacAddresses(".")
(no need for localization)

Greetings ... Kiffi
Hygge
Slyvnr
User
User
Posts: 58
Joined: Wed Jun 27, 2007 10:10 pm
Location: USA
Contact:

Re: Testers Needed for Code Snippet

Post by Slyvnr »

netmaestro wrote:
I cannot see any good reason not to activate online during the installation and be done with it.
Agreed, this is my opinion too.
I agree with this also. However, the only solutions to do this that I have found cost between $400 and $6,000. Not appropriate for a < $10 program. I did find one solution for $80 but it was 1) cumbersome to work with, 2) required me to manually generate license keys and email them to end users. This causes a problem as it is not actually "on-line activiation" and requires me to manually perform major tasks which would mean that responses to license key request would not be timely. For me to code something along these lines I would be spending more time on that then my own product.
trond wrote:The free version runs on any computer, while paid version requires a regularly active internet connection.
I don't think this statement is accurate or correct. I am looking at say, AVG Free versus AVG Paid. AVG Free provides basic Anti-Virus scanning. AVG Paid provides Anti-Virus scanning, Link Scanning, Identity Protection and lots of other features. Same goes with my product. The free version offers basic utility that users want. Again, the licensing that I am looking at does not require regularly active internet connection only a periodically active internet connection. You will need it only when you initially "activate" the expanded features and then once every couple of weeks or month. With most computers always on and connected to an active internet connection 24/7 nowadays this is a mute point. It is also easier for the end user as it requires only their initial activation and everything else is handled behind the scenes.
trond wrote:Basically you're making people pay to get an inferior product. You really should reconsider this.
The paid version provides additional options and flexibility that the free version does not offer. If an end user can get by with the free version then they are not forced to do anything. It is strictly if they need or want the additional features in the paid version. Given that you have no idea what my product is, you are making an totally inappropriate judgment statement. You are in no position to deem a product inferior or not, having never used it. It may be a product that is absolutely no use to you, but I have found at least 10,000 people that want/need/can use it. In the future keep your comments to constructive criticism and helpful comments. (By the way, I can state the 10,000 users as the current product contains embedded reporting code that end users can opt-in/opt-out of and I have at least 10,000 currently active users. This number could be much higher as it can not include those that have opt'ed out from reporting statistics. From my own website there have been over 14,000 downloads. From other freeware/shareware sites there have been another 4,500 downloads. So there have been at least 18,000 who have looked at the program and more than half are using it on a regular basis.)
trond wrote:Try something like GetAdaptersAddress(): http://msdn.microsoft.com/en-us/library ... 15(v=vs.85).aspx
Your link appears to be erroneous as it leads to an error page. Trying to avoid windows API type calls.
bisonte wrote:@Slyvnr : And in Case of changing computer oder ethernet card ? The user must buy it again ?
They are allowed three installations, the purpose being Home Desktop, Work Desktop, Laptop. However, if they only install on Home Desktop then there are two more activations that can be used in case of computer change or ethernet card being replaced. If however the end user has installed on three computers, then they would need to deactivate one before changing out the computer. If they lose the hard drive and replace the hard drive, they are good because the ethernet card has not be replaced. Same goes for power supplies or motherboards, (unless the ethernet card is built into the motherboard). Only if the ethernet card is replaced is there a problem.

If they have a computer crash and can not deactivate that license I will work with the end user to remove the old computer from the license database and get them another activation. However, if they are trying to install to a fourth or more computer, then yes they will need to buy additional installation licenses. Heck, they are only going to be $2.00 - $3.00 to cover my time to increase their limit. I am not making them buy a whole new license.

I have been asked by several end users who are small business owners about licensing for multiple computers with the new version. I have stated that I would be willing to provide them with discounted bulk licensing and am working on the details for that. One business owner is wanting 100 licenses and at my current structure would only be $340 for 34 licenses each with 3 installs or 102 users. I will probably make it so that they buy a base license for $10 then license 4-25 will cost $3 each and 26-50 $2 each and 51+ $1 each. Therefore 100 licenses would cost $10+$63+$50+$50 which would be $173 or a savings of basically 50%. The thing is, I will work with the end users. We are only talking $10 or less so to buy additional licenses is not that big of a deal. Most users get $10 in cost savings in 1 months use.

At least I am not trying to sell my software as a subscription service of $3 per month per user. I mean come on. I need to be paid something for my time and effort. I need to make sure that the "enhanced" version is not "freely" distributed. But I need to keep things simple and cost efficient for me at the same time.

Thanks all for the input. Still trying to figure out the best avenue for implementation.

Slyvnr
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Testers Needed for Code Snippet

Post by Ramihyn_ »

Slyvnr wrote:
trond wrote:The free version runs on any computer, while paid version requires a regularly active internet connection.
I don't think this statement is accurate or correct. I am looking at say, AVG Free versus AVG Paid. AVG Free provides basic Anti-Virus scanning. AVG Paid provides Anti-Virus scanning, Link Scanning, Identity Protection and lots of other features. Same goes with my product. The free version offers basic utility that users want. Again, the licensing that I am looking at does not require regularly active internet connection only a periodically active internet connection. You will need it only when you initially "activate" the expanded features and then once every couple of weeks or month. With most computers always on and connected to an active internet connection 24/7 nowadays this is a mute point. It is also easier for the end user as it requires only their initial activation and everything else is handled behind the scenes.
I don't know what kind of product you are offering, but my work computers are never connected to the internet. A virus scanner requires regular updates and computers connected to the internet, require up to date virus protection. That is very different to average tools i work with, where daily or weekly updates are pointless. Additionaly Antivirus products do not require regular internet connections like your licensing verification. They do warn about outdated signatures, but work just fine without any updates.
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Testers Needed for Code Snippet

Post by PMV »

There is no solution to beat people who want to steal your program.
You are just losing money because of the time you are spending by
implementing such a fallacious safeness. :wink:
And what benefit do you really have? $10 per license? You are just
kidding by implementing this kind of security. Who would leak your
program and cause for complaint instead of paying ... $10 :lol:

:)

MFG PMV
Post Reply