Skip to content

Repository files navigation

App Installer - myTech.Today

Version: 2.0.6 (GUI) / 2.0.2 (CLI) Author: myTech.Today License: All rights reserved

Overview

The App Installer is a comprehensive cross-platform PowerShell application installer system for Windows, macOS, and Linux. It provides both a modern graphical user interface (GUI) for Windows and a powerful command-line interface (CLI) that works on all platforms for installing and managing 271+ essential applications with real-time status tracking, version detection, and centralized logging.

Platform Support

  • Windows: Full GUI and CLI support (PowerShell 5.1+ or PowerShell 7.2+)
  • macOS: CLI support with Homebrew integration (PowerShell 7.2+)
  • Linux: CLI support with apt/dnf/pacman/snap (PowerShell 7.2+)

What's New in 2.0.0

🎉 Major Cross-Platform Release!

  • Cross-Platform CLI: app-installer-cli.ps1 now works on Windows, macOS, and Linux
  • Graceful GUI Degradation: app-installer.ps1 detects platform and offers CLI fallback on non-Windows
  • Shared Core Module: New AppInstallerCore.psm1 eliminates code duplication
  • Dynamic App Registry: Loads from apps-manifest.json instead of hardcoded arrays
  • Multi-Package Manager: Supports winget, brew, apt, dnf, pacman, snap
  • Platform-Aware Filtering: Shows only apps available for your platform
  • Cross-Platform Paths: Automatic path handling for each OS

See REFACTORING-SUMMARY.md for complete details.

App Installer GUI

Features

Cross-Platform Features (NEW in 2.0.0)

Multi-Platform Support - Works on Windows, macOS, and Linux ✅ Automatic Platform Detection - Detects OS and selects appropriate package manager ✅ Package Manager Abstraction - Supports winget, brew, apt, dnf, pacman, snap ✅ Platform-Aware App Filtering - Shows only apps available for your OS ✅ Cross-Platform Paths - Automatic path handling for each operating system ✅ Shared Core Module - AppInstallerCore.psm1 eliminates code duplication ✅ Dynamic App Registry - Loads 271+ apps from apps-manifest.json ✅ Graceful Degradation - GUI offers CLI fallback on non-Windows platforms

GUI Features (app-installer.ps1) - Windows Only

Modern Windows Forms Interface - Professional GUI with responsive design and DPI scaling ✅ Platform Detection - Detects non-Windows platforms and offers CLI fallback ✅ Responsive GUI Helper - Centralized DPI scaling from GitHub for multi-monitor and high-DPI support ✅ Generic Logging Module - Centralized logging system with monthly rotation and markdown format ✅ Real-Time Search & Filter - Instantly filter 271 applications by name, category, or description ✅ Real-Time Progress Tracking - Dynamic progress bar and status updates as you select apps ✅ Category Organization - Applications grouped into 13 categories for easy browsing ✅ Checkbox Selection - Select individual apps, all apps, or only missing apps ✅ Export/Import Profiles - Save and load application selections for backup or deployment ✅ Uninstall Applications - Remove installed applications with confirmation and progress tracking ✅ Live Status Display - See installation status, version numbers, and progress in real-time ✅ HTML Console Output - Professional, color-coded installation logs in right panel ✅ Marketing Information - Company info and service details displayed in HTML panel ✅ Responsive Layout - Adapts to different screen sizes and resolutions (VGA to 8K UHD) ✅ Professional Buttons - Standard Windows-style buttons with proper spacing

CLI Features (app-installer-cli.ps1) - All Platforms

Cross-Platform CLI - Works on Windows, macOS, and Linux ✅ Interactive Menu - User-friendly text-based interface ✅ Multi-Select - Select multiple apps with ranges (e.g., "1,3,5-10") ✅ Category Selection - Select all apps in a category (e.g., "C:Browsers") ✅ Version Detection - Automatically detects installed applications (platform-dependent) ✅ Selective Installation - Install individual apps, all apps, or only missing apps ✅ Generic Logging Module - Centralized logging with monthly rotation (scriptname-yyyy-MM.md format) ✅ Centralized Logging - Platform-specific log paths (Windows: %USERPROFILE%, macOS/Linux: ~/.mytech-today) ✅ Package Manager Integration - Leverages platform-specific package managers ✅ Custom Installers - Specialized scripts for apps not available via package managers ✅ Error Handling - Comprehensive error handling with detailed error messages ✅ Silent Installation - Most apps install silently without user interaction ✅ Administrator Privileges - Automatic elevation and privilege checking (platform-dependent) ✅ Automatic Shortcuts - Creates Start Menu shortcuts for web-based apps (Windows only)

Supported Applications (271+)

Note: Application availability varies by platform. The installer automatically filters and shows only apps available for your operating system. Cross-platform package mappings are defined in apps-manifest.json.

Browsers (15)

  • Google Chrome, Brave Browser, Firefox, Vivaldi, Opera, LibreWolf, Tor Browser, Waterfox
  • Microsoft Edge, Chromium, Arc Browser, Ungoogled Chromium, Midori Browser, Min Browser, Floorp

Development (26)

  • Notepad++, Git, Python, Node.js, Docker Desktop, Sublime Text, Geany, NetBeans IDE
  • IntelliJ IDEA Community, FileZilla, Visual Studio Code, Postman, PyCharm Community
  • Eclipse IDE, Atom Editor, Brackets, Vagrant, Android Studio, RStudio, Rider
  • DataGrip, WebStorm, CLion, GoLand, Vim, CMake, Lazygit

Productivity (16)

  • LibreOffice, Obsidian, Joplin, Foxit PDF Reader, Sumatra PDF, Notion
  • 7-Zip, Adobe Acrobat Reader, Apache OpenOffice, Calibre, Zotero, Trello
  • WPS Office, PDF24 Creator, Typora, AnyDesk

Media (26)

  • OBS Studio, GIMP, Audacity, Handbrake, OpenShot, ClipGrab, Inkscape, Paint.NET
  • Avidemux, MPC-HC, Foobar2000, VLC Media Player, FFmpeg, Krita, OpenToonz
  • Kdenlive, Shotcut, darktable, RawTherapee, Spotify, iTunes, AIMP
  • DaVinci Resolve, Tenacity, Blender

Utilities (24)

  • AngryIP Scanner, CCleaner, Bitvise SSH Client, Belarc Advisor, O&O ShutUp10
  • FileMail Desktop, PowerToys, Everything, Greenshot, Bulk Rename Utility
  • Revo Uninstaller, WinDirStat, Core Temp, GPU-Z, CrystalDiskInfo
  • Sysinternals Suite, winget Auto-Update, ShareX, Rainmeter, Speccy
  • BleachBit, Rufus, Ventoy, HWiNFO

Security (12)

  • Avira Antivirus, Kaspersky Security Cloud, AVG AntiVirus Free, Avast Free Antivirus
  • Malwarebytes, Bitwarden, 1Password, LastPass, Dashlane, Sophos Home
  • KeePassXC, NordPass, Proton Pass

Communication (11)

  • Telegram Desktop, Signal, Thunderbird, Discord, Slack, Zoom, Microsoft Teams
  • Skype, WhatsApp Desktop, Viber, Element

3D & CAD (10)

  • Blender, FreeCAD, LibreCAD, KiCad, OpenSCAD, Wings 3D, Sweet Home 3D
  • Dust3D, MeshLab, Slic3r

Networking (9)

  • Nmap, Wireshark, Zenmap, PuTTY, Advanced Port Scanner, Advanced IP Scanner
  • Fing CLI, GlassWire, NetLimiter, TCPView

Runtime (7)

  • Java Runtime Environment, .NET Desktop Runtime 6, .NET Desktop Runtime 8
  • Visual C++ Redistributable, Go Programming Language, Rust, PHP

Writing (9)

  • Trelby, KIT Scenarist, Storyboarder, Manuskript, yWriter, Celtx
  • bibisco, Scribus, FocusWriter

Gaming (7)

  • Steam, Epic Games Launcher, GOG Galaxy, EA App, Ubisoft Connect
  • Battle.net, Itch.io

Cloud Storage (6)

  • Google Drive, Dropbox, OneDrive, MEGA, pCloud, Sync.com

Remote Desktop (7)

  • TeamViewer, AnyDesk, Chrome Remote Desktop, TightVNC, RustDesk
  • UltraVNC, Parsec

Backup (7)

  • Veeam Agent FREE, EaseUS Todo Backup Free, Duplicati, Cobian Backup
  • FreeFileSync, Syncthing, Macrium Reflect Free

Education (7)

  • Anki, GeoGebra, Stellarium, MuseScore, Moodle Desktop, Scratch Desktop
  • Celestia

Finance (6)

  • GnuCash, HomeBank, Money Manager Ex, KMyMoney, Skrooge
  • Firefly III Desktop

Shortcuts & Maintenance (7)

  • Grok AI (Desktop & Start Menu)
  • ChatGPT (Desktop & Start Menu)
  • dictation.io (Desktop & Start Menu)
  • Uninstall McAfee Products
  • PowerToys, AutoHotkey, Everything

Requirements

Windows

  • Operating System: Windows 10 (1809+), Windows 11, Windows Server 2016+
  • PowerShell: 5.1 or later (PowerShell 7.2+ recommended for best experience)
  • Privileges: Administrator rights recommended (see Administrator & Antivirus Notes below)
  • Package Manager: winget (Windows Package Manager) - installed by default on Windows 11
  • .NET Framework: 4.7.2 or later (for GUI version only)
    • Note: The GUI installer (app-installer.ps1) will automatically detect and offer to install .NET Framework 4.8 if not present

macOS

  • Operating System: macOS 10.13 (High Sierra) or later
  • PowerShell: 7.2 or later (install via: brew install --cask powershell)
  • Package Manager: Homebrew (install from https://brew.sh)
  • Privileges: sudo access recommended for system-wide installations
  • Note: GUI mode not available - use CLI mode (app-installer-cli.ps1)

Linux

  • Operating System: Ubuntu 18.04+, Debian 10+, Fedora 33+, Arch Linux, or compatible
  • PowerShell: 7.2 or later (see https://docs.microsoft.com/powershell)
  • Package Manager: apt, dnf, pacman, or snap (automatically detected)
  • Privileges: sudo/root access recommended for system-wide installations
  • Note: GUI mode not available - use CLI mode (app-installer-cli.ps1)

Administrator & Antivirus Notes

  • Always run elevated:
    • When using the PowerShell scripts (app-installer.ps1, app-installer-cli.ps1): start PowerShell as Administrator and run the scripts from an elevated session.
    • When using the packaged EXE (for example, install-GUI.exe built via IEXPRESS): allow the UAC elevation prompt and run the EXE as Administrator.
  • Why elevation is required:
    • Installing software, managing services, and modifying system-wide settings (registry, Program Files, etc.) requires administrative rights.
    • Some installers and winget operations will fail or behave unpredictably without elevation.
  • Antivirus / SmartScreen behavior:
    • Because the EXE is a custom IEXPRESS self-extracting package, many antivirus products and/or Windows SmartScreen may flag, warn about, or quarantine the EXE on first run.
    • If you trust the source (this repository and your own build), you may need to:
      • Unblock the EXE in the file properties dialog.
      • Mark it as allowed in your antivirus / endpoint protection.
      • Choose "More info" → "Run anyway" if SmartScreen shows a warning.
  • Recommendation:
    • Prefer running the raw PowerShell script (app-installer.ps1) from an elevated PowerShell session when testing or developing.
    • Use the EXE for deployment/hand-off scenarios, with the expectation that security software may require manual approval.

Installation

Windows Installation

  1. Clone or download the repository:

    git clone https://github.com/mytech-today-now/PowerShellScripts.git
    cd PowerShellScripts\app_installer
  2. Ensure winget is installed (Windows 11 has it by default):

    • For Windows 10: Install "App Installer" from Microsoft Store
    • Verify: winget --version
  3. Run as Administrator:

    GUI Version (Windows Only - Recommended):

    .\app-installer.ps1

    Command-Line Version:

    .\app-installer-cli.ps1

macOS Installation

  1. Install PowerShell 7.2+:

    brew install --cask powershell
  2. Install Homebrew (if not already installed):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. Clone the repository:

    git clone https://github.com/mytech-today-now/PowerShellScripts.git
    cd PowerShellScripts/app_installer
  4. Run the CLI installer:

    pwsh ./app-installer-cli.ps1

Linux Installation

  1. Install PowerShell 7.2+:

    • Ubuntu/Debian:
      wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
      sudo dpkg -i packages-microsoft-prod.deb
      sudo apt-get update
      sudo apt-get install -y powershell
    • Fedora:
      sudo dnf install powershell
    • Arch Linux:
      yay -S powershell-bin
  2. Clone the repository:

    git clone https://github.com/mytech-today-now/PowerShellScripts.git
    cd PowerShellScripts/app_installer
  3. Run the CLI installer:

    pwsh ./app-installer-cli.ps1

Usage

GUI Mode (app-installer.ps1) - Recommended

Launch the graphical interface:

.\app-installer.ps1

GUI Features:

  • Search & Filter - Real-time search box to filter applications by name, category, or description
    • Type to instantly filter the list (e.g., "chrome", "browser", "video")
    • Clear button (X) to reset search
    • Result count shows "Showing X of 271 applications"
    • Checkbox states preserved when filtering
  • Application Table - Browse all 271 applications with checkboxes
  • Category Grouping - Applications organized by category
  • Status Column - Shows "Installed" with version or "Not Installed"
  • Progress Tracking - Real-time progress: "0 / 5 applications" updates as you select
  • Buttons:
    • Refresh Status - Re-scan for installed applications
    • Select All - Select all applications (filtered or all)
    • Select Missing - Select only applications not currently installed
    • Deselect All - Clear all selections
    • Export Selection - Save selected applications to a JSON profile
    • Import Selection - Load applications from a JSON profile
    • Install Selected - Install checked applications
    • Uninstall Selected - Remove checked applications (only installed apps)
    • Exit - Close the application

Progress Display:

  • When you select apps: Shows "0 / X applications" (X = number selected)
  • During installation: Shows "Y / X applications" (Y = completed, X = total)
  • Progress bar fills as each application installs

Command-Line Mode (app-installer-cli.ps1)

Interactive Menu:

.\app-installer-cli.ps1

Menu Options:

  • 1-212: Install individual application by number
  • A: Install all applications
  • M: Install missing applications only
  • U: Check for updates
  • E: Export selection to profile
  • I: Import selection from profile
  • X: Uninstall/Remove selected applications
  • S/R: Show/Refresh status
  • Q: Quit

Command-Line Parameters:

Install all applications:

.\app-installer-cli.ps1 -Action InstallAll

Install only missing applications:

.\app-installer-cli.ps1 -Action InstallMissing

Show status only:

.\app-installer-cli.ps1 -Action Status

Install specific application:

.\app-installer-cli.ps1 -AppName "Chrome"

Export/Import Configuration Profiles

Both the GUI and CLI versions support exporting and importing application selection profiles. This feature is useful for:

  • Backing up your application selections
  • Deploying the same set of applications to multiple machines
  • Sharing configurations with team members
  • Standardizing installations across an organization

Profile Format

Profiles are saved as JSON files with the following structure:

{
  "Version": "1.0",
  "Timestamp": "2025-11-10T18:40:47",
  "ComputerName": "MYTECHTODAY-LAP",
  "UserName": "kyle",
  "InstallerVersion": "1.3.8",
  "Applications": [
    "Google Chrome",
    "7-Zip",
    "VLC Media Player",
    "Visual Studio Code",
    "Git"
  ]
}

Default Profile Location

Profiles are saved to: %USERPROFILE%\mytech.today\app_installer\profiles\

Default filename format: profile-{ComputerName}-{yyyy-MM-dd-HHmmss}.json

Using Export/Import in GUI

  1. Export Selection:

    • Select the applications you want to export
    • Click the "Export Selection" button
    • Choose a location and filename (or use the default)
    • The profile will be saved with metadata including timestamp, computer name, and user
  2. Import Selection:

    • Click the "Import Selection" button
    • Browse to and select a profile JSON file
    • Review the confirmation dialog showing the number of applications
    • Click "Yes" to select the applications from the profile
    • Applications not available in the current installer version will be listed as warnings

Using Export/Import in CLI

  1. Export Selection:

    • From the main menu, press E
    • Enter the application numbers to export (e.g., "1,3,5" or "1-10")
    • Enter a filename or press Enter to use the default
    • The profile will be saved to the profiles directory
  2. Import Selection:

    • From the main menu, press I
    • Select a profile from the list or enter a full path
    • Review the profile information and confirm installation
    • Applications will be installed automatically if confirmed

Handling Missing Applications

When importing a profile, the installer will:

  • ✅ Identify which applications from the profile are available in the current installer
  • ⚠️ Warn about applications that are not available (e.g., removed or renamed apps)
  • ✅ Proceed with installing only the available applications
  • 📝 Log all import operations including missing applications

Directory Structure

app_installer/
├── app-installer.ps1                # GUI-based installer (recommended)
├── app-installer-cli.ps1            # Command-line menu-driven installer
├── apps/                            # Individual app installation scripts (212 total)
│   ├── chrome.ps1                   # (Uses winget)
│   ├── brave.ps1                    # (Uses winget)
│   ├── firefox.ps1                  # (Uses winget)
│   ├── vscode.ps1                   # (Uses winget)
│   ├── python.ps1                   # (Uses winget)
│   ├── docker.ps1                   # (Uses winget)
│   ├── obs.ps1                      # (Uses winget)
│   ├── belarc.ps1                   # Custom installer
│   ├── shutup10.ps1                 # Custom installer
│   ├── filemail.ps1                 # Custom installer
│   ├── grok-shortcuts.ps1           # Creates shortcuts
│   ├── chatgpt-shortcuts.ps1        # Creates shortcuts
│   ├── dictation-shortcut.ps1       # Creates shortcuts
│   ├── uninstall-mcafee.ps1         # McAfee removal tool
│   └── ... (89 more scripts)
├── README.md                        # This file
├── CHANGELOG.md                     # Version history
└── ai_prompts/
    └── prompt.01.md                 # Original requirements

Uninstall Applications

Both the GUI and CLI versions support uninstalling applications that were previously installed via winget.

GUI Uninstall (app-installer.ps1)

  1. Select Applications - Check the applications you want to uninstall
  2. Click "Uninstall Selected" - Dark red button next to "Install Selected"
  3. Confirm Uninstall - Review the list of applications to be removed
  4. Progress Tracking - Watch real-time progress as apps are uninstalled
  5. Completion - View success/fail statistics

Safety Features:

  • ⚠️ Confirmation required - Cannot uninstall without explicit confirmation
  • ⚠️ Only installed apps - Only shows applications that are currently installed
  • ⚠️ Cannot undo - Uninstall is permanent (warning shown in confirmation)
  • Detailed logging - All uninstall operations logged to centralized log
  • Error handling - Failed uninstalls are reported with error details

CLI Uninstall (app-installer-cli.ps1)

  1. Select Menu Option "X" - Choose "X. Uninstall/Remove Selected Applications"
  2. Enter Application Numbers - Type numbers (e.g., "1,3,5" or "1-10")
  3. Confirm Uninstall - Review the list and confirm with "Y"
  4. Progress Tracking - Watch progress with success/fail counts
  5. Completion - View final statistics

Example:

.\app-installer-cli.ps1
# Select "X" from menu
# Enter: 1,5,10
# Confirm: Y

Important Notes:

  • ⚠️ Applications without a WingetId cannot be uninstalled via this tool
  • ⚠️ Some applications may require manual uninstallation from Windows Settings
  • ⚠️ Uninstalling critical system applications may cause issues
  • ✅ The application list automatically refreshes after uninstall completes

Logging

All activities are logged to:

%USERPROFILE%\mytech.today\logs\install-yyyy-MM.md

Log Format: Markdown table with icons Log Rotation: Monthly (one file per month) Log Levels: ℹ️ INFO, ⚠️ WARNING, ❌ ERROR, ✅ SUCCESS

Example Log Entry:

| 2025-11-02 10:30:00 |**SUCCESS** | Google Chrome installed successfully |

How It Works

Application Registry

Both scripts maintain an internal registry of all 212 supported applications with:

  • Name: Display name
  • ScriptName: Individual installation script filename
  • WingetId: Windows Package Manager ID (if available)
  • Category: Application category for organization

Installation Process

  1. Detection: Checks if application is already installed via winget or registry
  2. Method Selection:
    • If custom script exists in apps/ folder → Use custom script
    • If WingetId is defined → Use winget install
    • Otherwise → Display warning
  3. Execution: Run installation with silent/automated parameters
  4. Logging: Log all activities to centralized log file
  5. Status: Display success/failure with color-coded output

Version Detection

  • Primary: Uses winget list for fast, accurate detection
  • Fallback: Checks Windows registry for installed programs
  • Display: Shows version number or "Installed" if version unavailable

Customization

Adding New Applications

  1. Add to Application Registry in apps-manifest.json:

    [PSCustomObject]@{
        Name = "MyApp"
        ScriptName = "myapp.ps1"
        WingetId = "Publisher.MyApp"
        Category = "Utilities"
    }
  2. Create Custom Script (optional) in apps/myapp.ps1:

    # Custom installation logic
    Write-Host "Installing MyApp..." -ForegroundColor Cyan
    winget install --id Publisher.MyApp --silent --accept-package-agreements --accept-source-agreements
  3. Test Installation:

    .\app-installer.ps1

Modifying Categories

Edit the Category property in the application registry to organize apps differently. Available categories:

  • Browsers, Development, Productivity, Media, Utilities, Security
  • Communication, 3D & CAD, Networking, Writing, Shortcuts, Runtime, Maintenance

Troubleshooting

winget Not Available

Error: "winget is not available on this system"

Solutions:

  • Install "App Installer" from Microsoft Store
  • Update Windows to latest version
  • Verify: winget --version
  • Restart PowerShell after installation

Installation Fails

Error: "Installation failed. Check log for details."

Solutions:

  1. Check log file: C:\mytech.today\logs\install-yyyy-MM.md
  2. Verify internet connection
  3. Run as Administrator
  4. Try manual installation of specific app
  5. Check if antivirus is blocking installation
  6. Ensure winget is up to date: winget upgrade --id Microsoft.Winget.Source

Application Not Detected

Issue: Installed app shows as "Not Installed"

Causes:

  • App installed via portable version
  • App installed in non-standard location
  • Registry entry doesn't match detection pattern
  • winget database not updated

Solutions:

  • Click "Refresh Status" button in GUI
  • Restart the application
  • Detection is informational only; app will still function

GUI Not Displaying Correctly

Issue: Text too small, buttons clipped, or layout issues

Solutions:

  • Ensure .NET Framework 4.7.2 or later is installed
  • Check Windows display scaling settings
  • Try running on different monitor if using multi-monitor setup
  • GUI automatically adapts to DPI scaling

.NET Framework Installation Issues

Issue: GUI fails to start with assembly loading errors

Solutions:

  • Run app-installer.ps1 - it will automatically detect missing .NET Framework
  • If prompted, allow the script to install .NET Framework 4.8
  • A system restart may be required after .NET Framework installation
  • If automatic installation fails, install manually from Microsoft's website
  • Verify installation by running app_installer\test-dotnet-check.ps1

Best Practices

Run as Administrator - Required for most installations ✅ Check winget availability - Ensures smooth installation ✅ Review logs - Check C:\mytech.today\logs\ for details ✅ Install missing only - Saves time on already-configured systems ✅ Restart after major installs - Some apps (Docker, Python) require restart ✅ Use GUI version - More user-friendly and provides better feedback ✅ Select apps carefully - Don't install everything if you don't need it

Security Considerations

  • All downloads use HTTPS
  • winget packages are verified by Microsoft
  • Custom scripts download from official sources only
  • McAfee removal uses official MCPR tool
  • No credentials or sensitive data stored
  • All installations run with user consent
  • Logs contain no sensitive information

Recent Updates

v2.0.6 (GUI) / v2.0.2 (CLI) - 2026-03-17

  • Access Denied Fix - All Test-Path calls wrapped in Safe-TestPath helper with try/catch and -ErrorAction SilentlyContinue to suppress UnauthorizedAccessException on protected paths
  • Security Warning Fix - Unblock-File called after every Copy-Item during self-installation so scripts copied to the system location are automatically unblocked (removes Zone.Identifier ADS)
  • Feature Parity - Both GUI and CLI scripts share the same Safe-TestPath helper and Unblock-File integration

v2.0.5 (GUI) / v2.1.0 (Platform-Detect) - 2026-03-14

  • Chrome Install Fix - Added --force flag to winget install for reliable Chrome installation
  • Exit Code Preservation - platform-detect.ps1 returns actual exit codes instead of hardcoded 1
  • Smart Success Detection - Output pattern matching for "already installed" / "Successfully installed"
  • WinGet Already-Installed Handling - GUI accepts -1978335191 as success from custom scripts

v2.0.4 (GUI) - 2026-03-13

  • Self-Healing Dependencies - Auto-downloads missing platform-detect.ps1 and apps-manifest.json from GitHub
  • System Path Fix - Resolves failures when running from system install location

v2.0.3 (GUI) - 2026-03-13

  • O&O ShutUp10 Fix - -NonInteractive switch prevents GUI queue blocking
  • Exit Code 30 Accepted - O&O ShutUp10's exit code 30 treated as success

v2.0.2 (GUI) - 2026-03-13

  • Dependency Copy Fix - Copies platform-detect.ps1 and apps-manifest.json to system install location

v2.0.0 (GUI & CLI) - 2025-12-16

  • Major Cross-Platform Release - Full refactoring for Windows, macOS, and Linux
  • Shared Core Module - AppInstallerCore.psm1 eliminates code duplication
  • Dynamic App Registry - Loads 271+ apps from apps-manifest.json

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Test thoroughly on Windows 10 and Windows 11
  4. Update documentation if adding new features
  5. Submit a pull request with detailed description

Support

For issues, questions, or contributions:

Version History

See CHANGELOG.md for detailed version history.

Recent Versions:

  • v2.0.6 (GUI) / v2.0.2 (CLI) - Access Denied fix (Safe-TestPath), security warning fix (Unblock-File)
  • v2.0.5 (GUI) / v2.1.0 (Platform-Detect) - Chrome install fix, exit code preservation, smart success detection
  • v2.0.4 (GUI) - Self-healing dependencies at system install path
  • v2.0.3 (GUI) - O&O ShutUp10 non-interactive fix
  • v2.0.0 (GUI & CLI) - Major cross-platform release

License

Copyright (c) 2025 myTech.Today. All rights reserved.

This software is proprietary and confidential. Unauthorized copying, distribution, or use is strictly prohibited.

Author

myTech.Today Professional IT Services - Serving the Midwest https://github.com/mytech-today-now/PowerShellScripts

Service Area:

  • Chicagoland, IL
  • Southern Wisconsin
  • Northern Indiana
  • Southern Michigan

Expertise:

  • 20+ years of IT experience
  • Windows automation and deployment
  • PowerShell scripting and development
  • System administration and support

Last Updated: 2026-03-17 Version: 2.0.6 (GUI) / 2.0.2 (CLI) Maintained by: myTech.Today

About

Cross-platform PowerShell app installer with GUI (Windows) and CLI (Windows/macOS/Linux) for 271+ apps via winget, brew, apt, dnf, pacman, and snap — with profiles, search, uninstall, and centralized logging.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages