Tengo un proyecto Inno Setup que quiero verificar si la aplicación se está ejecutando realmente antes de desinstalarla. Intenté de muchas maneras pero todo falla silenciosamente, cuando se ejecuta en Windows 7. Por ejemplo, el siguiente script que comprueba el proceso notepad.exe
usando psvince.dll
siempre devuelve false
independientemente de si el Bloc de notas se está ejecutando o no.Inno Setup Comprobación del proceso en ejecución
Usé psvince.dll
en una aplicación C# para comprobar, si funciona en Windows 7 y funciona sin ningún problema. Así que mi mejor suposición es que el instalador no se puede ejecutar correctamente con UAC habilitado.
[Code]
function IsModuleLoaded(modulename: String): Boolean;
external '[email protected]:psvince.dll stdcall';
function InitializeSetup(): Boolean;
begin
if(Not IsModuleLoaded('ePub.exe')) then
begin
MsgBox('Application is not running.', mbInformation, MB_OK);
Result := true;
end
else
begin
MsgBox('Application is already running. Close it before uninstalling.', mbInformation, MB_OK);
Result := false;
end
end;
Tengo el mismo problema, pero el AnsiString no me ayudó. –