   CD Keys and Security
  Hello,Our company has a product that we made, but before we release it we would like to add sort of a CD Key to the installer, where you could enter the same CD Key up to 3 times, then on the 4th time, up would come a screen that would say "this key has been registered too many times, please call *800 number*"..Sortof like how Microsoft does it.We've looked at Wise Installer, and Install Shield, and they're both very expensive...so we wanna actually make sure they can do it, and we would like it to be something that wouldn't take long at all to set up.Could the free Nullsoft Installer do something like this?Any other alternatives?  How does companies like Adobe and Msoft do it? (custom build their own installers?)Thanks a bunch,ArchG   
  They probably build custom actions for the installer. NSIS supports custom actions, as does the Microsoft installer engine.Most installers can install a DLL, and then call special functions in that DLL which perform whatever actions you're interested in. Building a DLL which prompts with a serial number, then checks with a web site, doesn't seem too hard.You have to think about what to do when:a) the machine isn't connected to the netor b) your server is down or not reachableNot allowing the user to install under those circumstances is not a reasonable option, unless the program requires a network to operate normally.   ;  InstallShield offers an "InstallShield Activation Service" that seems to be oriented toward this kind of thing.  (Although I would not recommend InstallShield at all if you can possibly avoid it, as it is expensive, archaic, unreliable and very hard to use.)You could alternately use a third-party DRM solution (like Aladdin HASP SL) and integrate it into whatever installation system you decide to use.   ;  thanks for both your responses,I would like to try to create a custom .dll because I don't think it would be that tough..All it would have to do is...sent the cd key entered to our webserver (CdKey.aspx),and receive back either "Correct", "Incorrect", or "AlreadyRegistered"..or something like that..the problem with this is...I have never created a .dll before (of the type I need anyway)..I can't use languages like C# can I? (I thought those .dll were like fake...like the class libraries)..I ran across this article a couple minutes ago...I think it might be the most famous .dll creation articleFlipCode Creating .DLLs tutorialbut was written 7 years ago...is this the type and format of .dll I need to write?Thanks,ArchG   