UwakPeter
UwakPeter

Reputation: 341

Add expiration to C# windows application

i am trying to make make app expire after some days using the registry option, i have successfully written and read from registry, my issue is to check for expiration, below is my code:

 regKey = Registry.CurrentUser.OpenSubKey("Systemfiles");//subkeyname
            if (regKey == null)
            {
                regKey = Registry.CurrentUser.CreateSubKey("Systemfiles");
                regKey.SetValue("tere", Encrypt("4/16/2017"));
            }
            else
            {
                regKey = Registry.CurrentUser.OpenSubKey("Systemfiles");//subkeyname
                string decryptDateValue = Decrypt(regKey.GetValue("tere").ToString());  //Keyname
                DateTime mainDate = Convert.ToDateTime(decryptDateValue);

                DateTime expiringDate = mainDate.AddDays(1);
                if (mainDate > expiringDate)
                {
                    expire = true;
                }
                else
                {
                    //Continue execution
                }
            }

from my code i assumed the user's first run is the 04/16/2017, i also assumed i want the user to run the application for one day, which supposed to expire on the 04/17/2017, meaning if the user tries to start the application after 04/17/2017 the if part should execute, but i am not really getting it right, the else part always execute, i will appreciate a better way of doing it. Thanks

Upvotes: 0

Views: 237

Answers (1)

Pikoh
Pikoh

Reputation: 7703

You've got this in your code:

DateTime expiringDate = mainDate.AddDays(1);
if (mainDate > expiringDate)

So,expiringDate would always be bigger than mainDate (one day exactly).

What you want to check is the actual Date, so it should be:

if (DateTime.Now>expiringDate)

Upvotes: 2

Related Questions