- Description
- Contents of this repository
- Build
- Dependencies
- Citation
- References and useful links
- Acknowledgements
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.
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.
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.
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.
The Component Installer consists of a Kotlin/Java project and a C# solution with two projects.
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!
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.
Needs to be pre-installed:
- Java Development Kit (JDK) version 17
- Adoptium Open JDK (as one possible source of the JDK)
- .NET 8.0
Managed by Gradle:
- Java Native Access (JNA) version 5.8.0
- JeroMQ version 0.6.0
- JeroMQ GitHub repository
- Mozilla Public License Version 2.0
Managed by NuGet:
- NLog version 5.3.2
- NLog GitHub repository
- BSD-3-Clause license
- NetMQ version 4.0.1.13
- NetMQ GitHub repository
- GNU Lesser General Public License 3
You can cite this software or this repository as it is defined in the CITATION.cff file.
Windows Subsystem for Linux
- What is the Windows Subsystem for Linux? (Article)
- How to install Linux on Windows with WSL (Article)
ZeroMQ
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.