Как изменить лицензионный ключ Visual Studio 2012, 2013 или 2015?

У меня есть копия Visual Studio 2012 Pro на моем компьютере с серийным ключом, который я больше не должен использовать, потому что мне нужно использовать другой. Моя проблема в том, что я продолжаю удалять Visual Studio, но регистрационная информация все еще существует после переустановки, и я не могу понять, какой путь реестра мне нужно удалить (я удалил несколько), но безуспешно.

Есть ли простой способ удалить регистрационную информацию или поменять ключи?

Спасибо


person FatBruno    schedule 17.09.2012    source источник


Ответы (8)


У меня была такая же проблема, и я хотел изменить ключ продукта на другой. К сожалению, это не так просто, как на VS2010.

Работают следующие шаги:

  • Удалите раздел реестра, содержащий информацию о лицензии: HKEY_CLASSES_ROOT\Licenses\77550D6B-6352-4E77-9DA3-537419DF564B.

  • Если вы не можете найти ключ, используйте sysinternals ProcessMonitor, чтобы проверить доступ к реестру VS2012, чтобы найти правильный ключ, который всегда находится в HKEY_CLASSES_ROOT\Licenses

  • После удаления этого ключа VS2012 сообщит вам, что информация о лицензии неверна. Перейдите в «Программы и компоненты» и восстановите VS2012.

  • После ремонта VS2012 возвращается к 30-дневной пробной версии, и вы можете ввести новый ключ продукта. Это также можно использовать, чтобы оставаться в цикле пробной версии и никогда не вводить производственный ключ.

person Nico    schedule 11.02.2013
comment
Установка/восстановление VisualStudio занимает оооочень много времени :D Интересно, что система делает все время. Нет процессора, нет диска, нет прогресса... - person mschmoock; 17.06.2013
comment
Чтобы быть точным, мне нужно было удалить следующий подраздел (04938): HKEY_CLASSES_ROOT\Licenses\77550D6B-6352-4E77-9DA3-537419DF564B\04938 - person mschmoock; 17.06.2013
comment
Работает отлично . Для VS15 HKEY_CLASSES_ROOT\Лицензии\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F - person Nihar Sarkar; 02.02.2018

Для тех, кому нужно будет удалить ключ продукта из Visual Studio 2015:

  1. удалить раздел реестра HKCR\Licenses\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F
  2. исправить установку Visual Studio

Все, теперь вы можете изменить ключ продукта, если это необходимо.

person Alex    schedule 09.09.2015
comment
Я сделал эти шаги для VS2015, и они сработали. Весь процесс восстановления и повторной настройки занимает довольно много времени (~ 1 час). - person Niall Connaughton; 09.11.2015
comment
@ParthAkbari: скорее всего, да, но у меня нет подтверждения этому - person Alex; 24.12.2015
comment
Работает нормально для меня - person Jainish Jariwala; 16.10.2016
comment
@ParthAkbari это было для меня, и у меня есть новейшее сообщество VS 2015, работающее на Server 2016 Essentials. - person Edward; 07.01.2017
comment
Я бы не стал использовать этот метод, я использовал его ранее сегодня и с тех пор, когда я обращаюсь к диалоговому окну открытия файла в VS2015 (и только VS2015, SMSS работает нормально), я получаю BSOD - person Peter Nimmo; 21.03.2019
comment
@PeterNimmo Я использовал этот метод на нескольких ноутбуках 2015 и 2017 годов и никогда не видел BSOD. - person Alex; 27.03.2019
comment
Вам повезло, мне не повезло. Теперь я отследил его, сломав Junctions - person Peter Nimmo; 29.03.2019
comment
Я продолжаю получать сбой каждый раз, когда использую другое приложение, которое помнит подпапку, родительская папка которой является объединенной папкой. - person Peter Nimmo; 29.03.2019
comment
Для меня этот ключ имеет 19 подпапок, я могу удалить его со всеми? - person StackTrace; 01.06.2021

Для меня с Visual Studio 2013 было недостаточно удалить лицензионный ключ и выполнить восстановление (восстановление восстановило лицензионный ключ вместо возврата к пробной версии, а запуск без восстановления (после удаления ключа) требовал срок действия лицензии истек, но мне не давали ввести новый ключ).

Мне пришлось:

  • Узнайте, какой лицензионный ключ Visual Studio искал в реестре с помощью Process Monitor (это был HKCR\Licenses\E79B3F9C-6543-4897-BBA5-5BFB0A02BB5C)
  • Полностью удалите Visual Studio 2013 (сначала сохраните CurrentSettings.vssettings)
  • Удалить лицензионный ключ из реестра вручную в regedit
  • Установите Visual Studio с помощью общедоступного веб-установщика (у которого нет встроенного лицензионного ключа — он устанавливает 30-дневную пробную версию)
  • Введите мой новый лицензионный ключ
  • (Повторно) установить обновления (в настоящее время обновление 1)
  • Восстановите настройки, импортировав резервную копию, которую я сделал из CurrentSettings.vssettings.
person Cameron    schedule 07.03.2014
comment
Спасибо за это. вы должны задать еще один вопрос с этим в качестве ответа для VS2013 - person Hades; 14.09.2014
comment
Это именно то, что сработало для меня на профессионале VS2012. Я использовал общедоступный загружаемый ISO для переустановки. Спасибо - person mishal153; 05.01.2016

Для тех из вас, кто использует Visual Studio 2017 Professional, раздел реестра:

HKCR\Лицензии\5C505A59-E312-4B89-9508-E162F8150517

Я также рекомендую вам сначала экспортировать ключ реестра, прежде чем удалять его, чтобы у вас была резервная копия, если вы случайно удалите не тот ключ.

person Bogdan Mitrache    schedule 20.06.2017

Чтобы увидеть, что находится внутри этих лицензий HKCR, используйте API Monitor v2.

API-Filter find 

    RegQueryValueExW 
        ^-Enable all from Advapi32.dll

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

образцы данных, которые будут получены из 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^

Здесь может быть полезна метка времени установки (здесь 11.10.2015). Измените это, чтобы вызвать «CryptProtectData». Для этого потребуются некоторые усилия, такие как написание небольшой программы ИЛИ остановка с ollydebug в этом месте и ручное «создание» вызова CryptProtectData...

Примечание. В этом примере я использую Microsoft® Visual Studio 2015.

-> Для быстрого проникновения в просроченный VS я рекомендую прочитать этот пост. Однако это просто хорошо для случайного использования, пока вы снова не сделаете всю ерунду с регистрацией и входом в систему должным образом;)

Итак, настоящее мясо находится здесь:
%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Licenses\ ^- Этот путь исходит из HKCU\Software\Microsoft\VisualStudio\14.0\Licenses\715f10eb-9e99-11d2-bfc2-00c04f990235\ 1

1_3jdh3uyw**.crtok**

- после некоторого Base64 декодирования:

<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>

Похоже, M$ использует веб-токен JSON (JWT) для переноса данных лицензии. Я предполагаю, что внутри CertificateBytes будет какая-то полезная нагрузка — ваш адрес электронной почты и другие данные.

Пока что для грубого обзора, какие данные внутри.

Чтобы получить дополнительные пожелания, получите ILSpy + Reflexil (‹- чтобы изменить/поправить мелочи!) и затем "просмотреть и исправить" файлы типа c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE**Microsoft.VisualStudio.Licensing.dll* * или проверьте «Microsoft.VisualStudio.Services.WebApi.dll»

person Nadu    schedule 13.12.2015
comment
рекомендует видео на YouTube. Удивительно! - person Andre Mesquita; 10.06.2016

Смотрите мое ОБНОВЛЕНИЕ в конце, прежде чем читать следующий ответ.

У меня Windows 8 и еще один компьютер с Windows 8.1.

У меня была ошибка лицензии, говорящая: «Предварительная версия программного обеспечения. Срок действия лицензии истек».

Единственное решение, которое я нашел, вдохновленное приведенными выше решениями (спасибо!), Это запустить монитор процесса и увидеть точные ключи реестра, к которым осуществляется доступ при запуске VS2013, а именно:

HKCR\Лицензии\E79B3F9C-6543-4897-BBA5-5BFB0A02BB5C

как то, что упоминалось в предыдущих сообщениях. Однако монитор процесса сказал, что доступ к этому реестру запрещен.

Поэтому я открыл regedit и нашел этот раздел реестра, но не смог его открыть. Пишет, что у меня нет разрешения на просмотр.

ТАК мне пришлось изменить его разрешение:

  1. Щелкните правой кнопкой мыши ключ «HKCR\Licenses\E79B3F9C-6543-4897-BBA5-5BFB0A02BB5C».
  2. Разрешения
  3. Добавлять
  4. В «Введите имена объектов для выбора» я добавил свое имя пользователя Windows. В порядке.
  5. проверить Полный контроль
  6. Передовой
  7. Владелец нажимает "Изменить"
  8. В «Введите имена объектов для выбора» я добавил свое имя пользователя Windows. В порядке.
  9. Ok. Ok. Ok.

Я обнаружил, что этот раздел реестра имеет несколько подключей, однако вам нужно перезапустить regedit, чтобы увидеть их.

Увидев, какие другие ключи реестра запрещены в доступе в мониторе процессов, я понял, что VS2013 будет специально обрабатывать эти подразделы, которым также ЗАПРЕЩЕНО ДОСТУП: 06181 0bcad

и эти подразделы должны быть изменены, как и выше.

После внесения этих изменений разрешений все заработало хорошо.

То же самое было сделано с Microsoft Visual Studio 2010, потому что ошибка в лицензии, и решение работало хорошо.

ОБНОВЛЕНИЕ: оказалось, что запуск Visual Studio от имени администратора решил эту проблему без этого массажа реестра. Кажется, это произошло с моим компьютером после изменения «необходимого пароля для входа», удаленного в настройках пользователя. (Я хотел, чтобы компьютер запускался без пароля после перезагрузки после сбоя или чего-то еще). Из-за этого многие программы не могли записывать в некоторые папки, такие как временные папки, если я не запускаю приложение от имени администратора. Даже печать из excel не будет работать, если excel не запущен от имени администратора.

person Haider    schedule 01.03.2015

ISO, вероятно, предварительно настроен. Вам нужно будет удалить ключ из установочных файлов. Затем он должен запросить у вас ключ во время установки.

person Monstieur    schedule 20.10.2012
comment
Где эта информация? У меня есть диски MSDN VLK, и он никогда не запрашивал ключ компакт-диска во время установки, и мой менеджер лицензий никогда не уменьшал место, и, похоже, нет никакого способа увидеть, какой ключ был фактически использован, что легко для одного из моих инженеров. - person Jon Weinraub; 13.02.2014
comment
Раньше ISO-образы Visual Studio VLK из MSDN были предварительно подготовлены. Старый интерфейс MSDN говорил, какие из ваших загрузок были предварительно подготовлены. Для ключа VS VLK вообще нет проверки лицензии. На дисках MSDN используется универсальный VLK для всех. Ключ находится в файле на самом диске. - person Monstieur; 13.02.2014
comment
Я не вижу файла setup.sdb на моем диске. Это был не ISO, это желтый диск msdn. Диск № 5093/ноябрь 2012 г. Я бы использовал реестр, если это безопасный метод, но я не видел никаких вариантов восстановления, которые позволили бы мне изменить ключ, и не слишком уверен, почему VLK был предварительно пропечен, но моя лицензия веб-сайт менеджера не уменьшился, и я обеспокоен возможными проверками. - person Jon Weinraub; 14.02.2014
comment
Если исходный диск не требовал от вас ввода ключа, то это все, о чем вам нужно заботиться. Это неактивационный ключ VLK. Установите его на новый компьютер, чтобы убедиться, что он использует старый ключ из реестра. Все мои диски MSDN Visual Studio не требовали ключа (ключ находился в одном из этих установочных файлов, если вы просматривали диск). Visual Studio не будет работать без ключа, полученного откуда-то. Встроенные ключи MSDN Visual Studio являются глобальными для всех пользователей. Это не конкретно для вас. Лицензия только на бумаге. Вы не должны устанавливать больше копий, чем разрешено. - person Monstieur; 15.02.2014
comment
Хорошо, спасибо, я так и думал. Мы купили место 2013 года с возможностью понижения версии 2012 года, а программист хотел 2012 год. Так что оно есть во всех моих записях, и я думаю, что в последний раз у меня была проблема с 2010 годом. Но спасибо за помощь (особенно когда я встрял в чей-то вопрос.. - person Jon Weinraub; 18.02.2014

Решение с удалением информации о лицензии из реестра также работает с Visual Studio 2013, но, как описано в ответе выше, важно выполнить «исправление» в Visual Studio.

person Marcel    schedule 31.01.2014