Package ghidra.framework.project.extensions

# Class ExtensionInstaller

java.lang.Object
ghidra.framework.project.extensions.ExtensionInstaller

public class ExtensionInstaller extends Object
Utility class for managing Ghidra Extensions.

Extensions are defined as any archive or folder that contains an `extension.properties` file. This properties file can contain the following attributes:

- name (required)
- description
- author
- createdOn (format: MM/dd/yyyy)
- version

Extensions may be installed/uninstalled by users at runtime, using the `ExtensionTableProvider`. Installation consists of unzipping the extension archive to an installation folder, currently `{ghidra user settings dir}/Extensions`. To uninstall, the unpacked folder is simply removed.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExtensionInstaller()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `install(File file)`
  Installs the given extension file.
  `static boolean`
  `installExtensionFromArchive(ExtensionDetails extension)`
  Installs the given extension from its declared archive path

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ExtensionInstaller

    public ExtensionInstaller()

- ## Method Details

  - ### install

    public static boolean install(File file)
    Installs the given extension file. This can be either an archive (zip) or a directory that contains an extension.properties file.
    Parameters:
      `file` - the extension to install
    Returns:
      true if the extension was successfully installed

  - ### installExtensionFromArchive

    public static boolean installExtensionFromArchive(ExtensionDetails extension)
    Installs the given extension from its declared archive path
    Parameters:
      `extension` - the extension
    Returns:
      true if successful