The easiest is to create custom page and show it before the installation (progress page) starts.
Prototype: function CreateCustomPage(const AfterID: Integer; const
ACaption, ADescription: String): TWizardPage;
Description: Creates a custom wizard page. The page is empty by
default; you have to create your own controls afterward and place them
on the page (by setting their Parent properties to the Surface
property of the TWizardPage instance returned by this function).
Example: See CodeClasses.iss for an example.
So create custom page, place some controls on it (file picker of directory picker) and show when needed.