Files
2026-04-17 14:55:32 -04:00

58 lines
3.1 KiB
Markdown

---
source_files:
- DataPRO/Modules/InstallerCustomActions/OpenFolder/App.xaml.cs
- DataPRO/Modules/InstallerCustomActions/OpenFolder/Folder.cs
- DataPRO/Modules/InstallerCustomActions/OpenFolder/MainWindow.xaml.cs
generated_at: "2026-04-17T16:44:48.655732+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "fe185878ebf66d1c"
---
# Documentation: OpenFolder Module
## 1. Purpose
The `OpenFolder` module is a lightweight utility designed as an installer custom action. Its sole responsibility is to open a specific folder (identified as a "manuals folder") in Windows Explorer during or after an installation process. It serves as a bridge between the installer and the Windows shell, accepting a folder path as a command-line argument and delegating the actual folder opening operation to an external utility class.
---
## 2. Public Interface
### `OpenFolder.App`
- **Kind**: Class (WPF Application)
- **Inherits**: `System.Windows.Application`
- **Signature**: `public partial class App : Application`
- **Description**: Standard WPF application entry point. Contains no custom logic beyond the auto-generated partial class definition.
### `OpenFolder.Folder`
- **Kind**: Class
- **Signature**: `class Folder`
- **Members**:
- `static void Main(string[] args)` — Application entry point. Accepts a command-line argument array, extracts `args[0]` as the folder path, and passes it to `WindowsFolder.OpenManualsFolder()`. All exceptions are caught and silently discarded.
### `OpenFolder.MainWindow`
- **Kind**: Class (WPF Window)
- **Inherits**: `System.Windows.Window`
- **Signature**: `public partial class MainWindow : Window`
- **Description**: Standard WPF window code-behind. Contains only the constructor calling `InitializeComponent()`. **Note**: This window is never instantiated or shown by the `Main` entry point.
---
## 3. Invariants
- **Argument requirement**: The `Main` method assumes `args` contains at least one element. Accessing `args[0]` without validation means the caller must guarantee an argument is provided.
- **Silent failure**: All exceptions thrown during the folder opening operation are caught and suppressed. The application will always exit without propagating errors to the caller.
- **No UI interaction**: Despite being a WPF application with a `MainWindow`, the `Main` method never creates or displays any UI elements.
---
## 4. Dependencies
### This module depends on:
- **`DTS.Common.Classes.WindowsFolders.WindowsFolder`** — External class providing the static method `OpenManualsFolder(string)`. The exact behavior and location of this class is not visible in the provided source.
- **WPF assemblies**: `System.Windows`, `System.Windows.Controls`, `System.Windows.Data`, `System.Windows.Documents`, `System.Windows.Input`, `System.Windows.Media`, `System.Windows.Media.Imaging`, `System.Windows.Navigation`, `System.Windows.Shapes`
- **Standard .NET assemblies**: `System`, `System.Collections.Generic`, `System.Configuration`, `System.Data`, `System.Linq`, `System.Threading.Tasks`
### What depends on this module:
- **Unclear from source alone** — The module appears to be invoked by an installer (suggested