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

Для 32 битного приложения, проверить наличие установки той или иной версии моби через реестр:

HKEY_LOCAL_MACHINE\Software\Autodesk\MotionBuilder\ + «версия моби»

в качестве версии МоБи следует указывать 2009, 2010, 2011, 2012, 2013.

Получить сам путь можно по переменной InstallPath внутри указанного выше ключа.

Для 64 битного приложения следует обращаться в тот же путь реестра, но 64 битной версии.

Привожу код функций для Inno Setup 5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function MoBu_Path32(Param: String): String;
var
key, path: String;
begin
key := 'Software\Autodesk\MotionBuilder\' + Param;
Result := '';
if RegKeyExists(HKEY_LOCAL_MACHINE, key) then
begin
If RegQueryStringValue(HKEY_LOCAL_MACHINE, key, 'InstallPath', path) then
begin
Result := path;
end;
end;
end;

function MoBu_Path64(Param: String): String;
var
key, path: String;
begin
key := 'Software\Autodesk\MotionBuilder\' + Param;
Result := '';
if IsWin64 and RegKeyExists(HKLM64, key) then
begin
If RegQueryStringValue(HKLM64, key, 'InstallPath', path) then
begin
Result := path;
end;
end;
end;

function IsMoBu(Param: String): Boolean;
begin
Result := False;
if RegKeyExists(HKLM, 'Software\Autodesk\MotionBuilder\' + Param) then
begin
Result := True;
end;
end;

function IsMoBu64(Param: String) : Boolean;
begin
Result := False;
if IsWin64 and RegKeyExists(HKLM64, 'Software\Autodesk\MotionBuilder\' + Param) then
begin
Result := True;
end;
end;
?звлекаем путь установки МоБи из реестра
Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *