Skip to content

Official Installer for the rich client application PySSA.

License

Notifications You must be signed in to change notification settings

urban233/ComponentInstaller

Repository files navigation

Component Installer for deploying PySSA

License: GPL v3 Maintenance GitHub issues GitHub contributors GitHub release

Contents of this document

Description

The Component Installer is a software tool designed for use as a component-based installer. It is capable of addressing a range of deployment contexts that typically necessitate more intricate configuration than is typically required in other scenarios. The PySSA Installer serves as a case study demonstrating the potential utility of the component-based installation methodology.

Contents of this repository

Sources

The repository comprises four distinct source code units.

  • src/main/java
    • The package contains the communicator class, which is utilized for communication with WindowsTasks.exe.
  • src/main/kotlin
    • The package contains the main source code, including gui and model.
  • WindowsWrapper/WindowsCmdElevator
    • The package contains the class to elevate a normal cmd shell with admin privileges.
  • WindowsWrapper/WindowsTasks
    • The package contains the communicator, which facilitates communication with the Kotlin application, as well as a number of useful classes for the management of the MS Windows operating system.

Documentation

The "deployment" folder contains a user guide as PDF file. This PDF file is also available through the help menu item within the PySSA Component Installer. The user guide explains the installation and uninstallation of every component as well as the update procedure for ColabFold and PySSA. Furthermore, it contains a troubleshooting section for WSL2 and ColabFold.

Assets

The "assets" folder contains all logos including the WSL2, ColabFold and PySSA logo, as well as the PySSA Component Installer logo. If you are using PySSA Component Installer for your own projects, you are welcome to give credit to PySSA Component Installer by using the logo in your presentations, etc.

Build

The Component Installer consists of a Kotlin/Java project and a C# solution with two projects.

Windows

To deploy the installer on a Microsoft Windows OS (10 or 11), use the provided inno setup script as a starting point. Be aware that the inno setup compiler needs to be pre-installed!

Source code

The Kotlin/Java project is a Gradle project. In order to use the source code for your own software or do your own Component Installer build, download or clone the repository and open it in a Gradle-supporting IDE (e.g. IntelliJ) as a Gradle project and execute the build.gradle file. Gradle will then take care of installing all dependencies. A Java Development Kit (JDK) of version 17 must also be pre-installed and set as project JDK / project compiler.

The C# solution contains the C# project WindowsCmdElevator and WindowsTasks. Both can be compiled to an .exe file using the provided FolderProfile.pubxml files.

Dependencies

Needs to be pre-installed:

Managed by Gradle:

Managed by NuGet:

Citation

You can cite this software or this repository as it is defined in the CITATION.cff file.

References and useful links

Windows Subsystem for Linux

ZeroMQ

Acknowledgements

Developers:

  • Martin Urban
  • Hannah Kullik

End-user testers:

  • Jonas Schaub
  • Achim Zielesny

Logo:

  • Martin Urban
  • Hannah Kullik

Initialization, conceptualization, and supervision:

  • Achim Zielesny and Angelika Loidl-Stahlhofen

The ComponentInstaller project team would like to thank the communities behind the open software libraries for their amazing work.