Innosetup is very powerful and can be customized through the wizard interface provided by it. However, I am not familiar with the PASCAL Language and do not know the scope of the interface that can be changed, the final result is good, so I chose to use a DLL to implement my interface. First, add the following settings in the script to disable all Inno Setup Display Interfaces: disabledirpage = yesdisablefinishedpage = response = yesdisablestartupprompt = yesdisablewelcomepage = response = yes, but the ready to install interface is displayed. Remove the ready to install interface to re-compile Inno Setup, after downloading the code, use delphi2009 (or update) to compile the Inno Setup of the Unicode version (for non-Unicode users, more old Delphi versions are required, and compilation will fail) and remove the wizard. 2006th to 2009 rows of PAS. Copy the new file to the installation directory of the original Inno Setup. // If (pageid = wpready) and not visible then begin // result: = false; // exit; // end;
Note the following points for customizing the installation interface dll:1. You cannot create an interface in the newly created thread. Otherwise, the installer has two thumbnails on the taskbar. 2. To ensure that the window does not disappear after a function is returned, you only need to let the message loop function of the window return, and then you can re-enter the loop.
Customize the working directory of the interface DLLWhen you customize the uninstall interface, you will find that you cannot run the DLL in the System32 directory and in the installer directory. However, the installation directory of the program may be modified by the user. Code is not supported when the function in the DLL is referenced. Therefore, once the user modifies the installation path of the program, the DLL cannot be called. Install it in the {win} directory to solve these problems. Guess: The program in system32 is 64-bit on the 64-bit system, and my DLL is a 32-bit program, so it cannot be run in the System32 directory, but it can be run in other directories.
Inno Setup custom installation Interface