cd /news/developer-tools/i-built-relaypublisher-a-winget-like… · home topics developer-tools article
[ARTICLE · art-117409] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

I Built RelayPublisher: A winget-like Publishing Workflow for Microsoft Intune

A developer created RelayPublisher, an open-source tool that publishes winget-like YAML manifests as Microsoft Intune LOB apps from CI. The tool enables application definitions to be managed as code, with commands for validation, planning, packaging, and publishing, and was made feasible by generative AI reducing development effort.

read3 min views1 publishedSep 1, 2026

Note about this article #

The original version of this article was written entirely by me in Japanese.

I used AI to translate and polish the English version for a global audience, but the ideas, design decisions, implementation details, and original content are all my own work.

If you'd like to read the original Japanese article, you can find it here:

Managing custom applications in Microsoft Intune has always felt more complicated than it should be.

When you need to publish an internal application, you typically have a few options:

All of these approaches work, but none of them feel particularly developer-friendly.

In my case, the process was even more frustrating because I normally don't operate with elevated privileges. Every time I needed to publish or update an application, I had to perform a PIM elevation before making changes.

That led me to a simple question:

Why can't Intune application publishing work more like winget?

I wanted a workflow where application definitions could live in source control, be described in YAML, and be published automatically through CI/CD.

That idea became RelayPublisher.

Relaypublisher publishes winget-like YAML manifests as Microsoft Intune LOB apps from CI.

Distribution:

relaypublisher

relaypublisher

vX.Y.Z

win-x64

, win-arm64

, and osx-arm64

are attached to each GitHub release. They are neither code-signed nor notarized, so macOS shows a Gatekeeper warning.Quick install:

dotnet tool install --global relaypublisher

See doc/05-operation.md for installing from GitHub Packages or Azure Artifacts instead.

The repository now contains the .NET CLI foundation for the normal workflow:

validate

checks manifest schema rules and repository-wide identity uniqueness.plan

resolves the target manifest set once and writes manifest-list.json

for later CI jobs.package

stages app files: Windows Win32 .intunewin

packages (Windows runner required) or a staged, checksum-verified macOS .pkg

(any OS).publish

creates or updates Intune apps, uploads packaged content…RelayPublisher is an open-source tool that allows you to define Intune applications using YAML and publish them through automation.

Instead of clicking through the Intune portal, you manage application definitions as code.

If you're already familiar with Infrastructure as Code (IaC) or GitOps practices, the concept should feel natural.

Historically, building this type of tool felt like a lot of work.

There are many moving parts:

The emergence of generative AI significantly reduced the effort required to create and maintain a project like this. Tasks that would previously have been tedious became much easier to implement.

As a result, I was finally able to build the tool I had wanted for a long time.

A sample YAML definition is included in the repository to help you get started quickly.

Example:

SchemaVersion: "1.0"
PackageIdentifier: Microsoft.PowerShell
PackageName: PowerShell
Developer: Microsoft Corporation
Publisher: Microsoft Corporation
Description: PowerShell 7 cross-platform automation and configuration tool.
PackageVersion: 7.6.5
AssignmentSync: merge

Apps:
  - Platform: macos
    Architecture: arm64
    InstallerType: pkg
    AppType: pkg
    DisplayName: PowerShell [macOS ARM64]

    Source:
      Type: githubRelease
      Owner: PowerShell
      Repository: PowerShell
      Tag: v7.6.5
      AssetName: powershell-7.6.5-osx-arm64.pkg
      Destination: powershell-7.6.5-osx-arm64.pkg
      Sha256: "6ea58f4e91ab2df133ac18a42e291e4e870a623e3c5ab6f8368259cd9ac22770"
      Auth:
        Type: none

    Requirements:
      MinimumOSVersion: "15.0"

    Detection:
      IgnoreAppVersion: false
      IncludedApps:
        - BundleId: com.microsoft.powershell
          BundleVersion: 7.6.5

    Scripts:
      PreInstall: scripts/macos/powershell/preinstall.sh
      PostInstall: scripts/macos/powershell/postinstall.sh

    Assignments: []
── more in #developer-tools 4 stories · sorted by recency
── more on @relaypublisher 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-built-relaypublish…] indexed:0 read:3min 2026-09-01 ·