Summary
There may be times when you find that InstallAnywhere?s included panels don?t meet your needs. InstallAnywhere?s API addresses this with the introduction of Custom Code Panels.Synopsis
There may be times when you find that InstallAnywhere?s included panels don?t meet your needs. InstallAnywhere?s API addresses this with the introduction of Custom Code Panels. Custom Code Panels are the graphical equivalent of Custom Code Actions. They allow you to present a UI to your end user in combination with any task that you may need in a graphical installer.Discussion
The Custom Code Panel provides you with a framework to which you can add components necessary for your particular task. Each Custom Code Panel extends the core InstallAnywhere install panel, and as such provides your custom developed panel with the same look and feel, and same available elements as the standard InstallAnywhere panels. To create a custom action, your class needs to extend the abstract class com.zerog.ia.api.pub.CustomCodePanel. This class provides the interface for interacting with the InstallAnywhere installer.package com.zerog.ia.customcode.samples;
import com.zerog.ia.api.pub.*;
public class SamplePanel extends CustomCodePanel
{
public boolean setupUI( CustomCodePanelProxy customCodePanelProxy ) {}
public void panelIsDisplayed() {}
public boolean okToContinue() {}
public boolean okToGoPrevious(){}
public String getTitle() {}
public void panelIsDisplayed() {}
public boolean okToContinue() {}
public boolean okToGoPrevious(){}
public String getTitle() {}
}
Description of public boolean setupUI(CustomCodePanelProxy customCodePanelProxy) {}
This method gets called prior to the Panel being displayed. This method is useful for initializing the contained Components and variables. Use the setupUI method to setup the UI and add components to our panel. This step includes adding labels, textfields buttons, and an ActionListener. You?ll want to ensure that you specify a LayoutManager for your panel. Though Custom Code Panel does specify a default FlowLayout, by specifying the LayoutManager your components appear as expected within the InstallAnywhere Custom Code Panel framework.
Description of public void panelIsDisplayed(UninstallerProxy up) {}
This method is called immediately after the Panel is displayed. This is useful for doing some processing while the Panel is displayed, without having to wait for the okToContinue method to be called. Of course, this method will never be called if setupUI() returns false.
Description of public boolean okToContinue() {}
This method gets called prior to continuing on with the installer. If this method returns true, then the installer continues to the next action, otherwise the installer prevents the user from continuing. This is useful for verifying end-user input or setting InstallAnywhere variables.
Description of public boolean okToGoPrevious() {}
Similar to okToContinue(), this method gets called prior to returning to a previous step in the installer if the end user clicks the previous button. In the SamplePanel this method simply returns true.
Description of public String getTitle() {}
This method returns the String to be displayed as the title of this panel. In SamplePanel ?Launch URL? is returned as the title.
Description of CustomCodePanel member variables
The CustomCodePanel class provides ?CustomCodePanelProxy customCodePanelProxy? as a member variable. This panel allows developers to access the proxy at any point during execution of the custom code panel, rather than only during setupUI. While setupUI is called, it still receives the CustomCodePanelProxy as a parameter ( for ease of use as well as backward compatibility). Inside this method, it is important to note that you can use either the passed proxy, or the member variable proxy, and receive the exact same functionality.
Additional Information
For more information, see the Javadoc for CustomCodePanel located at <IAHOME>\javadoc\index.html.
Was this helpful?
Related Articles
Using a Custom Code Action/Panel in an Installer with InstallAnywhere 11Number of Views How to Include Custom Code Using InstallAnywhere 12Number of Views How to Disable or Hide Buttons on a Custom Code Panel 4Number of Views Enumerating InstallAnywhere Variables at Run Time Using Custom Code Action 6Number of Views Setting an InstallAnywhere Variable from within Custom Code 7Number of Views
Revenera Assistant
Online
Hi, I am Reva - Ask me anything.
Updates
No new updates
Chat
Home
Updates
/**/
Thanks for the feedback!
Your feedback has been saved.Rate this response:
1
2
3
4
5
Add Additional feedback ( Optional )
0/240
English
English
Language changed successfully
Something went wrong
Email sent successfully
Something went wrong
Case create successfully
Are you sure you want to cancel
the case creation?
Please select a product to submit the case.
Please select a product version to submit the case.
0/255
Upload Attachment
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to cancel the case creation?
Case closed successfully
File Upload
Maximum file size allowed is 3 MB.
File type not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
© 2026 Flexera Software. All Rights Reserved.
Case id: 00001065
Activity: Status change: 2 hours ago