Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Desinstalar de forma silenciosa en inno setup o en delphi (https://www.clubdelphi.com/foros/showthread.php?t=82409)

teecweb 05-03-2013 00:21:12

Desinstalar de forma silenciosa en inno setup o en delphi
 
Holas..
Quisera saber como desinstalar en forma silenciosa es decir que no me apareza ningun mensaje en inno setup o en quizas en delphi ..gracias por sus respuestas

ecfisa 05-03-2013 03:58:19

Cita:

Empezado por teecweb (Mensaje 455993)
Holas..
Quisera saber como desinstalar en forma silenciosa es decir que no me apareza ningun mensaje en inno setup o en quizas en delphi ..gracias por sus respuestas

Hola teecweb.

Revisa estos enlaces:
Saludos.

teecweb 05-03-2013 14:48:10

Gracias por su respuesta,,eh revisado esos links..pero en realidad cuando al desinstalar por shellexec o exec llamando el ejecutable unins000 me aparece esa ventana de confirmacion al desinstalar en la forma visual que no deberia aparecer,,estare al tanto de sus prontas respuestas ..gracias..:D

ecfisa 05-03-2013 15:51:51

Cita:

Empezado por teecweb (Mensaje 456005)
Gracias por su respuesta,,eh revisado esos links..pero en realidad cuando al desinstalar por shellexec o exec llamando el ejecutable unins000 me aparece esa ventana de confirmacion al desinstalar en la forma visual que no deberia aparecer,,estare al tanto de sus prontas respuestas ..gracias..:D

Hola teecweb.

¿ Y como estas llamando a la función ShellExecute ? ¿ Podrías poner el código textual ?

Saludos.

nlsgarcia 05-03-2013 16:59:30

teecweb,

Cita:

Empezado por teecweb
...Quisera saber como desinstalar en forma silenciosa...

Revisa este código:
Código Delphi [-]
...
FileName := ExtractFileDir(path) + '\Desinstalar' + '\unins000.exe' + ' /VERYSILENT' + ' /SUPPRESSMSGBOXES';
DesistalarItem(FileName);
El código anterior utiliza los parámetros /VERYSILENT y /SUPPRESSMSGBOXES para una desinstalación automática.

El detalle de los parámetros lo puedes encontrar en el link: http://www.jrsoftware.org/ishelp/ind...=uninstcmdline

El link mencionado fue sugerido anteriormente en el Msg #2

Espero sea útil :)

Nelson.

teecweb 05-03-2013 18:04:28

este es el filename :
Código Delphi [-]
FileName:=ExtractFileDir(path)+'\Desinstalar\'+'unins000.exe';
 procedure desistalarItem(const FileName: string);
 var
  ErrorCode: Integer;
                     begin
                     if not Exec(FileName,'', '', SW_SHOW, ewWaitUntilTerminated, ErrorCode) then
                           begin
                            MsgBox('DeinitializeSetup:' #13#13 'Execution of ''' + FileName + ''' failed. ' + SysErrorMessage(ErrorCode) + '.', mbError, MB_OK);
                           end
                     end;
Entonces cada de vez que ejecuto unins000.exe sale el mensaje de confirmacion predefinido por inno setup preguntando si desea desinstalar ..lo que requiero es que no salga ese mensaje de confirmacion..gracias por sus respuestas.

teecweb 05-03-2013 18:24:11

Con respecto al mensaje de nlsGarcia al colocar esos comandos al costado de la ruta lo toma como todo fuera una ruta.
Código Delphi [-]
 FileName:=ExtractFileDir(path)+'\Desinstalar\'+'unins000.exe' + ' /VERYSILENT' + ' /SUPPRESSMSGBOXES';
y sale error 'El nombre del directorio no existe'..gracias por tu respuesta

ecfisa 05-03-2013 18:51:48

Hola teecweb.

Proba de este modo:
Código Delphi [-]
...
  ShellExecute(Handle,
               'open',
               PChar(FileName), // uninst...
               '/SILENT',
               nil,
               SW_SHOWNORMAL);  
...
Todos los detalles sobre ShellExecute en este enlace: ShellExecute function.

Saludos.

nlsgarcia 05-03-2013 20:02:47

teecweb,

Cita:

Empezado por teecweb
...al colocar esos comandos al costado de la ruta lo toma como todo fuera una ruta...

Revisa este código:
Código Delphi [-]
procedure DesistalarItem(const FileName: string);
var
   ErrorCode : Integer;
   Param : String;

begin
   Param :=  ' /VERYSILENT /SUPPRESSMSGBOXES';
   if not Exec(FileName,Param, '', SW_SHOW, ewWaitUntilTerminated, ErrorCode) then
   begin
      MsgBox('DeinitializeSetup:' #13#13 'Execution of ''' + FileName + ''' failed. ' + SysErrorMessage(ErrorCode) + '.', mbError, MB_OK);
   end
end;
El código anterior incluye los parámetros de Desinstalación Automática en Inno Setup en la Función Exec justo antes de la ejecución del programa de Uninstall.

Espero sea útil :)

Nelson.

teecweb 06-03-2013 05:29:19

los comandos funcionaron muy bien


La franja horaria es GMT +2. Ahora son las 09:56:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi