Merging event function (InitializeWizard) implementations from different sources

When you are reusing various feature implementations from different sources, those commonly implement the same Inno Setup event functions (like the InitializeWizard). The solution for Inno Setup 6 is very simple, as shown below. In older versions it’s more complicated. See lower. Inno Setup 6 Inno Setup 6 has event attributes features that helps solving … Read more

Placing image/control on Inno Setup custom page

That’s what TWizardPage.Surface of type TNewNotebookPage is for. with BtnImage do begin Parent := CustomPage.Surface; { … } end; Related questions: TInputDirWizardPage with Radio Buttons (Similar question about radio buttons with more code) Add additional controls to standard Inno Setup pages? Also, never use absolute coordinates and sizes. Your layout will break, when the wizard … Read more

Kill process before (re)install using “taskkill /f /im” in Inno Setup

I found a way using the BeforeInstall parameter and a simple Pascal Script function in the code section. I added a string parameter so it can be reused for multiple processes. [Files] Source: “My Service 1.exe”; DestDir: “{app}”; Flags: ignoreversion; \ BeforeInstall: TaskKill(‘My Service 1.exe’) Source: “My Service 2.exe”; DestDir: “{app}”; Flags: ignoreversion; \ BeforeInstall: … Read more