Files
DP44/docs/ai/DataPRO/Modules/InstallerCustomActions/LocalSQLDB.md
2026-04-17 14:55:32 -04:00

2.1 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/Modules/InstallerCustomActions/LocalSQLDB/LocalDBPreparation.cs
DataPRO/Modules/InstallerCustomActions/LocalSQLDB/LocalDBPrepare.cs
2026-04-17T16:45:09.055203+00:00 zai-org/GLM-5-FP8 1 23d0d5081a0df6ea

Documentation: LocalSQLDB Module

1. Purpose

This module provides installer custom actions for preparing LocalDB database files during DataPRO installation. It determines whether the application will use a local or centralized database configuration, and if local, copies database files (.mdf and .ldf) from a previous installation to the new installation directory. This enables database migration during upgrades while preserving existing data.


2. Public Interface

LocalDBPreparation (Class)

Entry point class invoked by the installer.

Method: Main(string[] args)

  • Signature: static void Main(string[] args)
  • Behavior: Parses command-line arguments, creates a LocalDBPrepare instance, and invokes PrepareDB(). On exception, displays a message box with the error message and rethrows an empty Exception.

Arguments:

  • args[0] — Target installation directory path (targetDir)
  • args[1] — Product version string (parsed into Version)

LocalDBPrepare (Class)

Core logic class for database preparation.

Constructor: LocalDBPrepare(string targetDir, Version productVersion)

  • Initializes the instance with the target directory and installing version.

Method: PrepareDB()

  • Signature: public bool PrepareDB()
  • Behavior:
    1. Loads configuration from the newly installed executable via GetNewConfig()
    2. Determines DbType from configuration (defaults to DbType.Local on parse failure)
    3. Returns false if DbType.Centralized
    4. Retrieves dbName from configuration (defaults to Settings.Default.DataPRO)
    5. Returns true if dbName matches Settings.Default.DataPRO (case-insensitive)
    6. Otherwise, copies .mdf and .ldf files from the most recent previous installation to the new location