This is an application currently only for Windows users to install their products regardless of the vendor's format; it accepts common file structures and archive formats.
Firstly, it aims to be a free and **open-source*** application to gain trust of users, allow others to contribute, and release a product that is useful for all. Additonally, it -
P-Alpha
Currently, the application can:
The application cannot at this stage:
Assets
- Location for all Images used for product such as (rar logo, application logo, etc).
src\Custom Controls
- where "pages"/.NET custom controls are located. This is where most visual logic & user-event logic happens.
Library.cs
Extract.cs
Home.cs
Settings.cs
LibraryItem.cs
LibraryPanel.cs
PageButtonControl.cs
QueueControl.cs
src\DP
- custom classes for handling various tasks - this is where most of the application logic is held.
DPSettings
- Handles loading, saving, and re-generating of user settings - internal static class.DPRegistry
- Handles registry operations - typically only used to find DAZ registry values.DPAbstractFile
- major POI - Abstract class for all elements found in archives (including archives).DPAbstractArchive
- major POI - Abstract class for all supported archive files. Extends DPAbstractFile
.DPFile
- major POI - Data class for all files that are not supported archive files. Extends DPAbstractFile
.DPDazFile
- major POI - Class for reading .dsf and .duf files and getting meta data for tag creation. Extends DPFile
.DPDSXFile
- major POI - Class for reading .dsx files which are typically Supplement and Manifest files. Extends DPFile
.DPRARArchive
- major POI - Class specifically for processing RAR archives. Extends DPAbstractArchive
.DP7zArchive
- major POI - Class specifically for processing 7z archives. Extends DPAbstractArchive
. Not complete.DPZipArchive
- major POI - Class specifically for processing WinZip archives. Extends DPAbstractArchive
.DPFolder
- major POI - Data class for folders. Holds the children files & archives, etc. DOES NOT EXTEND ANYTHING.DPProcessor
- major POI - Static class that determines what files get extracted & where, interacts with user, and more.DPExtractJob
- Holds user requested extract list and processes it on a new thread only when the previous job has finished.DPDSXParser
- Reads and parses .dsx files.DPDSXElement
- A data class for XML-like element. Contains attributes of the element.DPDSXElementCollection
- A collection of DPDSXElement
s.DPProductInfo
- A struct for DPAbstractArchive
that contians a summary of the collected information from all DPContentInfo
s.DPContentInfo
- A struct for DPFile
that contains information about the file. DPDSXFile
uses this more.DPSortMethod
- Enum for sorting for the libraryDPProgressCombo
- A class for adding progress bars and updating progress bar text on the extract page.DPCache
- A special collection for cache collection. Used by DPDatabase
.ContentType
- Enum for classifying the type of the file.UsefulFuncs
- DPCommon
, ArrayHelper
, and PathHelper
are in this file.DPTaskManager
- class for ensuring async tasks are sequential.src\External
- Executables and source code not created by me or this community
RAR.cs
- dependency for DPProcessor
.7za.exe
- will be dependency for 7z operations. src\Forms
- Similar to Custom Controls but is a .NET Form; handles visual & user-event logic for new dialog/application windows.
MainForm.cs
- The main form of this application.PasswordInput.cs
- Special dialog for password-protected archives. ProductRecordForm.cs
- Form for displaying the record in the database (and later editing).DatabaseView.cs
- Form for displaying all contents in the database.src\Libs
- Currently only consists of rar.dll - used for handling RAR files.
ImportFileRecordsToDatabase
- small program to transfer file system records to the database. Though, this is really only for me.
This project requires you use Visual Studio 2022. Currently, we are using .NET 6, please make sure you have .NET 6 installed. You might be able to use an older version like Visual Studio 2019, please let me know.
To open this project with Visual Studio, please select the solution file, located at src\DAZ_Installer.sln
. All of the settings should be identical to mine, there may be some issues if you use Mac or Linux.
This project is under the Keep It Free License by Solomon Blount. A quick overview of the license, you may:
You may not:
Protections (unless otherwise expressed):
Commerical Use is accepted however the product that uses anything under this license MUST BE FREE.
Trademark is not accepted unless it follows the conditions set by this license.
The full license is available at the root directory named "LICENSE".