Quiero ejecutar algún código si un usuario marca una casilla de verificación correspondiente durante la instalación. Después de leer el archivo de ayuda, parece que la única forma de usar la tarea es asociarla con una entrada en los Archivos/Iconos/etc. sección. Realmente me gustaría asociarlo con un procedimiento en la sección Código. ¿Se puede hacer esto? Y si se puede, cómo?Ejecutar código personalizado a través de tareas en Inno Setup
6
A
Respuesta
4
a hacer eso mediante la adición de una página de asistente personalizado que tiene casillas de verificación, y ejecutar el código para todas las casillas de verificación seleccionadas cuando el usuario hace clic en "Siguiente" en esa página:
[Code]
var
ActionPage: TInputOptionWizardPage;
procedure InitializeWizard;
begin
ActionPage := CreateInputOptionPage(wpReady,
'Optional Actions Test', 'Which actions should be performed?',
'Please select all optional actions you want to be performed, then click Next.',
False, False);
ActionPage.Add('Action 1');
ActionPage.Add('Action 2');
ActionPage.Add('Action 3');
ActionPage.Values[0] := True;
ActionPage.Values[1] := False;
ActionPage.Values[2] := False;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = ActionPage.ID then begin
if ActionPage.Values[0] then
MsgBox('Action 1', mbInformation, MB_OK);
if ActionPage.Values[1] then
MsgBox('Action 2', mbInformation, MB_OK);
if ActionPage.Values[2] then
MsgBox('Action 3', mbInformation, MB_OK);
end;
end;
Las casillas de verificación Puede ser controles estándar o elementos en un cuadro de lista, consulte la documentación Inno Setup en Pascal Scripting para más detalles.
Si desea que su código se ejecute dependiendo de si se ha seleccionado un determinado componente o tarea, utilice las funciones IsComponentSelected()
y IsTaskSelected()
.
11
No necesita definir su propia página de asistente. Simplemente puede agregarlos a la página de tareas adicionales.
[Tasks]
Name: associate; Description:"&Associate .ext files with this version of my program"; GroupDescription: "File association:"
[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = wpSelectTasks then
begin
if WizardForm.TasksList.Checked[1] then
MsgBox('First task has been checked.', mbInformation, MB_OK);
else
MsgBox('First task has NOT been checked.', mbInformation, MB_OK);
end;
end;
crédito va a Tlama para this post.
Cuestiones relacionadas
- 1. Constante Inno Setup en el Código Sección
- 2. Salir de Inno Setup Instalación desde [código]
- 3. Inno Setup - Uso correcto de [Tipos], [Componentes] y [Tareas]
- 4. Ejecutar otro instalador en una instalación de Inno Setup
- 5. Hook estándar Inno Setup checkbox
- 6. Inno Setup página personalizada
- 7. ¿Cómo uso "código" en la sección [Archivos] de Inno Setup?
- 8. Inno Setup Comprobación del proceso en ejecución
- 9. ¿Cómo puedo usar GetVolumeInformation en Inno Setup?
- 10. Inno-setup 32bit y 64bit en uno
- 11. Instalación de varias aplicaciones a la vez desde Inno Setup
- 12. Inno Setup: ¿Cómo veo la salida (traducción) del preprocesador Inno Setup?
- 13. Inno Setup Instalación y configuración de IIS
- 14. ¿Inno Setup para el servicio de Windows?
- 15. Inno Setup uninstall executable location and name
- 16. Inno Setup Renombrar archivo durante el embalaje
- 17. Crear un usuario restringido desde Inno Setup
- 18. Inno Setup - Setting Java Environment Variable
- 19. Script Inno Setup para copiar carpetas
- 20. Inno Setup: Ocultar/Deshabilitar Componente en tiempo de ejecución
- 21. Cómo agregar una tarea programada con Inno Setup
- 22. ¿Es posible cambiar el ícono de desinstalación en Inno Setup?
- 23. Actualizando el servicio de Windows usando Inno Setup
- 24. ¿Cómo se muestra un hipervínculo en Inno Setup?
- 25. ¿Cómo puedo iniciar sesión en las instalaciones de Inno Setup?
- 26. ¿Se pueden usar variables de entorno en scripts Inno Setup?
- 27. Inno Setup: cómo definir una matriz en const?
- 28. Instalar un archivo redistribuible adicional con Inno Setup
- 29. Programador de tareas de Windows para ejecutar tareas en segundos
- 30. En Inno Setup, ¿es posible agregar sentencias condicionales a lo que se ejecuta en la sección [Ejecutar]?