{"id":51053707,"url":"https://github.com/mergi72/dms-provider-installer","last_synced_at":"2026-06-22T19:30:39.427Z","repository":{"id":362757268,"uuid":"1260576762","full_name":"mergi72/dms-provider-installer","owner":"mergi72","description":"Installer and deployment tools for DMS Provider Bridge and Total Commander WFX Plugin.","archived":false,"fork":false,"pushed_at":"2026-06-19T20:00:58.000Z","size":88,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-19T20:21:54.306Z","etag":null,"topics":["alfresco","deployment","edocat","fastapi","installer","nssm","python","total-commander","wfx-plugin","windows-service"],"latest_commit_sha":null,"homepage":"https://github.com/mergi72/dms-provider-bridge","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mergi72.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-05T16:34:14.000Z","updated_at":"2026-06-19T19:25:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mergi72/dms-provider-installer","commit_stats":null,"previous_names":["mergi72/dms-provider-installer"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/mergi72/dms-provider-installer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergi72%2Fdms-provider-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergi72%2Fdms-provider-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergi72%2Fdms-provider-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergi72%2Fdms-provider-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mergi72","download_url":"https://codeload.github.com/mergi72/dms-provider-installer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mergi72%2Fdms-provider-installer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34663520,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alfresco","deployment","edocat","fastapi","installer","nssm","python","total-commander","wfx-plugin","windows-service"],"created_at":"2026-06-22T19:30:38.657Z","updated_at":"2026-06-22T19:30:39.418Z","avatar_url":"https://github.com/mergi72.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dms-provider-installer\n\n[![CI](https://github.com/mergi72/dms-provider-installer/actions/workflows/ci.yml/badge.svg)](https://github.com/mergi72/dms-provider-installer/actions/workflows/ci.yml)\n[![Status](https://img.shields.io/badge/Status-Beta-yellowgreen)](https://github.com/mergi72/dms-provider-installer)\n[![Installer](https://img.shields.io/github/v/release/mergi72/dms-provider-installer?include_prereleases\u0026label=Installer\u0026color=blueviolet)](https://github.com/mergi72/dms-provider-installer/releases/latest)\n\nCurrent development branch: `develop`  \nStable release branch: `main`\n\nOrchestrator installer for the DMS Provider desktop stack.\n\nIt bundles and runs the dedicated installers in this order:\n\n- Credential Broker\n- Total Commander WFX plugin\n- DMS Provider Bridge\n\nThe orchestrator runs in the current user context. The credential broker installer owns broker deployment, per-user scheduled task setup, startup, health wait, and broker config. The bridge installer owns its own elevation/admin flow, bridge executable deployment, service/task setup, NSSM usage, health checks, and machine/user config locations. This project owns only orchestration and Total Commander WFX installation/registration.\n\n## What This Project Does\n\n- Bundles `DmsProviderBridgeSetup.exe` (the public bridge bootstrapper).\n- Bundles the Credential Broker runtime payload directly and runs its `install-broker.ps1` script.\n- Installs `TcWfxPlugin.wfx64` into the orchestrator user install root under `tc-wfx`.\n- Installs WFX `config.json` next to the plugin and under `tc-wfx\\config`.\n- Installs WFX localization from `localize.json` under `tc-wfx\\config`.\n- Runs the install flow in this order: Credential Broker script, Total Commander WFX install/registration, DMS Provider Bridge setup.\n- Optionally verifies the bridge health endpoint.\n- Registers the WFX plugin in Total Commander `wincmd.ini` under `[FileSystemPlugins64]`.\n- Creates a `wincmd.ini` backup before modification.\n\n## Install Flow\n\n1. Credential Broker files are copied to `%LOCALAPPDATA%\\Credential Broker` by Inno Setup.\n2. The orchestrator runs `%LOCALAPPDATA%\\Credential Broker\\install-broker.ps1` and waits for that script to finish.\n3. The orchestrator installs `TcWfxPlugin.wfx64`, `config.json`, and `localize.json` under its own `tc-wfx` directory.\n4. The orchestrator registers the WFX plugin in Total Commander `wincmd.ini` when the file can be found.\n5. The orchestrator starts the bundled `DmsProviderBridgeSetup.exe` and waits for that setup to finish.\n6. The orchestrator optionally checks bridge health at `http://127.0.0.1:8765/health`.\n\nThe orchestrator does not create bridge config directories, does not set bridge config environment variables directly, and does not install the bridge service by itself.\n## What This Project Does Not Own\n\n- Bridge config files.\n- `DMS_PROVIDER_MACHINE_CONFIG_DIR`.\n- `DMS_PROVIDER_USER_CONFIG_DIR`.\n- NSSM service setup.\n- Credential Broker config files.\n- Credential Broker scheduled task setup.\n\nThose are intentionally handled by the dedicated component installers.\n\n## Build\n\nBuild the orchestrator installer:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\scripts\\build-inno-installer.ps1 `\n  -BridgeRepoPath ..\\dms-provider-bridge `\n  -CredentialBrokerRepoPath ..\\credential-broker `\n  -TcPluginRepoPath ..\\tc-wfx-plugin\n```\n\nThe build script:\n\n- picks the latest `DmsProviderBridgeSetup-*.exe` from the bridge repo unless `-BridgeSetupRelativePath` is provided;\n- copies the prepared Credential Broker runtime payload from `credential-broker`;\n- copies the WFX plugin, runtime config, and localization file from `tc-wfx-plugin`;\n- compiles [installer.iss](installer.iss) with Inno Setup.\n\nOutput:\n\n- `artifacts\\installer\\DmsProviderInstaller-v0.7.17-beta.exe`\n\nPrepare payload only:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\scripts\\prepare-payload.ps1 `\n  -BridgeRepoPath ..\\dms-provider-bridge `\n  -CredentialBrokerRepoPath ..\\credential-broker `\n  -TcPluginRepoPath ..\\tc-wfx-plugin\n```\n\nPayload layout:\n\n- `payload\\installers\\DmsProviderBridgeSetup.exe`\n- `payload\\credential-broker\\credential-broker.exe`\n- `payload\\credential-broker\\install-broker.ps1`\n- `payload\\credential-broker\\config\\broker.json`\n- `payload\\tc-wfx\\TcWfxPlugin.wfx64`\n- `payload\\tc-wfx\\config.json`\n- `payload\\tc-wfx\\localize.json`\n\n## Manual Install\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\scripts\\install-wrapper.ps1\n```\n\nUseful options:\n\n```powershell\n-BridgeSetupPath C:\\path\\DmsProviderBridgeSetup-v0.9.8-beta.exe\n-BrokerInstallRoot C:\\Users\\\u003cuser\u003e\\AppData\\Local\\Credential Broker\n-WfxPluginPath C:\\path\\TcWfxPlugin.wfx64\n-PluginConfigPath C:\\path\\config.json\n-PluginLocalizePath C:\\path\\localize.json\n-WinCmdIniPath C:\\Users\\\u003cuser\u003e\\AppData\\Roaming\\GHISLER\\wincmd.ini\n-SkipBridge\n-SkipBroker\n-SkipHealthCheck\n-DisableTcRegistration\n-PauseOnError\n```\n\nDefault health endpoint:\n\n- Bridge: `http://127.0.0.1:8765/health`\n\n## Uninstall\n\nThe orchestrator uninstall removes only its WFX files. Bridge and Credential Broker are uninstalled through their own entries in Windows Apps \u0026 Features.\n\nManual WFX cleanup:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\scripts\\uninstall.ps1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmergi72%2Fdms-provider-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmergi72%2Fdms-provider-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmergi72%2Fdms-provider-installer/lists"}