среда, 22 февраля 2012 г.

Реестр - информация об установленных SP для AutoCAD


Когда-то давно, на примере AutoCAD 2009, я изучал вопрос о том, как меняется ветка реестра, содержащая информацию об установленных для AutoCAD пакетов обновлений (Service Packs). Результат записал в текстовый файл. Сейчас случайно наткнулся на этот файл и решил выложить эту информацию в блоге, дабы её можно было быстро найти при необходимости.

*********************
AutoCAD 2009 x86 ENU:
*********************
1. После установки AutoCAD 2009, в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R17.2\ACAD-7001:409не содержится каталог "Service Packs".
2. После установки SP1 появилась ветка "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R17.2\ACAD-7001:409\Service Packs\AutoCAD 2009 - English" со следующим содержимым:

  • "PatchTitle"="AutoCAD 2009 - English Version 2"
  • "ProductName"="AutoCAD 2009 - English"
  • "PatchGUID"="{AA8F4CC2-731C-4E03-8870-A8E290432B08}"
  • "Release"="17.2.111.0"

2. После установки SP2, новых веток добавлено не было, а содержимое ветки, добавленной в п.2 стало таким:

  • "PatchTitle"="AutoCAD 2009 - English Version 3"
  • "ProductName"="AutoCAD 2009 - English"
  • "PatchGUID"="{821AFBEF-86CF-4436-9341-357EE82A9B90}"
  • "Release"="17.2.608.0"

3. После установки SP3, новых веток добавлено не было, а содержимое ветки, добавленной в п.2 стало таким:

  • "PatchTitle"="AutoCAD 2009 - English Version 4"
  • "ProductName"="AutoCAD 2009 - English"
  • "PatchGUID"="{212FDBCC-ACCD-468B-ACEF-9A491A60416E}"
  • "Release"="17.2.711.0"
Некоторое время спустя я выполнил эту проверку и для последующих версий AutoCAD: 2010, 2011, 2012 и 2013:


== AutoCAD 2010 x86 Enu ====================

1. Ветка реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.0\ACAD-8001:409" не содержит раздела "Service Packs" после
начальной установки AutoCAD 2010 x86 Enu (т.е. установка без Service Pack).

2. После установки SP1 появляется ветка "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.0\ACAD-8001:409\Service Packs\AutoCAD
2010 - English", содержащая следующие параметры:
- PatchGUID = "{F7904F20-0ABB-416F-A64B-A7CEF0A52CE3}".
- PatchTitle = "AutoCAD 2010 - English Version 2"
- ProductName = "AutoCAD 2010 - English"
- Release = "18.0.215.0"


3. После установки SP2 в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.0\ACAD-8001:409\Service Packs\AutoCAD 2010 - English" параметры содержат следующие значения:
- PatchGUID = "{4FB54E70-74D0-4447-9A6E-2B7E2C24D90C}".
- PatchTitle = "AutoCAD 2010 - English Version 3"
- ProductName = "AutoCAD 2010 - English"
- Release = "18.0.309.0"

====================================

== AutoCAD 2011 x86 Enu ====================

1. Ветка реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.1\ACAD-9001:409" не содержит раздела "Service Packs" после
начальной установки AutoCAD 2011 x86 Enu (т.е. установка без Service Pack).

2. После установки SP1.1 появляется ветка "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.1\ACAD-9001:409\Service Packs\AutoCAD 2011 - English", содержащая следующие параметры:
- PatchGUID = "{3C9BEDC4-CF64-4F39-822B-41404BDC1FBE}".
- PatchTitle = "AutoCAD 2011 - English Version 2.1"
- ProductName = "AutoCAD 2011 - English"
- Release = "18.1.116.0"


3. После установки SP2 в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.1\ACAD-9001:409\Service Packs\AutoCAD 2011 - English" параметры содержат следующие значения:
- PatchGUID = "{7A2E2994-8ECB-4F32-BD86-9468B4081F8B}".
- PatchTitle = "AutoCAD 2011 - English Version 3"
- ProductName = "AutoCAD 2011 - English"
- Release = "18.1.208.0"

====================================

== AutoCAD 2012 x86 Enu ====================

1. Ветка реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.2\ACAD-A001:409" не содержит раздела "Service Packs" после
начальной установки AutoCAD 2012 x86 Enu (т.е. установка без Service Pack).

2. После установки SP1 появляется ветка "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.2\ACAD-A001:409\Service Packs\AutoCAD 2012 - English", содержащая следующие параметры:
- PatchGUID = "{9EE7C7C7-EE79-4DC2-B1EB-B183FE7D7D75}".
- PatchTitle = "AutoCAD 2012 - English SP1"
- ProductName = "AutoCAD 2012 - English"
- Release = "18.2.107.0"


3. После установки SP2 в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.2\ACAD-A001:409\Service Packs\AutoCAD 2012 -
English" параметры содержат следующие значения:
- PatchGUID = "{2C507217-0A7B-444C-B8FE-27ED8B8FEEBC}".
- PatchTitle = "AutoCAD 2012 - English SP2"
- ProductName = "AutoCAD 2012 - English"
- Release = "18.2.205.0"

====================================

== AutoCAD 2013 x86 Enu ====================

1. Ветка реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001:409" не содержит раздела "Service Packs" после
начальной установки AutoCAD 2013 x86 Enu (т.е. установка без Service Pack). Однако в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk
\AutoCAD\R19.0" появились новые подразделы (в предыдущих версиях этого не было):
- "ACAD-B001"
- "AutoCAD 2013 - English"
- "InstalledProducts"

После установки SP1.1 появляется ветка "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001\Service Packs\AutoCAD 2013" содержащая следующие параметры:
- PatchGUID = "{F87AE6FE-FFAE-4370-A552-AC3DF321015C}".
- PatchTitle = "AutoCAD 2013 SP1.1"
- ProductName = "AutoCAD 2013"
- Release = "19.0.114.0"

Т.о. оказалось, что в AutoCAD 2013 установки SP1.1 вся, до сих пор отслеживавшаяся логика размещения SP нарушена. В данном случае компания Autodesk разместила информацию об обновлении в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001", вместо того, чтобы как и раньше, хранить её в "HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.0\ACAD-B001:409".

====================================

Вывод:
Для AutoCAD версий ниже, чем 2013, подраздел "Service Pack" следует искать по одной логике, а для AutoCAD 2013 (и наверняка всех более новых версий) - по другой.
Необходимо в обязательном порядке выполнять программную проверку наличия подраздела "Service Packs", поскольку он может отсутствовать. Если указанный раздел отсутствует, значит никаких обновлений не было установлено.
Если раздел присутствует, то в нём будет содержаться лишь один вложенный подраздел, в котором и будет находиться информация, но только о последнем установленном обновлении, а не обо всех, которые были установлены (информация о предыдущих обновлениях уничтожается, поскольку она более не актуальна).

Комментариев нет: