Skip to main content

D365FO Deploy Portal — New Version: Bidirectional Conversion, License Injection, Parallel Deploy, REST API

February 11, 2026

by SIMS Tech7 min read
product-updated365fopower-platformdeploymentdevopsrest-apiclicicdrelease-managementparallel-deploylicense-injectionpackage-merge

D365FO Deploy Portal — New Version: Bidirectional Conversion, License Injection, Parallel Deploy

We're excited to announce a major update to D365FO Deploy Portal — our web-based tool for deploying Microsoft Dynamics 365 Finance & Operations packages to Power Platform and Dataverse environments.

This release transforms Deploy Portal into a full automation platform — with bidirectional LCS↔Unified conversion, license injection into Unified packages, parallel PAC CLI deployment, Unified package merge, REST API, CLI, and CI/CD pipeline integration.

🚀

What's New

Bidirectional LCS↔Unified conversion, license injection into Unified packages, parallel PAC CLI deployment, Unified package merge, full REST API with Swagger, CLI for headless conversion, and CI/CD pipeline integration.

Why This Update Matters

The original Deploy Portal solved a clear pain point: replacing manual command-line deployment with a browser-based GUI. But teams told us they need more:

  • D365FO developers needed bidirectional conversion (LCS→Unified and Unified→LCS), license injection, and package merging for both formats
  • DevOps engineers wanted parallel deployment to all environments at once, not sequential
  • Release managers needed CI/CD pipeline integration and REST API access
  • Technical Delivery Managers needed API-level access and Unified package merge for custom automation

This release addresses all of these needs.

New Feature: Bidirectional Conversion — LCS↔Unified

🔄

Convert in Both Directions

Convert LCS packages to Unified format for Power Platform deployment — or convert Unified packages back to LCS format when you need the original format for LCS-based workflows.

Both directions are available from:

  • Web UI — select a package, click Convert, choose the target format
  • REST APIPOST /api/packages/{id}/convert with format parameter
  • CLIdocker run --rm -v /path:/data vglu/d365fo-deploy-portal:latest convert /data/input.zip /data/output.zip

New Feature: License Injection into Unified Packages

📜

Put License Into Unified Package

Inject license files directly into Unified packages before deployment. No manual ZIP manipulation, no XML editing — upload the license, select the target package, and the tool embeds it automatically.

Available via the web UI and REST API — perfect for automating license management in deployment workflows.

New Feature: Parallel PAC CLI Deployment

All Environments Deploy at the Same Time

Select multiple target environments and click Deploy — PAC CLI runs in parallel to all selected environments simultaneously. No sequential waiting. If you have 10 environments, all 10 deploy at the same time.

Real-time log streaming via SignalR shows progress for each environment independently — monitor all parallel deployments from a single dashboard.

New Feature: Unified Package Merge

🔀

Merge LCS and Unified Packages

Package merging now works for both LCS and Unified package types. Select 2+ packages of either format and combine them into a single merged package. Perfect for ISV modules that need to be deployed together.

New Feature: Full REST API with Swagger

🔌

Every Operation Available via HTTP

The portal now exposes a complete REST API — the same operations available in the web UI are now accessible from any HTTP client, script, or pipeline.

Available API operations:

  • List packagesGET /api/packages — retrieve all uploaded packages with metadata
  • Upload packagePOST /api/packages — upload LCS, Unified, or any ZIP package
  • Convert LCS→UnifiedPOST /api/packages/{id}/convert — convert LCS package to Unified format
  • Convert Unified→LCSPOST /api/packages/{id}/convert-to-lcs — convert Unified package to LCS format
  • Merge packagesPOST /api/packages/merge — combine multiple LCS or Unified packages into one
  • Inject licensePOST /api/packages/{id}/put-license — inject license file into Unified package
  • Download packageGET /api/packages/{id}/download — download the original or converted package

Interactive API documentation is available at /swagger — try endpoints directly in the browser, see request/response schemas, copy curl commands.

New Feature: CLI for Headless Conversion

⌨️

Convert Without the Web Server

Run the Docker container or .NET app with the convert command to convert packages in either direction (LCS↔Unified) — no web UI, no browser, just input and output.

Docker CLI example:

docker run --rm \
-v /path/to/packages:/data \
vglu/d365fo-deploy-portal:latest \
convert /data/MyLcsPackage.zip /data/MyUnifiedPackage.zip

.NET CLI example:

dotnet run -- convert ./MyLcsPackage.zip ./MyUnifiedPackage.zip

This is especially useful for:

  • Build agents — convert packages as a pipeline step without running the web server
  • Local scripts — quick one-off conversion on a developer's machine
  • Automated workflows — chain conversion with other tools in bash/PowerShell scripts

New Feature: CI/CD Pipeline Integration

🔗

Fits Into Your Existing Pipelines

Call the REST API from Azure DevOps, GitLab CI, GitHub Actions, or any CI/CD system. Convert packages as a pipeline step — upload artifact, convert to Unified, download result.

Azure DevOps pipeline example (conceptual):

# Upload build artifact to Deploy Portal
curl -X POST http://deploy-portal:5000/api/packages \
-F "file=@$(Build.ArtifactStagingDirectory)/package.zip"

Convert LCS → Unified

curl -X POST http://deploy-portal:5000/api/packages/{id}/convert

Download converted Unified package

curl -o unified-package.zip http://deploy-portal:5000/api/packages/{id}/download

This pattern works with any CI/CD system — GitLab CI, GitHub Actions, Jenkins, Octopus Deploy — any tool that can make HTTP requests.

New Feature: License Management Within Packages

📜

View Licenses

See all licenses embedded within D365FO packages through a visual interface — no more digging through XML files manually.

🔄

Refresh Licenses

Update license information within packages via the UI or REST API. Keep license data current without repackaging manually.

Recap: What D365FO Deploy Portal Does

For those new to Deploy Portal, here's the full picture. Deploy Portal replaces the manual D365FO package deployment pipeline:

Before: Download from LCS → manual conversion → PAC CLI auth → deploy to env #1 → wait → repeat for env #2, #3, #4...

After: Upload → Convert (LCS↔Unified) → Inject License → Select environments → Parallel Deploy → Watch real-time logs

Core capabilities:

  • Drag-and-drop upload with auto-detection of LCS, Unified, and other package types
  • Bidirectional LCS↔Unified converter — convert in both directions from UI, API, or CLI
  • License injection — inject license files into Unified packages
  • Parallel PAC CLI deployment — deploy to all Dataverse environments simultaneously, in parallel
  • Package merging (LCS & Unified) — combine multiple packages of either format into one
  • Real-time log streaming via SignalR — watch every PAC CLI line live
  • Full deployment history — searchable, filterable audit trail
  • Azure AD Service Principal — non-interactive authentication, encrypted secrets
  • Bulk environment import — paste Setup-ServicePrincipal.ps1 output to import 10+ environments

Three ways to use it:

  1. Web UI — browser-based dashboard for interactive use
  2. REST API — integrate from scripts, pipelines, or custom tools (/swagger for docs)
  3. CLI — headless conversion via Docker or .NET command line

Who Benefits From This Update

👨‍💻 D365FO Developers

Use the web UI for interactive deployments. Convert bidirectionally (LCS↔Unified), inject licenses into Unified packages, merge LCS or Unified packages, and deploy in parallel to all environments at once.

⚙️ DevOps Engineers

Integrate bidirectional LCS↔Unified conversion into Azure DevOps, GitLab CI, or GitHub Actions pipelines. Parallel deployment to all environments. REST API for full automation. CLI mode for build agents.

📋 Release Managers

Centralized deployment history across all Power Platform environments. Know who deployed what, where, when — with full log output. Plan releases with confidence using real-time deployment visibility.

🏗️ Technical Delivery Managers

Enterprise-grade deployment automation with encrypted credentials, Service Principal auth, and structured logging. Parallel deployment, Unified package merge, and license injection. API-level access for custom integration with your project's toolchain.

Quick Start

Getting started takes one command:

docker run -d -p 5000:5000 --name d365FOportal vglu/d365fo-deploy-portal:latest

Open http://localhost:5000 — you're in. Add environments, upload packages, and start deploying.

For API documentation, visit http://localhost:5000/swagger.

No Docker? Download the self-contained Windows build — no .NET installation required.

Learn More

Visit the D365FO Deploy Portal product page for complete documentation, API reference, and deployment options.

For licensing, pricing, or a demo:

🎯 Deploy Portal: bidirectional conversion, license injection, parallel deploy, full API.
One tool. LCS↔Unified. Inject licenses. Merge packages. Parallel deploy. Web UI + REST API + CLI.


D365FO Deploy Portal is proprietary software by SIMS tech. Contact us for licensing and deployment options.