UAI Module is a versatile .NET 8.0 C# pipeline developed by UAI Software Inc. that enables users to generate a DLL, CLI, GUI, and MSI Installer within the same project. This repository aims to streamline the process of building, deploying, and distributing modules with multiple user interface options, making it suitable for a variety of applications and deployment environments.
- DLL Generation: Easily generate reusable DLLs to integrate with other .NET projects.
- Command-Line Interface (CLI): Create a CLI version for command-line usage, perfect for automation and scripting.
- Graphical User Interface (GUI): Develop a user-friendly GUI application using .NET's Windows Presentation Foundation (WPF).
- MSI Installer: Generate a Windows Installer (MSI) package to facilitate easy installation on Windows systems.
- .NET 8.0 SDK
- Windows OS (for MSI creation and GUI development)
- Visual Studio for enhanced development experience
- Git LFS (Large File Storage) for managing large files
- Clone the Repository
git clone https://github.com/UAISoftwareInc/UAI-Module.git
cd UAI-Module
git lfs fetch --all
- Restore NuGet Packages
dotnet restore
- Build the Solution
dotnet build
You can always just build from Visual Studio since thats recommended to not screw things up. But if you want to build from the command line, here are the commands.
-
Generate DLL
dotnet publish -c Release -o ./dist/dll
-
Generate CLI Application
dotnet publish -c Release -o ./outdistut/cli
-
Generate GUI Application
dotnet publish -c Release -p:UseWPF=true -o ./dist/gui
-
Generate MSI Installer
-
To build the MSI, you will need to use a packaging tool like WiX Toolset or Visual Studio Installer Projects.
-
Ensure the MSI project references your main executable, and then build using:
msbuild /p:Configuration=Release ./dist/installer/UAI_ModuleInstaller.wixproj
-
./
- Contains the main codebase for DLL, CLI, and GUI versions.dist/
- Build artifacts are saved here, separated intodll
,cli
,gui
, andinstaller
.
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.
For support, please open an issue or contact info@uai.contact.
By UAI Software Inc.