Solución:
Prueba esto:
ShellExec('', 'msiexec.exe',
ExpandConstant('/I "{tmp}packagefile.msi" /qb'),
'', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
O:
[Files]
Source: file.msi; DestDir: {tmp}; Flags: deleteafterinstall;
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}file.msi"" /qb"; WorkingDir: {tmp};
Nota que: estoy usando Inno Setup 5.5.3 en Windows 7, y que este código es para el script Inno Setup en la sección de ejecución. Con este código puedes ejecutar msi
archivos sin ningún problema. Aquí está el código:
[Run]
Filename: `{src}PhysX.msi;` Description: Nvidia PhysX; Verb: open; Flags: shellexec postinstall waituntilterminated runascurrentuser skipifsilent
Sobre la base de la respuesta que dio @kobik. Tuve que incluir el ‘.exe’ en el nombre de archivo. Al igual que:
if not ShellExec('', 'msiexec.exe', ExpandConstant('{tmp}packagefile.msi'),
'', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode)
then
MsgBox('Msi installer failed to run!' + #13#10 + ' ' +
SysErrorMessage(ErrorCode), mbError, MB_OK);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)