par
Jonathan » 03 nov. 2011, 15:53
Bonjour,
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;
La ligne qui pose problème est donc la suivante :
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...
Bonjour,
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éé [size=85](ou plutôt pompé et adapté)[/size] 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]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;
[/code]
[u]La ligne qui pose problème est donc la suivante :[/u]
[b]ShellExec('open', ExpandConstant('{app}\dotNetFx40_Full_x86_x64.exe'), '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);[/b]
Pourriez-vous m'aiguiller ? N'hésitez pas à me demander des choses si je n'ai pas été assez clair...