¿Visual Studio Community es una prueba de 30 días?
Instalé VS Community 2017 supuestamente gratuito en mi PC y 30 días después recibo este mensaje de VS que dice que mi licencia ha caducado.
¿Licencia? ¿Venció? Pensé que la edición comunitaria era "gratuita para siempre", por lo que llevaba la etiqueta "comunidad". ¿Qué está sucediendo? Intenté iniciar sesión con mi cuenta de outlook.com pero dice "algo salió mal" y vuelve a la misma pantalla.
¿Cómo obtengo una versión totalmente gratuita de VS 2017 para poder trabajar en mis proyectos FOSS?
¡Inicie sesión y la prueba de 30 días desaparecerá!
"Y si ya has iniciado sesión, cierra sesión y vuelve a iniciar sesión". –b1nary.atr0phy
Para omitir "Quedan 30 días, debe estar en línea para iniciar sesión", inicie sesión una vez en la cuenta de Microsoft y obtendrá la carpeta %LocalAppData%\Microsoft\VSCommon\OnlineLicensing que puede copiar a computadoras sin conexión.
DESCARGO DE RESPONSABILIDAD IMPORTANTE: ¡La información proporcionada a continuación es solo para fines educativos! ¡Extender un período de prueba de Visual Studio Community 2017 podría ser ILEGAL!
Entonces empecemos.
Clave de registro de interés: HKEY_CLASSES_ROOT\Licenses\5C505A59-E312-4B89-9508-E162F8150517\08878
. Supongo que la 08878
subclave puede diferir de una instalación a otra (¿por qué no?). Lo he probado solo por mi cuenta. Por lo tanto, verifique otras subclaves si no puede coincidir con los valores adecuados que se describen a continuación. El valor binario almacenado en esa clave está cifrado con CryptProtectData
. Así que descifralo primero con CryptUnprotectData
. Bytes de interés (little-endian):
[-16]
y[-15]
es de un año de vencimiento;[-14]
y[-13]
es de un mes de vencimiento;[-12]
y[-11]
es un día de vencimiento.
¡Aumentar estos valores (preferiblemente el año :)) extenderá su período de prueba y eliminará una pantalla de bloqueo! No sé nada de una herramienta que permita editar valores de registro cifrados, por lo que mi pequeño programa C++
se Windows API
ve así:
RegGetValue
CryptUnprotectData
Data.pbData[Data.cbData-16]++;
CryptProtectData
RegSetValue
El idioma real no importa si tiene acceso a las funciones de registro y criptografía en su idioma. Simplemente lo hablo con fluidez C++
. Lo siento, no publico un código listo para usar por razones éticas.