web-dev-qa-db-fra.com

Comment changer la clé de licence Visual Studio 2012,2013 ou 2015?

J'ai une copie de Visual Studio 2012 Pro sur ma machine avec une clé de série que je ne suis plus censée utiliser, car je dois en utiliser une autre. Mon problème est que je continue à désinstaller Visual studio, mais les informations d'enregistrement sont toujours là après la réinstallation et je ne peux pas déterminer le chemin d'accès au registre que je dois supprimer (j'en ai supprimé quelques-unes) sans aucune chance.

Existe-t-il un moyen simple de supprimer ces informations ou d’échanger mes clés?

Merci

60
FatBruno

J'ai eu le même problème et je voulais changer la clé de produit en une autre. Malheureusement, ce n’est pas aussi facile que sur VS2010.

Les étapes suivantes fonctionnent:

  • Supprimez la clé de registre contenant les informations de licence: HKEY_CLASSES_ROOT\Licenses\77550D6B-6352-4E77-9DA3-537419DF564B

  • Si vous ne trouvez pas la clé, utilisez sysinternals ProcessMonitor pour vérifier l'accès au registre de VS2012 afin de localiser la clé correcte, toujours dans HKEY_CLASSES_ROOT\Licenses.

  • Après avoir supprimé cette clé, VS2012 vous indiquera que ses informations de licence sont incorrectes. Allez à "Programmes et fonctionnalités" et réparez VS2012.

  • Après la réparation, VS2012 passe à un essai de 30 jours et vous pouvez entrer une nouvelle clé de produit. Cela pourrait également être utilisé pour rester dans une boucle de version d'essai et ne jamais entrer dans une clé de production.

63
Nico

Pour ceux qui devront supprimer la clé de produit de Visual Studio 2015:

  1. retirer la clé de registre HKCR\Licenses\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F
  2. réparer l'installation de Visual Studio

Ça y est, vous pouvez maintenant changer la clé de produit si nécessaire.

55
Alex

Pour moi, avec Visual Studio 2013, il ne suffisait pas de supprimer la clé de licence et d’effectuer une réparation (la réparation a restauré la clé de licence au lieu de revenir à une version d’essai et de l’exécuter sans la réparation (après avoir supprimé la clé) la licence avait expiré mais ne me laissait pas entrer une nouvelle clé).

J'ai dû:

  • Découvrez la clé de licence que Visual Studio recherchait dans le registre avec Process Monitor (c'était HKCR\Licenses\E79B3F9C-6543-4897-BBA5-5BFB0A02BB5C)
  • Désinstallez complètement Visual Studio 2013 (enregistrez d'abord CurrentSettings.vssettings)
  • Supprimer la clé de licence du registre à la main dans regedit
  • Installez Visual Studio à l'aide du programme d'installation Web accessible au public (qui ne possède pas de clé de licence intégrée - il installe une version d'essai de 30 jours).
  • Entrez ma nouvelle clé de licence
  • (Ré) installer les mises à jour (mise à jour 1 à ce jour)
  • Restaurez les paramètres en important la sauvegarde que j'ai faite de CurrentSettings.vssettings
30
Cameron

Pour ceux qui utilisent Visual Studio 2017 Professional, la clé de registre est la suivante:

HKCR\Licences\5C505A59-E312-4B89-9508-E162F8150517

Je vous recommande également d’abord d’exporter la clé de registre avant de la supprimer, afin que vous disposiez d’une sauvegarde si vous supprimez la mauvaise clé par inadvertance.

10
Bogdan Mitrache

Pour voir le contenu de ces licences HKCR \, utilisez API Monitor v2

API-Filter find 

    RegQueryValueExW 
        ^-Enable all from Advapi32.dll

    CryptUnprotectData
        ^- Enable all from Crypt32.dll
         + Breakpoint / after Call

des exemples de données qui vont sortir de CryptUnprotectData :

HKEY_CLASSES_ROOT\Licenses\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F\07078  [length 0x1C6 (0454.) ]
    00322-20000-00000-AA450                 <- PID2
    7d3cbcbb-90b1-411f-9981-6e28039a9b82    <- Ver
    7C3WXN74-VRMXH-J8X3H-M8F7W-CPQB8        <- PID3

HKEY_CLASSES_ROOT\Licenses\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F\0bcad  [length 0xbcad (0534.) ]

    0000  00000025 ffffffff 7fffffff   07064. 00000007   07078. 00000007 ffffffff
    0020  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    0040  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    0060  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    0080  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    00a0  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    00c0  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    00e0  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    0100  7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff 7fffffff ffffffff
    0120  7fffffff ffffffff 7fffffff 10.2015. c2a6 11.
    0134                             ^installation date^

Utile ici est peut-être l'horodatage de l'installation (11.10.2015 ici) Changer cela nécessiterait d'appeler 'CryptProtectData'. Cela nécessite quelques efforts, comme écrire un petit programme OR arrêter avec ollydebug à cet endroit et "confectionner" manuellement un appel CryptProtectData ...

Remarque: dans cet exemple, j'utilise Microsoft® Visual Studio 2015 .

-> Pour un quick'n'dirty se faufiler dans un expiré VS je recommande de lire this post. Cependant, c’est bien pour une utilisation occasionnelle, jusqu’à ce que vous obteniez toute l’inscription et la connexion de la merde correctement faites à nouveau;)

Ok la vraie viande est ici:
% LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Licenses\^ - Ce chemin provient de HKCU\Software\Microsoft\Visual\Studio\14.0\Licences\715f10eb-9e99-11d2-bfc2-00c04f990235\1

1_3jdh3uyw **. Crtok **

-après quelques Base64 décodage:

<ClientRightsContainer 
    xmlns="http://schemas.datacontract.org/2004/07/Microsoft.VisualStudio.Services.Licensing" 
    xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <CertificateBytes>
        00000000   30 82 06 41 30 82 04 29  A0 03 02 01 02 02 13 5A   0‚ A0‚ )       Z
        00000010   00 00 BC CB 23 AC 52 9C  E8 93 F9 0A 00 01 00 00     ¼Ë#¬Rœè“ù     
        00000020   BC CB 30 0D 06 09 2A 86  48 86 F7 0D 01 01 0B 05   ¼Ë0   *†H†÷     
        00000030   00 30 81 8B 31 0B 30 09  06 03 55 04 06 13 02 55    0 ‹1 0   U    U
        00000040   53 31 13 30 11 06 03 55  04 08 13 0A 57 61 73 68   S1 0   U    Wash
        00000050   69 6E 67 74 6F 6E 31 10  30 0E 06 03 55 04 07 13   ington1 0   U   
        00000060   07 52 65 64 6D 6F 6E 64  31 1E 30 1C 06 03 55 04    Redmond1 0   U 
        00000070   0A 13 15 4D 69 63 72 6F  73 6F 66 74 20 43 6F 72      Microsoft Cor
        00000080   70 6F 72 61 74 69 6F 6E  31 15 30 13 06 03 55 04   poration1 0   U 
        00000090   0B 13 0C 4D 69 63 72 6F  73 6F 66 74 20 49 54 31      Microsoft IT1
        000000A0   1E 30 1C 06 03 55 04 03  13 15 4D 69 63 72 6F 73    0   U    Micros
        000000B0   6F 66 74 20 49 54 20 53  53 4C 20 53 48 41 32 30   oft IT SSL SHA20
        000000C0   1E 17 0D 31 35 30 33 30  35 32 31 32 39 35 36 5A      150305212956Z
        000000D0   17 0D 31 37 30 33 30 34  32 31 32 39 35 36 5A 30     170304212956Z0
        000000E0   25 31 23 30 21 06 03 55  04 03 13 1A 61 70 70 2E   %1#0!  U    app.
        000000F0   76 73 73 70 73 2E 76 69  73 75 61 6C 73 74 75 64   vssps.visualstud
        00000100   69 6F 2E 63 6F 6D 30 82  01 22 30 0D 06 09 2A 86   io.com0‚ "0   *†
        ...
        000002B0   6E 86 36 68 74 74 70 3A  2F 2F 6D 73 63 72 6C 2E   n†6http://mscrl.
        000002C0   6D 69 63 72 6F 73 6F 66  74 2E 63 6F 6D 2F 70 6B   Microsoft.com/pk
        000002D0   69 2F 6D 73 63 6F 72 70  2F 63 72 6C 2F 6D 73 69   i/mscorp/crl/msi
        000002E0   74 77 77 77 32 2E 63 72  6C 86 34 68 74 74 70 3A   twww2.crl†4http:
        000002F0   2F 2F 63 72 6C 2E 6D 69  63 72 6F 73 6F 66 74 2E   //crl.Microsoft.
        00000300   63 6F 6D 2F 70 6B 69 2F  6D 73 63 6F 72 70 2F 63   com/pki/mscorp/c
        00000310   72 6C 2F 6D 73 69 74 77  77 77 32 2E 63 72 6C 30   rl/msitwww2.crl0
        00000320   70 06 08 2B 06 01 05 05  07 01 01 04 64 30 62 30   p  +        d0b0
        00000330   3C 06 08 2B 06 01 05 05  07 30 02 86 30 68 74 74   <  +     0 †0htt
        00000340   70 3A 2F 2F 77 77 77 2E  6D 69 63 72 6F 73 6F 66   p://www.microsof
        00000350   74 2E 63 6F 6D 2F 70 6B  69 2F 6D 73 63 6F 72 70   t.com/pki/mscorp
        00000360   2F 6D 73 69 74 77 77 77  32 2E 63 72 74 30 22 06   /msitwww2.crt0" 
        00000370   08 2B 06 01 05 05 07 30  01 86 16 68 74 74 70 3A    +     0 † http:
        00000380   2F 2F 6F 63 73 70 2E 6D  73 6F 63 73 70 2E 63 6F   //ocsp.msocsp.co
        00000390   6D 30 4E 06 03 55 1D 20  04 47 30 45 30 43 06 09   m0N  U   G0E0C  
        000003A0   2B 06 01 04 01 82 37 2A  01 30 36 30 34 06 08 2B   +    ‚7* 0604  +
        000003B0   06 01 05 05 07 02 01 16  28 68 74 74 70 3A 2F 2F           (http://
        000003C0   77 77 77 2E 6D 69 63 72  6F 73 6F 66 74 2E 63 6F   www.Microsoft.co
        000003D0   6D 2F 70 6B 69 2F 6D 73  63 6F 72 70 2F 63 70 73   m/pki/mscorp/cps
        000003E0   00 30 27 06 09 2B 06 01  04 01 82 37 15 0A 04 1A    0'  +    ‚7    
        000003F0   30 18 30 0A 06 08 2B 06  01 05 05 07 03 01 30 0A   0 0   +       0 
        00000400   06 08 2B 06 01 05 05 07  03 02 30 25 06 03 55 1D     +       0%  U 
        00000410   11 04 1E 30 1C 82 1A 61  70 70 2E 76 73 73 70 73      0 ‚ app.vssps
        00000420   2E 76 69 73 75 61 6C 73  74 75 64 69 6F 2E 63 6F   .visualstudio.co
        00000430   6D 30 0D 06 09 2A 86 48  86 F7 0D 01 01 0B 05 00   m0   *†H†÷      
        ...                                                U
    </CertificateBytes>
    <Token>
    {
        "typ":"JWT",
        "alg":"RS256",
        "x5t":"i7qX-NUrehXBYdQC5PSH-TdvzXA"
    }
    </Token>
</ClientRightsContainer>

Il semble que M $ utilise le jeton Web JSON ( [(# # ~] jwt [~ # ~] ) pour envelopper les données de licence. Je suppose qu'à l'intérieur , CertificateBytes sera en quelque sorte la charge utile - vous êtes un email et d'autres détails.

Jusqu'ici pour la vue d'ensemble approximative quelles sont les données à l'intérieur.

Pour plus de souhaits, obtenez ILSpy + Reflexil (<- pour modifier/corriger les petites choses!), Puis "navigateur et corriger" les fichiers tels que c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE ** Microsoft.VisualStudio.Licensing.dll ** ou recherchez "Microsoft.VisualStudio.Services.WebApi.dll"

10
Nadu

Voir ma mise à jour à la fin, avant de lire la réponse suivante.

J'ai Windows 8 et un autre PC avec Windows 8.1

J'ai eu une erreur de licence disant "Logiciel préliminaire. Licence expirée".

La seule solution que j’ai trouvée et qui s’inspire des solutions ci-dessus (Merci!) A été d’exécuter le moniteur de processus et de voir les clés de registre exactes auxquelles on a accès au démarrage de la VS2013, à savoir:

HKCR\Licences\E79B3F9C-6543-4897-BBA5-5BFB0A02BB5C

comme ce qui est mentionné dans les posts précédents. Cependant, le moniteur de processus a déclaré que l'accès à ce registre était refusé.

Alors j'ai ouvert regedit et trouvé cette clé de registre et je ne pouvais pas l'ouvrir. Il dit que je n'ai pas la permission de le voir.

SO je devais changer sa permission:

  1. Faites un clic droit sur la clé "HKCR\Licenses\E79B3F9C-6543-4897-BBA5-5BFB0A02BB5C"
  2. Les permissions
  3. Ajouter
  4. Dans "Entrez les noms des objets à sélectionner", j'ai ajouté mon nom d'utilisateur Windows. D'accord.
  5. vérifier sur le contrôle total
  6. Avancée
  7. Propriétaire cliquez sur "Modifier"
  8. Dans "Entrez les noms des objets à sélectionner", j'ai ajouté mon nom d'utilisateur Windows. D'accord.
  9. D'accord. D'accord. D'accord.

J'ai trouvé que cette clé de registre a plusieurs sous-clés, mais vous devez redémarrer regedit pour les voir.

En voyant quelles autres clés de registre se voient refuser l'accès dans Process Monitor, je savais que VS2013 traiterait spécifiquement de ces sous-clés qui sont ACCESS DENIED: 06181 0bcad

et ces sous-clés doivent être modifiées leurs autorisations ainsi que ci-dessus.

Après avoir apporté ces modifications, tout a bien fonctionné.

La même chose a été faite pour Microsoft Visual Studio 2010, car une erreur dans la licence également et la solution a bien fonctionné.

MISE À JOUR: Il est apparu que le démarrage de Visual Studio en tant qu'administrateur avait résolu ce problème sans ce massage de registre. Il semble que cela soit arrivé à mon ordinateur après la modification du "mot de passe requis pour la connexion" supprimé dans les paramètres de l'utilisateur. (Je voulais laisser le PC commencer à fonctionner sans mot de passe après le redémarrage d'un crash ou quoi que ce soit d'autre). Cela empêchait beaucoup de programmes d'écrire dans certains dossiers, tels que des dossiers temporaires, à moins que je ne lance l'application en tant qu'administrateur. Même imprimer à partir d'Excel ne fonctionnerait pas si Excel n'était pas lancé en tant qu'administrateur.

2
Haider

La solution de suppression des informations de licence du registre fonctionne également avec Visual Studio 2013, mais comme décrit dans la réponse ci-dessus, il est important d'exécuter une "réparation" sur Visual Studio.

1
Marcel

L'ISO est probablement pré-pidded. Vous devrez supprimer la clé des fichiers d'installation. Il devrait alors vous demander une clé lors de l'installation.

1
Monstieur