I need to ask the user for a password during install, which is then used as part of a command which runs after installation. I'm using a custom page to do this and it works fine.
I also need to ask the same question during an uninstall, which is used as part of a command which runs after uninstall.
I've checked the help and there does not seem to be a PageID for uninstalls, which I can use in my CreateInputQuery
function. I don't particularly mind, if the page is displayed at the start, middle or end of the uninstall, as long as it is displayed.
I don't want to use the MsgBox
for the uninstall as I want the look and feel of a standard page.
Any tips on how I can achieve this?
Luckily Inno Setup gives enough abilities to build own forms so you can imitate any page of uninstall form on another modal form. Here's what I managed to create. The form takes dimensions from
UninstallForm
, contains aTNewNotebook
control and buttons to jump between pages and to cancel the dialog.Usage is like
You can modify the uninstall form to behave like the install form (with pages and the Next/Back buttons).
In the
InitializeUninstallProgressForm
:UninstallProgressForm.InnerNotebook
(or the.OuterNotebook
).UninstallProgressForm.ShowModal
.See also Inno Setup - How to create a OuterNotebook/welcome page in the uninstaller?
Inno does not currently support wizard pages during uninstall. You will need to use Forms instead.
I'm using InnoSetup 5.4.2 and in the docs are several Uninstall Event Functions including: procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
You should be able to create an input page within the [code] section.