Is Visual Studio Community a 30 day trial?

I installed the supposedly free VS Community 2017 on my PC and 30 days later I get this message from VS saying that my license has expired.

License? Expired? I thought the community edition was "free forever" therefore sporting the "community" tag. What's going on? I tried signing in with my outlook.com account but it says "something went wrong" and comes back to the same screen.

How do I get a fully free version of VS 2017 so I can work on my FOSS projects?

trial


Sign in and the 30 day trial will go away!

"And if you're already signed in, sign out then sign in again." –b1nary.atr0phy


To bypass "30days left must go online to sign-in", sign-in once to Microsoft account, you'll get %LocalAppData%\Microsoft\VSCommon\OnlineLicensing folder that you can copy to offline PCs.


IMPORTANT DISCLAIMER: Information provided below is for educational purposes only! Extending a trial period of Visual Studio Community 2017 might be ILLEGAL!

So let's get started.

Registry key of interest: HKEY_CLASSES_ROOT\Licenses\5C505A59-E312-4B89-9508-E162F8150517\08878. I assume the 08878 subkey may differ from installation to installation (why not, isn't?). I have tested only on my own one. So check other subkeys if you can not match proper values described below. Binary value stored in that key is encrypted with CryptProtectData. So decrypt it first with CryptUnprotectData. Bytes of interest (little-endian):

  • [-16] and [-15] is a year of expiration;
  • [-14] and [-13] is a month of expiration;
  • [-12] and [-11] is a day of expiration.

Increasing these values (preferable the year :) ) WILL extend your trial period and get rid of a blocking screen! I know nothing of such a tool that allows to edit encrypted registry values, so my small program in C++ and Windows API looks like:

RegGetValue
CryptUnprotectData
Data.pbData[Data.cbData-16]++;
CryptProtectData
RegSetValue

Actual language doesn't matter if you have access to registry and crypto functions in your language. I'm just fluent in C++. Sorry, I do not publish a ready-to-use code for ethical reason.


In my case, I already was signed in. So I had to sign out and sign in again.

In spanish Cerrar Sesion is sign out.

screenshot


VS 17 Community Edition is free. You just need to sign-in with your Microsoft account and everything will be fine again.