He leído la siguiente publicación. Mi código se ve exactamente lo mismo, pero no funciona:¿Cómo verificar con inno-setup, si un proceso se está ejecutando en un windows 2008 r2 64bit?
Inno Setup Checking for running process
he copiado el ejemplo de http://www.vincenzo.net/isxkb/index.php?title=PSVince
Pero el ejemplo doe no está trabajando bien, incluso si cambio el código de la siguiente manera:
[Code]
function IsModuleLoaded(modulename: AnsiString): Boolean;
external '[email protected]:psvince.dll stdcall';
El código siempre devuelve falso (el programa no se está ejecutando, incluso si está ejecutándose). Testet en Windows 2008 R2 y Windows 7
De hecho, quiero comprobar si el archivo tomcat5.exe se está ejecutando o no. Entonces creo que no puedo trabajar con un AppMutex.
¿Alguna idea?
ACTUALIZACIÓN he visto https://code.google.com/p/psvince/source/detail?r=5 pero no puedo encontrar ningún hecho acerca de la compatibilidad de esa DLL.
CÓDIGO ISS completo:
[Setup]
AppName=PSVince
AppVerName=PSVince 1.0
DisableProgramGroupPage=true
DisableStartupPrompt=true
OutputDir=.
OutputBaseFilename=testpsvince
Uninstallable=false
DisableDirPage=true
DefaultDirName={pf}\PSVince
[Files]
Source: psvince.dll; Flags: dontcopy
[Code]
function IsModuleLoaded(modulename: AnsiString): Boolean;
external '[email protected]:psvince.dll stdcall';
function InitializeSetup(): Boolean;
begin
if(IsModuleLoaded('notepad.exe')) then
begin
MsgBox('Running', mbInformation, MB_OK);
Result := false;
end
else
begin
MsgBox('Not running', mbInformation, MB_OK);
Result := true;
end
end;
También se le preguntó sobre los [grupos de Inno Setup] (http://news.jrsoftware.org/read/article.php?id=95589&group=jrsoftware.innosetup#95589). – Deanna
Sí, eso es correcto. Gracias por su respuesta de usenet. Ya había visto el r5-commit de psvince, pero no pude encontrar hechos sobre la compatibilidad. –
Deanna Probé el Bugfix de r5-commit de psvince. De hecho, hacer un 'IsModuleLoaded ("app.exe") o IsModuleLoaded2 ("app.exe")' y parece funcionar. si lo publicaras como respuesta, lo aceptaré. –