Detecting Autocad current version and path: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Updated author links.) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{ | {{PageAuthor|anonymous}} | ||
== Description == | == Description == | ||
Here is a function to find Autocad (from Autodesk) version and installation path : | Here is a function to find Autocad (from Autodesk) version and installation path : | ||
Line 55: | Line 53: | ||
FunctionEnd | FunctionEnd | ||
</highlight-nsis> | </highlight-nsis> | ||
== The Function for version 2007 and above == | |||
<highlight-nsis> | |||
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 | |||
</highlight-nsis> | |||
[[Category:Other Products Version Detection Functions]] |
Latest revision as of 15:24, 30 August 2012
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