FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Comprobar puerto 80 desde inno setup
Hola soy nuevo en este hilo y queria explicaros mi caso, quizá no esté dando con el hilo adecuado, pero tengo que empezar por algun sitio.
Estoy haciendo un instalador con inno setup 5.11 que utiliza pascal scripting y necesitaría comprobar si el puerto 80 , ya está ocupado. Esto viene porque también instalaré apache con el instalador y claro si el puerto ya está ocupado... Muchas gracias por vuestra atención... |
#2
|
||||
|
||||
Inno Setup permite cargar y utilizar una DLL. Mira en la ayuda del mismo, en la sección "Pascal Scripting: Using DLLs" para más información.
|
#3
|
||||
|
||||
Bueno, la dll para comprobar si el puerto esta ocupado te la doy yo.
La librería anterior exporta la función "EstaOcupado" que devuelve TRUE si el puerto esta ocupado. Desde delphi la llamaríamos así: Al parecer, según Ñuño, con Pascal Scripting se pueden llamar funciones incluidas en una dll, así que con esto debería ser suficiente para hacer lo que tu quieres. Última edición por seoane fecha: 26-03-2007 a las 15:09:27. |
#4
|
||||
|
||||
Estuve haciendo un par de pruebas en Inno setup, y teniendo en cuenta que es el primer script que hago no parece muy difícil. Añadí la dll "Puertos.dll" a los archivos del proyecto y utilizo el siguiente script:
Código:
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] AppName=My Program AppVerName=My Program 1.5 AppPublisher=My Company, Inc. AppPublisherURL=http://www.example.com/ AppSupportURL=http://www.example.com/ AppUpdatesURL=http://www.example.com/ CreateAppDir=no OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: "C:\Puertos.dll"; DestDir: "{tmp}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [code] //importing a Windows API function function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall'; //importing a custom DLL function function EstaOcupado(Puerto: Integer): Boolean;external 'EstaOcupado@files:Puertos.dll stdcall'; function NextButtonClick(CurPage: Integer): Boolean; var hWnd: Integer; begin if CurPage = wpWelcome then begin hWnd := StrToInt(ExpandConstant('{wizardhwnd}')); if EstaOcupado(80) then MessageBox(hWnd, 'Esta ocupado', 'MessageBoxA', MB_OK) else MessageBox(hWnd, 'No esta ocupado', 'MessageBoxA', MB_OK); end; Result := True; end; Última edición por seoane fecha: 26-03-2007 a las 16:06:19. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda con inno setup | Alexita22 | OOP | 1 | 09-08-2006 07:12:25 |
inno setup 5 | Cosgaya | Varios | 0 | 10-01-2006 13:09:38 |
Inno Setup Ini? | marceloalegre | Varios | 2 | 07-12-2005 20:49:17 |
ayuda con inno setup | Clantt | Varios | 1 | 07-10-2005 17:30:11 |
Inno Setup | tarco35 | Varios | 0 | 09-04-2005 16:48:01 |
|