v1.0.0

Mcaster1 Install Studio

Cross-platform installer builder for macOS, Windows, and Linux. Create professional installer packages from a single YAML project file. No NSIS, no Inno Setup, no WiX required.

macOS (.dmg)
Windows (.zip)
Linux (.deb / AppImage)
C++17 / Qt6
Open Source (GPL)

Three Binaries, One Workflow

A full IDE for project authoring, a headless CLI compiler for CI/CD, and a runtime wizard that end-users actually run.

Install Studio IDE

Mcaster1InstallStudio

Full graphical IDE with 9-tab project editor, multi-project workspace, builder profiles, and dark enterprise theme.

Runtime Wizard

Mcaster1Installer

8-page QWizard installer that end-users run. Prerequisites check, component selector, custom actions, and progress tracking.

CLI Compiler

miscc

Headless command-line compiler with 12 flags and ANSI color output. Drop it into any CI/CD pipeline for automated builds.

Studio IDE

A 9-tab project editor with everything you need to define, configure, and build installers without touching a script.

App Info Tab

Define application name, version, publisher, description, license text, and branding assets. All fields map directly to .mis YAML keys.

Files & Components

Drag-and-drop file tree with component grouping. Users select which components to install at runtime. Supports required, optional, and hidden components.

Shortcuts & Registry

Define Start Menu shortcuts, Desktop icons, and file associations. Windows registry entries for protocol handlers, uninstall metadata, and custom keys.

Security & Signing

3 signing modes: Skip, Ad-hoc, and Full codesigning. Configure certificate paths, team IDs, and notarization credentials per platform.

Prerequisites

Define runtime prerequisites (Visual C++ Redistributable, .NET, Java, etc.) with version checks. The runtime wizard validates before installation begins.

Custom Actions & Build

Pre-install and post-install script hooks. The Build tab launches packaging with real-time log output and error highlighting.

Multi-Project Workspace — VS Solution Explorer-style sidebar lets you manage multiple .mis projects in a single session. Switch between projects instantly, share builder profiles, and batch-build all projects in sequence.

Build Backends

Native packaging for all three major platforms from a single .mis project file.

macOS — .dmg

Creates signed and notarized disk images. Includes:

  • codesign with Developer ID
  • Apple notarization via notarytool
  • Custom DMG background and icon layout
  • Universal binary (x86_64 + arm64) support

Windows — .zip Packager

Native Windows packaging without external tools:

  • No NSIS, no Inno Setup, no WiX dependency
  • Self-contained zip archive with manifest
  • Registry entries and uninstaller generation
  • Authenticode signing support

Linux — .deb + AppImage

Debian package and AppImage generation:

  • .deb with control file, postinst, prerm
  • AppImage skeleton for universal distribution
  • Desktop entry and icon installation
  • Systemd service file support

CLI Compiler — miscc

Headless build tool for CI/CD pipelines. 12 flags, ANSI color output, zero GUI dependencies at runtime.

# Build a macOS .dmg from a project file miscc --project myapp.mis --platform macos --sign full --output ./dist/ # Build all platforms in one pass miscc --project myapp.mis --platform all --verbose # Validate project without building miscc --project myapp.mis --validate # CI-friendly: non-interactive, exit code reflects build status miscc --project myapp.mis --platform linux --no-color --quiet

Importers

Migrate existing installer projects to .mis format without starting from scratch.

NSIS Importer (.nsi)

Parses NSIS script files and converts sections, files, shortcuts, registry entries, and uninstaller logic to equivalent .mis YAML structure. Handles !include, Section, SetOutPath, and CreateShortcut directives.

Inno Setup Importer (.iss)

Reads Inno Setup script files and maps [Setup], [Files], [Icons], [Registry], and [Run] sections to .mis format. Preserves component definitions and conditional expressions where possible.

Runtime Installer Wizard

The installer binary that end-users run. An 8-page QWizard with professional UX.

Prerequisites Check

Validates required runtimes, disk space, and OS version before installation begins. Missing prerequisites are flagged with download links.

Component Selector

Tree-view component picker lets users choose which features to install. Shows disk space impact per component with running total.

Custom Actions

Executes pre-install and post-install hooks defined in the .mis project. Supports shell commands, file operations, and registry writes.

8-Page Wizard Flow

Welcome, License, Prerequisites, Destination, Components, Summary, Progress, and Finish. Each page is fully themed with the application branding.

UI & UX

Professional dark enterprise theme with 32 inline SVG icons and dockable panels.

Dark Enterprise Theme

Custom dark color scheme designed for long work sessions. High contrast text, subtle borders, and accent colors that match the Mcaster1 brand palette.

32 Inline SVG Icons

Every toolbar button, tab header, and tree node uses crisp vector icons rendered inline. No external icon font dependency, perfect at any DPI.

Dockable Panels

EventLog dock for build output, BuildHistory dock for past builds, and HelpPanel dock for contextual documentation. Drag, float, or tab panels anywhere.

The .mis Project Format

A clean YAML format with token substitution. One file defines everything about your installer.

app: name: "MyApplication" version: "2.1.0" publisher: "Acme Corp" license: "MIT" files: - source: "build/release/*" dest: "{install-dir}/bin/" # token substitution - source: "assets/icon.png" dest: "{install-dir}/share/icons/" components: - name: "Core" required: true files: ["build/release/myapp"] - name: "Documentation" required: false files: ["docs/*"] shortcuts: - name: "{name}" # resolves to "MyApplication" target: "{install-dir}/bin/myapp" desktop: true start_menu: true build: platforms: ["macos", "windows", "linux"] sign_mode: "full" # skip | adhoc | full

Token Substitution — Use {install-dir}, {name}, {version}, and other tokens throughout your .mis file. Values are resolved at build time from the app: section.

Project Architecture

Clean separation between the IDE, CLI compiler, and runtime installer.

Repository Structure

Mcaster1InstallStudio/ ├── src/ │ ├── studio/ — IDE application (9-tab editor, workspace, profiles) │ ├── installer/ — Runtime wizard (8-page QWizard) │ ├── miscc/ — CLI compiler (headless build tool) │ └── core/ — Shared library (YAML parser, builders, signing) ├── CMakeLists.txt — CMake 3.20+ build system ├── README.md └── LICENSE — MIT

System Requirements

Framework
Qt6 6.6+
Build System
CMake 3.20+
Language
C++17
Platforms
macOS / Win / Linux
License
MIT
Version
1.0.0

Open Source on GitHub

Mcaster1 Install Studio is open source under the GPL license. Browse the code, report issues, and contribute.

View on GitHub

GPL License

Free to use, modify, and distribute. Contributions welcome.