Package com.install4j.api.context
Interface InstallerContext
- All Superinterfaces:
Context
The context provided by the installer.
In addition to the methods in the
Context
interface, this extended context offers methods that are specific
to the installer.-
Method Summary
Modifier and TypeMethodDescriptionReturns the current media file.Get the name of the current media file.void
installDirectory
(File directory, UninstallMode uninstallMode) Creates a directory.boolean
installFile
(File sourceFile, File destFile) Installs a file.boolean
installFile
(File sourceFile, File destFile, FileOptions options) Installs a file.boolean
installFile
(File sourceFile, File destFile, FileOptions options, ProgressInterface progressInterface, int fromPercent, int toPercent) Installs a file.boolean
Returns whether the installer is or will be updating an existing version of the same program.void
registerUninstallFile
(File file) Registers an arbitrary file for uninstallation.void
setInstallationDirectory
(File installationDirectory) Set the installation directory programmatically.Methods inherited from interface com.install4j.api.context.Context
addInstallerEventListener, addToClassPath, cancel, finish, getActionById, getActions, getActions, getAddOnApplicationId, getApplicationId, getApplicationName, getBooleanVariable, getCompilerVariable, getContentDirectory, getDefaultInstallationDirectory, getDestinationFile, getDestinationFile, getDestinationFileInfo, getExternalFile, getExternalFile, getExtraCommandLineArguments, getFileSetById, getFileSetByName, getFileSets, getFirstAction, getFirstScreen, getId, getId, getInstallationComponentById, getInstallationComponents, getInstallationDirectory, getLanguageId, getLauncherById, getLaunchers, getMediaFileId, getMessage, getMessage, getProgressInterface, getResourceDirectory, getScreenById, getScreens, getScreens, getVariable, getVariableNames, getVersion, getWizardContext, goBack, goBackInHistory, goBackInHistory, goForward, gotoScreen, gotoScreen, handleCriticalException, hasBeenElevated, initializeLazilyCreatedScreens, isArchive, isCancelling, isConsole, isErrorOccurred, isGui, isRebootRequired, isUnattended, registerHiddenVariable, registerResponseFileComment, registerResponseFileVariable, removeInstallerEventListener, runElevated, runScript, runUnelevated, runWithSuspendedActions, setErrorOccurred, setVariable, triggerReboot, unregisterResponseFileVariable
-
Method Details
-
setInstallationDirectory
Set the installation directory programmatically. Based on the configuration in the media wizard, there is a default installation directory. The "Installation directory" screen will suggest the location returned byContext.getInstallationDirectory()
and subsequently callsetInstallationDirectory
with the user selection. To change the default installation directory, you could call this method from a "Run script" action that is added to the "Startup" screen.- Parameters:
installationDirectory
- the new installation directory
-
isUpdateInstallation
boolean isUpdateInstallation()Returns whether the installer is or will be updating an existing version of the same program. This method returnstrue
ifApplicationRegistry.isUpdateDirectory(File)
returnstrue
for the currently set installation directory (Context.getInstallationDirectory()
.- Returns:
true
orfalse
.
-
getInstallerFile
File getInstallerFile()Returns the current media file. On macOS it returns the base directory of the installer app bundle.- Returns:
- the current media file. Returns
null
if you debug the installer, since there is no installer file in that case.
-
getMediaName
String getMediaName()Get the name of the current media file.- Returns:
- the original file name of the media file being installed without the file extension.
-
installFile
Installs a file. This is the same as callinginstallFile(File, File, FileOptions)
withnew FileOptions(sourceFile.lastModified())
. The uninstaller will uninstall a file that has been installed with this method. The overwrite mode will beOverwriteMode.ALWAYS_ASK_EXCEPT_FOR_UPDATE
and the uninstaller modeUninstallMode.IF_CREATED
.- Parameters:
sourceFile
- the file to be installed.destFile
- the destination file.- Returns:
- whether the installation was successful or not
- Throws:
UserCanceledException
- if the user cancels the installation.
-
installFile
boolean installFile(File sourceFile, File destFile, FileOptions options) throws UserCanceledException Installs a file. This is the same as callinginstallFile(File, File, FileOptions, ProgressInterface, int, int)
with aProgressInterface
ofnull
. TheFileOptions
parameter determines the overwrite and uninstall modes.- Parameters:
sourceFile
- the file to be installed.destFile
- the destination file.options
- the installation and uninstallation options.- Returns:
- whether the installation was successful or not
- Throws:
UserCanceledException
- if the user cancels the installation.
-
installFile
boolean installFile(File sourceFile, File destFile, FileOptions options, ProgressInterface progressInterface, int fromPercent, int toPercent) throws UserCanceledException Installs a file. The method will try to copy the source file to the destination file. TheFileOptions
parameter determines the overwrite mode and the uninstall mode. With this method, the progress interface will be updated during the installation. Use this method if you install very large files.Note that the progress bar is only available if this method is called from an action and the action is associated with a screen that offers a progress interface with a progress bar, such as the "Installation" screen or the customizable "Display progress" screen.
- Parameters:
sourceFile
- the file to be installed.destFile
- the destination file.options
- the installation and uninstallation options.progressInterface
- the interface for displaying progress during the file installation. The current progress interface can be obtained fromContext.getProgressInterface()
.fromPercent
- the start percentage value for the file installation. The progress interface will be advanced starting with this percentage value.toPercent
- the end percentage value for the file installation. The progress interface will be advanced up to this percentage value.- Returns:
- whether the installation was successful or not
- Throws:
UserCanceledException
- if the user cancels the installation.
-
installDirectory
Creates a directory. The directory will be deleted by the uninstaller if all its containing files and directories are also uninstalled and theUninstallMode
requires an uninstallation. This method is only necessary if the directory will be empty and you do not know if the directory will contain files. If you install a known set of files, you can just use theinstallFile(...)
methods without creating the directory first.- Parameters:
directory
- the directory to be created. All parent directories will be created if necessary.uninstallMode
- the behavior for uninstallation. It is recommended to useUninstallMode.IF_CREATED
by default.
-
registerUninstallFile
Registers an arbitrary file for uninstallation.- Parameters:
file
- the file that should be removed when uninstalling the application.
-