Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How do software applications keep track of whether the user already installed the application before in it's Windows system?

Say you install app X, trial version, remove it, then re install it, and when you run it again it detects you had already installed it before. If you uninstall and clean all registry information it shouldn't know you had already installed it before...

Disclaimer: I'm not trying to "hack" any application, just thinking about how this is implemented.

share|improve this question
add comment

1 Answer

up vote 5 down vote accepted

There can be many ways to implement this. The general idea is that the first time the application is installed, it has to leave some indicator that it was there. This could be a registry key setting, a system configuration value, a hidden text file, some combinations of these, etc... When it is uninstalled, it must leave this artifact behind so that if the installer is run again, it will first look for that artifact(s) that proves the application was there already.

If you want to get very fancy, you have the installer send some sort of machine identifier (maybe CPU serial number + MAC address) to a central registration server. That way, even if all relevant settings are cleared locally, the registration server will still know that the other machine once had that application.

share|improve this answer
2  
This covers most of the common options. One particular application I know of writes to the boot sector of a hard drive (I think, I don't know the technical details), meaning that even a Windows format of the drive won't enable the program to be installed again. Only a low-level format with less common software will clear the lock. This has the benefit of not requiring central registration and it's very powerful, but to be honest I do find it a bit scary! –  Snorbuckle Mar 30 '12 at 15:04
    
@Snorbuckle: Interesting. I guess in this case you could mirror your OS (and other) partition(s) to a clean new hard drive and then swap the new drive into the machine to get around this and re-install the application, ASSUMING that this is the ONLY artifact left behind by the application. –  FrustratedWithFormsDesigner Mar 30 '12 at 15:26
    
Uninstalling, cleaning the registry then mirroring to a brand new hard drive would certainly solve the problem without having to format. If the user doesn't mind formatting, hard drive manufacturers provide the necessary low-level formatting software for free (for example Data LifeGuard Diagnostic for Western Digital hard drives). The large majority of users wouldn't know of this difference in formatting options though, so it stops all but the most technically knowledgeable users from beating the multiple-trial protection. –  Snorbuckle Mar 30 '12 at 15:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.