je suis en train de détecter et installer ReportViewer 2005 pour une .net 2.0 app je développe silencieusement i déjà téléchargé ReportViewer 2005 installateur redistribuable et j'ai ce scriptdétecter et installer reportviwer silencieusement avec l'installation de Inno
Le code pour vérifier si ReportViewer est installé
/////////////////////////////////////////////////
// check if report viewer is installed
////////////////////////////////////////////////
function IsReportViewerInstalled(version: string): boolean;
// 'v2.0.50727' .NET Framework 2.0
var
key: string;
install: cardinal;
success: boolean;
ErrorCode: Integer;
begin
// installation all report viewer
key := 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ReportViewer\' + version;
success := RegQueryDWordValue(HKLM, key, 'Install', install);
result := success and (install = 1);
end;
le code pour détecter et insall
if not IsReportViewerInstalled('v2.0.50727') then begin
ExtractTemporaryFile('ReportViewer.exe');
Log(ExpandConstant('{tmp}\ReportViewer.exe'));
if ShellExec('', ExpandConstant('{tmp}\ReportViewer.exe'), '','', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode) then begin
Result := True;
end else begin
MsgBox('ReportViewer installation failed. '+SysErrorMessage(ErrorCode), mbError, MB_OK);
Result := false;
end;
end else begin
result := true;
end;
si j'exécuter l'installation Inno dans ma machine dev qui a reportviewer installé, il affiche toujours la configuration de reportviewer et il ne s'installe pas silencieusement
qu'est-ce que je fais mal?
Modifier
Je Fount que le paramètre d'installation silen est ReportViewer.exe /q:a /c:"install.exe /q"
comment puis-je poass le /q:a /c:"install.exe /q"
au shell exécuter la commande?
Je ne vois pas le paramètre d'installation en mode silencieux pour ReportViewer.exe. Vous devez ajouter un parémètre spécifique (par exemple/q ou/silent - vous devez vérifier quelle est la bonne pour cette application). Edit: J'ai vérifié: votre paramètre manquant est '/ Q'. Ainsi, la ligne sera: 'ShellExec ('', ExpandConstant ('{tmp} \ ReportViewer.exe'), '\ Q', ExpandConstant ('{tmp}'), SW_HIDE, ewWaitUntilTerminé, ErrorCode)' – RobeN
je reçois un erreur de ligne de commande lorsque j'ai exécuté votre code 'ShellExec ('', ExpandConstant ('{tmp} \ ReportViewer.exe'), '\ Q', ExpandConstant ('{tmp}'), SW_HIDE, ewWaitUntilTerminated, ErrorCode)' – Smith
Désolé pour une faute de frappe: devrait être '/ Q', pas' \ Q' :( – RobeN