Skip to main content

Deploying ExFlow AP into a Finance & Operations UDE (PPAC)

ExFlow AP for Dynamics 365 Finance & Operations is currently delivered as a Lifecycle Services (LCS) deployable package — the ZIP you would normally upload to the LCS asset library. With customers moving to environments managed through the Power Platform Admin Center (PPAC), that legacy package format cannot be deployed directly: PPAC‑managed Unified Developer Environments (UDE) require a Power Platform unified package.

Until ExFlow ships a unified package out of the box, this guide shows how to get from the ExFlow deployable package to a unified package, and how to deploy it to a UDE — using both ModelUtil.exe and Azure DevOps pipelines.

Deployable package vs. unified package

LCS deployable package (today)Power Platform unified package
Where it's usedLifecycle Services (LCS)PPAC / UDE
ExFlow statusShipped todayNot yet shipped — must be produced/converted
Deploy methodLCS asset librarypac CLI or release pipeline

Prerequisites

  • A UDE of type Sandbox (Trial environments don't support the dev tooling).
  • The environment's organization URL from the PPAC environment page, e.g. https://<org>.crm4.dynamics.com.
  • Microsoft Power Platform CLI and the Windows PowerApps CLI (MSI) — install both, or pac package deploy fails with "The command 'deploy' is not understood in this context."
  • For the pipeline path: the Dynamics 365 Finance and Operations Tools and Power Platform Build Tools Azure DevOps extensions, plus the required X++ NuGet packages in your artifact feed.

Option A — Convert the existing package with ModelUtil.exe (interim / per‑customer)

Use this when a customer already has the ExFlow LCS deployable‑package ZIP and needs it in unified format. ModelUtil.exe lives in the platform bin folder.

  1. Open PowerShell in the bin folder.

  2. Convert the ExFlow deployable‑package ZIP, pointing at an output folder:

    .\ModelUtil.exe -convertToUnifiedPackage -file="C:\Temp\[ExFlowDeployablePackage].zip" -outputpath="C:\Temp\UnifiedPackage"
  3. The output folder now holds the unified package: TemplatePackage.dll (used for deployment) plus a PackageAssets folder containing the individual ExFlow modules.

Run ModelUtil.exe with no arguments to see full usage.


Option B — Produce a unified package from Azure DevOps pipeline (repeatable)

This is the preferred approach since every build emits a unified package.

Build pipeline

  1. Install/update the Dynamics 365 Finance and Operations Tools and Power Platform Build Tools extensions; add the required X++ NuGet packages to your artifact feed.
  2. Build the all in one solution as usual, then add a Create Deployable Package task (task version 2).
  3. In that task, check Create Power Platform Unified Package, supply the package platform and application versions used to build, and set the deployable‑package path. (Optionally keep emitting the LCS‑format package too, for customers still on LCS.)
  4. Run the pipeline and find the published unified package under Related on the build Summary tab.

Release (deploy) pipeline

  1. Create a release pipeline based on the build above.
  2. Add these tasks to the deploy stage:
    • Power Platform Tool Installer
    • Power Platform WhoAmI (add a generic service connection — details from Your Organization > Details)
    • Power Platform Deploy Package (point it at the unified package from the build)
  3. Run the release to deploy to the target UDE.

Deploying the unified package to the UDE

Method 1 — PowerShell with the pac CLI (manual)

# 1) Authenticate to the UDE (org URL from the PPAC environment page)
pac auth create --environment https://<org>.crm4.dynamics.com

# 2) Deploy the unified package
pac package deploy --logConsole --package C:\Temp\UnifiedPackage\TemplatePackage.dll

--logConsole streams progress so you can watch the apply and DB‑sync steps.

Method 2 — Release pipeline

Use the Power Platform Deploy Package task from Option B — the most robust, repeatable option for regular deployments.