Bonjour,
Je souhaite installer 2 applications (App1 et App2) "liées" entre elles: l'App1 exécute App2 avec certains paramètres.
Il faut donc que App1 connaisse le chemin d'installation de App2 pour pouvoir la lancer. Pour cela, j'utilise les clefs de registre qui stockent les chemins des applications.
On souhaite une installation avec l'arborescence suivante:
{app}\App1.exe
{app}\..\App2\App2.exeon monte d'un répertoire pour créer le répertoire App2
avec {app} contenant (par exemple) "C:\Company\App1"
L'installation des fichiers se fait sans erreur dans la section [Files]
Dans la section [Registry], j'ai le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Source: Fr\App1.exe; DestDir: {app}; Source: Fr\App2.exe; DestDir: {app}\..\App2;
Dans la section [Code], j'ai implémenté la fonction GetPathApp2 qui ne me retourne pas ce que je veux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Root: HKLM; Subkey: SOFTWARE\Company\App1\; ValueType: string; ValueName: ApplicationPath; ValueData: {app}; Tasks: ; Languages: Root: HKLM; Subkey: SOFTWARE\Company\App2\; ValueType: string; ValueName: ApplicationPath; ValueData: {code:GetPathApp2|{{app}: en sortie de la fonction, j'ai: {app\..\App2
Voyez-vous erreur dans ce qui est fait et/ou une bonne méthode pour obtenir ce répertoire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function GetPathApp2(_Param: string): String; begin Result:= _Param + '\..\App2' ; end;
Bonne journée.
Partager