Skip to content

RogerCibrian/notapkgtool

Repository files navigation

NAPT - Not a Pkg Tool

Automated Windows application packaging and deployment to Microsoft Intune using PSAppDeployToolkit

License Python 3.11+ Code style: black

Overview

NAPT is a Python-based CLI tool that automates the entire workflow for packaging Windows applications and deploying them to Microsoft Intune. It runs on Windows, Linux, and macOS, though packaging (.intunewin creation) requires Windows.

📚 Full Documentation | Quick Start | User Guide | Developer Reference

Why NAPT?

Packaging applications for Microsoft Intune with PSAppDeployToolkit (PSADT) typically involves a manual, time-consuming process:

  1. Manually check for new versions - Check vendor sites/APIs for updates. Easy to miss versions or waste time when nothing changed.

  2. Create PSADT deployment - Copy template, manually edit Invoke-AppDeployToolkit.ps1 with variables, configure install/uninstall logic. Error-prone and repetitive.

  3. Create detection script - Write PowerShell detection logic, test thoroughly, maintain version checks. Must update for each new version.

  4. Package as .intunewin - Run IntuneWinAppUtil.exe manually, manage paths, handle errors. Tedious and error-prone.

  5. Upload to Intune - Upload package via portal, fill metadata, configure app info and requirements manually.

  6. Configure deployment - Set up rollout assignments manually for each version.

This manual workflow is repetitive, difficult to automate in CI/CD pipelines, lacks version tracking, and requires re-doing most of the work for every update. NAPT automates this entire workflow with YAML-based recipes and automatic version tracking.

Key Features

  • Automatic version tracking - Automatic discovery from MSI, EXE, URLs, or APIs with smart caching to skip unnecessary downloads
  • YAML-based recipes - Define app packaging once with layered configuration (Organization → Vendor → Recipe)
  • Automated PSADT packaging - Generate Intune-ready packages with detection scripts, no manual template editing
  • Cross-platform workflow - Run on Windows, Linux, and macOS (packaging requires Windows)
  • 🚧 Direct Intune upload - Automatic deployment (planned)

Cross-Platform Support

Feature Windows Linux/macOS
Discovery & Download
PSADT Package Building
Intune Packaging ⚫ Windows Only

See the Cross-Platform Support section for detailed workflows.

Getting Started

Check out the Quick Start Guide for installation instructions and your first steps with NAPT.

Creating Recipes

Recipes are YAML configuration files that define how to discover, download, and package applications.

Example recipes:

  • chrome.yaml - url_download strategy with MSI version extraction
  • 7zip.yaml - web_scrape strategy for vendor download pages

NAPT supports multiple discovery strategies (url_download, web_scrape, api_github, api_json) - see the Discovery Strategies guide for detailed configuration and more examples.

Contributing

Ideas and feedback are welcome! See Contributing for guidelines.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Author

Roger Cibrian

Acknowledgments

About

Automates the entire workflow for packaging Windows applications and deploying them to Microsoft Intune

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Languages