Hi,
Thank you for your interest in Advanced Installer.
We need to be able to have several different installation paths within the installer, so I'd like to be able to display dialogs conditionally (based on a mode variable I create and set at the beginning of the process). Is this possible?
Yes, Advanced Installer allows you to do this.
In the "Files and Folders" page we have a list of the most used installation folders in which you can place your files. If you need a folder that is not specified in this list you can set a custom one like this:
- in the "Install Parameters" page you create a public property (uppercase letters), for example
MY_DIR with the value "C:\" (your custom path)
- in the "Files and Folders" page you create a property-based folder using MY_DIR
- at runtime MY_DIR will be resolved to the value you specified when you created the property
You can read more about the "Install Parameters" and "Files and Folders" pages here:
http://www.advancedinstaller.com/user-g ... eters.html
http://www.advancedinstaller.com/user-g ... lders.html
Also, we have a tutorial that will help you create a simple installation:
http://www.advancedinstaller.com/user-g ... imple.html
You can set which dialogs will be shown in the "Dialogs" page. Also, the Dialog Editor feature allows you to display the dialogs conditionally by using control events. Note that the Dialog Editor feature is available only in an Enterprise project which requires an Enterprise license (you can also test this feature in the trial version).
For more information about the "Dialogs" page and the "Dialog Editor" please see this page:
http://www.advancedinstaller.com/user-g ... ditor.html
You can read more about control events here:
http://www.advancedinstaller.com/user-g ... ditor.html
Let me know if you need an example of how to display a dialog conditionally (just mention what the desired behavior would be).
We also need to be able to associate custom actions with dialog controls.
This can be done by using the "DoAction" control event in the "Published Events" tab of the control. Note that this type of custom actions will be scheduled under the "UI Custom Actions" sequence in the "Custom Actions" page.
You can read more about the "Custom Actions" page here:
http://www.advancedinstaller.com/user-g ... -page.html
Also, we need to be able to pass data back from a DLL executed by a custom action, and then use that data in the installation. Is this possible?
This can be done by using public properties (that will store the data) and by creating a "New Attached Custom Action" under the "UI Custom Actions" sequence. Inside the DLL you can get/send information from/to the installation by using the MsiGetProperty/MsiSetProperty functions.
You can read more about these functions here:
http://msdn2.microsoft.com/en-us/library/aa371681.aspx
http://msdn2.microsoft.com/en-us/library/aa370134.aspx
If you have any other questions, don't hesitate to ask.
Regards,
Cosmin