Detecting Autocad current version and path
From NSIS Wiki
Jump to navigationJump to search
Author: anonymous (talk, contrib) |
Description
Here is a function to find Autocad (from Autodesk) version and installation path :
- $1 version number
- $2 ACAD-ID InstallId
- $3 path to acad.exe
The Function
Function GetCurrentAutoCADKey ;// ===================================================================== ;// Construct a product key for the last AutoCAD run or installed. ;// This is referred to as the "Primary" AutoCAD. All CLSID entries ;// and path references in the registry should be consistent with this ;// entry. ;// Parameters ;// $1 Upon successful return ;// this will contain the fully qualified key that ;// will be found under HKEY_LOCAL_MACHINE ;// $2 Upon successful return ;// will contain the ACAD-ID InstallId ;// $3 Upon successful return ;// this will contain the path to acad.exe that is ;// associated with the current AutoCAD. ;// ===================================================================== ;// Inspect the CurVer value at the ..\AutoCAD level to ;// determine the major release version key. This will ;// point us to a section in the registry based upon the ;// version number. ReadRegStr $1 HKLM "Software\Autodesk\AutoCAD" "CurVer" ;// Must have the release version IfErrors 0 NoError1 Goto Error NoError1: ;// Inspect the CurVer value at the ..\AutoCAD\szKey level to ;// determine the registry key id. This will point us to a ;// major registry key where the Applications Subkey can be found ReadRegStr $2 HKLM "Software\Autodesk\AutoCAD\$1" "CurVer" ;// Must have the ID IfErrors 0 NoError2 StrCpy $1 "" Goto Error NoError2: ReadRegStr $3 HKLM "Software\Autodesk\AutoCAD\$1\$2" "AcadLocation" ;// Must have the Path IfErrors 0 NoError3 StrCpy $1 "" StrCpy $2 "" Goto Error NoError3: Error: FunctionEnd
The Function for version 2007 and above
Function GetCurrentAutoCADKey ;// ===================================================================== ;// Construct a product key for the last AutoCAD run or installed. ;// This is referred to as the "Primary" AutoCAD. All CLSID entries ;// and path references in the registry should be consistent with this ;// entry. ;// Parameters ;// $1 Upon successful return ;// this will contain the fully qualified key that ;// will be found under HKEY_LOCAL_MACHINE ;// $2 Upon successful return ;// will contain the ACAD-ID InstallId ;// $3 Upon successful return ;// this will contain the path to acad.exe that is ;// associated with the current AutoCAD. ;// ===================================================================== ;// Inspect the CurVer value at the ..\AutoCAD level to ;// determine the major release version key. This will ;// point us to a section in the registry based upon the ;// version number. ReadRegStr $1 HKCU "Software\Autodesk\AutoCAD" "CurVer" ;// Must have the release version IfErrors 0 NoError1 Goto Error NoError1: ;// Inspect the CurVer value at the ..\AutoCAD\szKey level to ;// determine the registry key id. This will point us to a ;// major registry key where the Applications Subkey can be found ReadRegStr $2 HKCU "Software\Autodesk\AutoCAD\$1" "CurVer" ;// Must have the ID IfErrors 0 NoError2 StrCpy $1 "" Goto Error NoError2: ReadRegStr $3 HKLM "Software\Autodesk\AutoCAD\$1\$2" "Location" ;// Must have the Path IfErrors 0 NoError3 StrCpy $1 "" StrCpy $2 "" Goto Error NoError3: Error: FunctionEnd