How to manage a priced app; in terms of timing and managing after license expiry?

I am developing a desktop app; and it is the first time I intend to publish it to the public for selling.

I have two options for pricing, and two options for managing after license expiry.

The two options for pricing are:

  1. Setting a limited time period by setting an expiration date. The app license must expire when reaching the expiration date regardless of whether the app was used or not.

  2. Setting a counter to accumulate the usage hours. The app will only expire after consuming the number of predetermined usage hours. Counting consumed usage hours is only performed when the app is running.

The two options for managing after license expiry are:

  1. Blocking the whole app after license expiry and only presenting the user with a registration dialogue for buying a new license.

  2. Blocking some features after license expiry and notifying the user of that; and provide them with an option for buying a new license to obtain full functionality.

Which is considered better in terms of user experience and user expectations, so that it doesn't leave a bad experience or impression?

If you have other options/suggestions; you are welcome ^_^