Comme j'aime beaucoup ce forum, j'y poste mon problème, bien qu'incertain de sa bonne place ici...
J'ai créé une petite application en VB ; et j'ai décidé de passer par Inno Setup pour y inclure le framework .NET nécessaire au fonctionnement de mon application. J'ai créé (ou plutôt pompé et adapté) un code qui permet de lancer l'install du framework s'il n'est pas présent ; mais il a une lacune... (voir les commentaires dans le code)
Code : Tout sélectionner
begin
NetFrameWorkInstalled := fileExists('C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe');
// je déclare une variable qui renvoie "true" si un fichier relatif à la bonne installation du framework est présent, sinon elle renvoie "false"
if NetFrameWorkInstalled then
// s'il existe, alors le résultat sera "true" et on démarrera l'application de manière invisible pour l'utilisateur
begin
Result := true;
end else
// sinon, on lui annonce la mauvaise nouvelle, en lui proposant s'il veut installer le framework
begin
Result1 := MsgBox('L''application requiert le .NET Framework v4.0.30319. Voulez vous l''installer maintenant et relancer cette installation ensuite ?',
mbConfirmation, MB_YESNO) = idYes;
// s'il répond non, tout est fini
if Result1 =false then
begin
Result:=false;
end else
// mais s'il répond oui, on lance l'installation du framework (que j'ai inclus dans le package créé avec Inno Setup).
// et c'est là que j'ai mon problème ! J'aimerais que quand l'utilisateur clique sur "oui", l'installation du framework se lance. Or rien ne se passe, alors que je l'ai incluse dans la section "[Files]" de mon script dans Inno Setup...
begin
ShellExec('open',
ExpandConstant('{app}\dotNetFx40_Full_x86_x64.exe'),
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
end;
end;
ShellExec('open', ExpandConstant('{app}\dotNetFx40_Full_x86_x64.exe'), '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
Pourriez-vous m'aiguiller ? N'hésitez pas à me demander des choses si je n'ai pas été assez clair...