Skip to content

offlineinstallersetup/enterprise-software-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Enterprise Software Deployment

Deployment guides, scripts, and reference for distributing offline software installers across enterprise environments — Windows (SCCM, Intune, GPO, MDT), macOS (Jamf, Mosyle, Kandji), and Linux (Ansible, Salt, Puppet).

Maintained by OfflineInstallerSetup.com — a verified offline installer reference for IT teams.

Website SCCM Intune Jamf


Why offline installers for enterprise?

Enterprise IT teams need predictable, repeatable installs. Web-stub installers create problems:

  • ❌ Online dependency means failed installs on slow / restricted networks
  • ❌ Stub downloaders pull whatever the vendor serves today — version drift
  • ❌ No way to scan / approve before deployment
  • ❌ Can't push to air-gapped or DMZ-restricted machines

Standalone offline installers solve this. Pin one verified version. Deploy across the fleet. Roll back cleanly when needed.

For a curated catalog of software with offline installers, see offlineinstallersetup.com.


Windows Deployment

SCCM (Microsoft Endpoint Configuration Manager)

For each application package:

  1. Download the offline installer from a verified source (reference)
  2. Place in source share\\sccmshare\sources\AppName\Version\
  3. Create application in SCCM console
  4. Set deployment type with detection method (registry key or file version)
  5. Use silent install command (cheat sheet)
REM Example install command
msiexec /i "GoogleChromeStandaloneEnterprise64.msi" /qn /norestart

Microsoft Intune (Win32 apps)

REM Wrap with IntuneWinAppUtil.exe first
IntuneWinAppUtil.exe -c .\source -s installer.msi -o .\output

REM In Intune portal, configure:
REM   Install command: msiexec /i installer.msi /qn /norestart
REM   Uninstall command: msiexec /x {GUID} /qn
REM   Detection rule: MSI product code or file version

Group Policy (GPO)

For MSI deployments via Active Directory:

  1. Place MSI on a UNC share readable by Domain Computers
  2. Group Policy Management → Computer Configuration → Software Installation
  3. Choose Assigned (auto-install at boot) or Published (user opt-in)

MDT (Microsoft Deployment Toolkit)

<!-- Add as Application in MDT -->
<Application>
  <Name>Google Chrome Enterprise</Name>
  <CommandLine>msiexec /i GoogleChromeStandaloneEnterprise64.msi /qn /norestart</CommandLine>
  <WorkingDirectory>.\Applications\GoogleChrome</WorkingDirectory>
</Application>

PowerShell DSC

Configuration InstallApps {
    Node localhost {
        Package InstallChrome {
            Name = 'Google Chrome'
            Path = 'C:\offline-installers\GoogleChromeStandaloneEnterprise64.msi'
            ProductId = '{12345678-1234-1234-1234-1234567890AB}'
            Arguments = '/qn /norestart'
            Ensure = 'Present'
        }
    }
}

macOS Deployment

Jamf Pro

  1. Upload the PKG to Jamf Admin
  2. Create a Policy with the package as payload
  3. Scope to Smart Group / Static Group
  4. Trigger: Recurring Check-in / Custom event

Mosyle / Kandji

Same flow — upload PKG, create blueprint, scope to device group. For DMG-distributed apps, use a custom script:

#!/bin/bash
hdiutil attach "/path/to/installer.dmg" -nobrowse -quiet
cp -R "/Volumes/AppName/AppName.app" /Applications/
hdiutil detach "/Volumes/AppName" -quiet
xattr -dr com.apple.quarantine /Applications/AppName.app

Verifying signatures before deployment

pkgutil --check-signature /path/to/installer.pkg
codesign -dv --verbose=4 /Applications/AppName.app

Reference: Verify installer safety


Linux Deployment

Ansible

- name: Install offline DEB packages
  hosts: ubuntu_fleet
  become: yes
  tasks:
    - name: Copy installer
      copy:
        src: ./offline-installers/code_x.x.x_amd64.deb
        dest: /tmp/code.deb

    - name: Install offline DEB
      apt:
        deb: /tmp/code.deb
        state: present

Salt

install_chrome:
  pkg.installed:
    - sources:
      - google-chrome-stable: salt://offline/google-chrome-stable_amd64.deb

Building an offline package mirror

For air-gapped Linux fleets:

# Debian / Ubuntu - apt-mirror
apt install apt-mirror
# edit /etc/apt/mirror.list
apt-mirror

# Fedora / RHEL - reposync
dnf install dnf-utils
reposync --download-metadata --downloadcomps -p /var/spool/repos/

Reference: Offline installer availability


Best Practices

Practice Why
Mirror to internal share Reduce internet dependency, audit trail
Verify SHA256 / signatures Detect tampering before deployment
Pin specific versions Reproducible installs
Test in dev pool first Catch breakage before production
Document silent install switches Future-proof your runbooks
Schedule retention cleanup Don't keep stale installers forever

Resources


Contributing

Have a deployment script or tip that should be here? Open a PR or contact via offlineinstallersetup.com/contact.

License

CC0 — Public domain.


🌐 Maintained by OfflineInstallerSetup.com

About

Enterprise software deployment guides and scripts. SCCM, Intune, Jamf, MDT, GPO, PowerShell. For deploying offline installers across Windows, macOS, and Linux fleets. From offlineinstallersetup.com

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors