[Inno Setup] Détection office "clic to run" ou non
Bonjour à tous,
je cherche à savoir s'il y a ou non une installation d'office en clic to run sur le poste car le MSACCESS.exe peut se trouver à un endroit différent selon son installation
J'ai beau avoir ou non cette clé, à chaque fois cela passe par if not.
Voici ce que j'ai dans la section CODE.
Code:
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
|
if IscomponentSelected('Main/Bureau') Or IsComponentSelected('Main/Full') then
begin
// si clé office runtime 2016 c2r alors
if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Office\ClickToRun') then
begin
CreateShellLink(ExpandConstant('{userdesktop}\monraccourci.lnk'),
'Lancer le raccourci',
ExpandConstant('{pf}\Microsoft Office\root\Office16\MSACCESS.EXE'),
ExpandConstant('"{app}\monapp"'),
ExpandConstant('{app}'),
ExpandConstant('{app}\icon.ico'),0, SW_SHOWNORMAL);
end;
// office runtime std
if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Office\ClickToRun') then then
begin
CreateShellLink(ExpandConstant('{userdesktop}\monraccourci.lnk'),
'Lancer le raccourci',
ExpandConstant('{pf}\Microsoft Office\Office16\MSACCESS.EXE'),
ExpandConstant('"{app}\monapp"'),
ExpandConstant('{app}'),
ExpandConstant('{app}\icon.ico'),0, SW_SHOWNORMAL);
end;
end; |
J'ai même essayé de faire une fonction avec une variable en booléenne (nommée pouette) celle-ci est toujours à false --'
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
function GetPathAccess(Param: String): String;
var
pouette: boolean;
begin
// es-ce qu'il est en c2r
pouette := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Office\ClickToRun');
// Si Oui donner le chemin du acces en c2r:
if pouette = true then
begin
Result := ('\Microsoft Office\root\Office16\MSACCESS.EXE'); // cette partie n'est pas correcte
end else
// sinon donner le chemin du acces en non c2r
begin
if pouette = false then
Result := ('{pf}\Microsoft Office\Office16\MSACCESS.EXE'); // cette partie n'est pas correcte
end;
end; |
Comment puis-je m'y prendre ?
p.s. Je ne suis pas un grand dev., j'adapte un setup qui installait une app. en ade qui tournais sous runtime 2002 pour installer un runtime en c2r 2016 (sauf certains postes qui ont déjà une install en runtime 2016 non c2r) car cette app. va bientôt tourner en 2016 (ce n'est pas moi qui m'en occupe)