I had this problem many years ago. I solved it by saving the installation time-stamp in the Windows Registry - hiding it in the Microsoft hive. That solution is still working today, but unfortunately it is not one that you can use easily from Java.
In this same situation now in B4J I would construct a folder in the User\Roaming\Microsoft folder, give it some innocuous name, and put the installation date-stamp in there. How many users are going to examine their Roaming folder (how many know where or what it is?) and risk deleting some folder at random?
' Save timestamp
File.WriteString(File.DirData("Microsoft/Reference"), "Source", timestamp)
As a probably unnecessary further step to avoid detection I encoded the time stamp to look like a GUID.