Windows OS Hub
  • Windows
    • Windows 11
    • Windows 10
    • Windows Server 2025
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
    • Proxmox
  • PowerShell
  • Linux
  • Home
  • About

Windows OS Hub

  • Windows
    • Windows 11
    • Windows 10
    • Windows Server 2025
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
    • Proxmox
  • PowerShell
  • Linux

 Windows OS Hub / Group Policies / Deploying MSI and EXE Software Using Group Policy

August 3, 2026

Deploying MSI and EXE Software Using Group Policy

In this article, we’ll show you how to centrally deploy software to computers in an Active Directory domain using Group Policy. We’ll cover both traditional Windows applications distributed as MSI packages and methods for deploying applications that are available only as EXE installers.

The Group Policy Software Installation (GPSI) extension, which is built into Windows, enables administrators to install, update, and remove applications on domain-joined computers using MSI packages. GPSI also supports deploying EXE applications that have been repackaged as ZAP files, although this method provides fewer features and has several limitations compared to native MSI deployment.

Contents:
  • Extract an MSI Package from an EXE Setup File
  • Deploying Software (MSI Packages) to Domain Computers via GPO
  • Customize MSI Package Installation Options Before Deploying via GPO
  • How to Publish an EXE App with a ZAP Package in GPO
  • Install EXE Apps on Multiple Computers with PowerShell and GPO

Extract an MSI Package from an EXE Setup File

Let’s see how to install the MSI software package on users’ computers via Windows Group Policies using the example of the Microsoft Teams client.

Download the MSI package with the Teams client (http://aka.ms/teams64bitmsi) and copy Teams_windows_x64.msi to the SYSVOL folder on the domain controller (or to any other shared folder on a file or DFS server).  Check the permissions for this network folder. Domain users must have Read and Execute permissions, but not write permissions.

Using SYSVOL to deploy software via GPO

If you have any devices running Windows x86 versions in your domain network (which is unlikely), you need to create separate GPOs for x86 and x64 computers. You can use GPO WMI filters to filter Windows versions in Group Policies.

Not all program installers are provided in the form of MSI package files. Developers most often provide them as executable EXE installer files, which are not suitable for deployment via GPO. However, in some cases, you can extract the MSI package from the EXE installation file:

  • Some EXE installers extract their files into the %temp% directory during installation. So, after running the program installation, minimize the installation window, try to open this folder, and find the source of the installation MSI file in it.
  • Another way to extract an MSI file is to try to open the setup EXE file with 7-Zip. Start 7-Zip and select File -> 7ZIP –> Open Archive. 7-Zip will attempt to open an EXE file as an archive. In our case, we successfully extracted the MSI and MST files from the Acrobat Reader installation EXE file. Extracting MSI from EXE installation

Deploying Software (MSI Packages) to Domain Computers via GPO

Then create a new domain Group Policy Object to install your software.

  1. Open the domain Group Policy Management console (gpmc.msc).
  2. Create a new policy (CorpInstallTeams) and link it to the OU containing the computers on which you want to install the app (Create a GPO in this domain, and link it here).create gpo to deploy msi package
  3. Edit the GPO and go to Computer Configuration -> Policies -> Software Settings -> Software installation (the same section of the User Configuration can be used to install software on user accounts instead of computers).
  4. Select New -> Package. create software deployment package in group policy management editor
  5. Select the MSI installer file stored in a shared folder or the SYSVOL directory (use the UNC path).
  6. Select Advanced and click OK.
  7. Select the installation mode Assigned (the program is installed automatically when the computer starts or the user logs on) or Published (the program is not installed automatically, but the user can run its installation at any time from the Add/Remove Programs in the Control Panel).deploying software via gpo with advanced or assigned method
  8. In the next window, you can set additional MSI package options. I will only change the displayed name from Teams Machine-Wide Installer to Microsoft Teams Client.change software installation options in GPO editoror
  9. In the Deployment tab, click Advanced and check Ignore language when deploying this package.
  10. Restart the client computer to update the GPO settings. The app will then be installed the next time the computer boots up. It will appear in the list of installed Windows apps. You can find the installation events in the System section of the Event Viewer (filter the event list by the Application Management Group source).
    Windows 11 has a built-in Teams Chat feature, but it’s not a full-featured Microsoft Teams client.
  11. You can display the detailed GPO processing status on the computer. To do it, enable the GPO option Display highly detailed status messages under Computer Configuration -> Policies -> Administrative Templates -> System. Now all background GPO processing tasks will be displayed when Windows starts. If any apps are installed using GPO, you will see the message: Installing managed software AppNameInstalling managed software message on Windows startup screen
If the software deployment GPO is not being applied to target computers, use the troubleshooting tools and techniques, such as the steps described in Why a Group Policy Is Not Applied to a Computer and the gpresult command.

Customize MSI Package Installation Options Before Deploying via GPO

The standard GPO software installation interface does not allow you to specify installation keys or custom parameters for MSI installation packages. For example, when installing an antivirus agent on a user’s computer, you must specify the management server address. Or, when you install Teams from the command prompt using msiexec, you can disable the MS Teams client automatic startup and hide it from the list of installed apps. In this case, the MSI package installation prompt with arguments can look like this:

msiexec /i Teams_windows_x64.msi OPTIONS="noAutoStart=true" ALLUSERS=0

How can you customize or add installation options to an MSI package? MST transformation files can be used in this case. This file type allows you to change the default MSI package settings according to your installation scenario.

To create an MST file for an MSI package, you can use the ORCA tool (it is a part of the Windows Installer SDK).

Open your MSI package using Orca.

Create a New Transformation and set your custom MSI package options in the Property section. I changed the following options for my Teams client deployment:

  • noAutoStart = True
  • ALLUSERS = 0

Modify an MSI file options with the Orca MSI editor

Select Transform -> GenerateTransform, and then save the changes as an MST file (teams_mod.mst). Copy the file to the shared folder (or SYSVOL) directory containing the software installers.

Then remove the previous rule to install the MSI package in the GPO, since you can only add an MST file with package modifications when creating an app installation rule.

Select All –> Task -> Remove.

remove app deployment GPO

Create a new software deployment rule, select the MSI file from the shared folder (or SYSVOL), and go to the Modification tab. Click Add. Select the MST file you created earlier.

adding MST modifier to software deployment gpo

The MST file will now be automatically applied during the MSI installation via GPO, and the application will be installed with the necessary settings.

The main disadvantages of MSI software installation via GPO:

  1. Only MSI installers are supported.
  2. It is not possible to schedule the installation of the app at a specific time. Installing software simultaneously on multiple computers (usually when systems are powered on in the morning) can significantly increase the load on the network and domain controllers. In this case, it is better to use SCCM with maintenance windows or WOL (Wake On LAN) settings.
  3. It is not possible to change the order of software installation in a single GPO. W When a new installation package is added to a GPO, it is installed last.
  4. There are no centralized tools for receiving reports on whether program installations via GPO were successful or failed on client computers.

How to Publish an EXE App with a ZAP Package in GPO

Now, let’s look at another approach for deploying an application whose installer is provided only as an EXE file rather than an MSI package. Windows Group Policies support the ZAP (Zero Administration Package) format for installing software distributed in EXE format.

A ZAP file is a plain text file similar to an INI configuration file. It contains the path to the EXE file to be run, installation parameters, and other options.  The Group Policy Software Installation extension can execute instructions from a ZAP file and run an installation from an EXE file.

Now, let’s look at an example of installing an EXE package with the Lightshot tool using a ZAP file in Group Policy.

If necessary, check which installation options the EXE software installer supports. To see available deployment options, it is usually enough to run with the argument /? or /help. In this example, the installer offers a wide range of options. To install the Lightshot tool automatically (silently), I will use the following options:

/SP- /VERYSILENT /SUPPRESSMSGBOXES /NORESTART

list available install options for an exe installer

Next, copy the Lightshot installer file (lightshot.exe) to the network folder (it can be SYSVOL), from which the installation will be performed. Create a text file with a .ZAP extension in the same folder. In this file, specify the application name, installation command, and, optionally, the version and developer.

Here is an example of a simple ZAP file package.:

[Application]
FriendlyName = "Lightshot – tool for capturing screenshots"
SetupCommand = "\\mun-fs01\Install\lightshot.exe /SP- /VERYSILENT /SUPPRESSMSGBOXES /NORESTART"
DisplayVersion = 5.4
Publisher = "Skillbrains"
In the optional [Extensible] section, you can configure file associations for this application.
  1. Next, create a GPO and assign it to the OU containing user accounts.
  2. In the GPO editor, navigate to User Configuration -> Policies -> Software Settings -> Software installation
  3. Add a new installation package (select in the file type filter, ZAW Down-level application packages *.zap ) and specify the UNC path to the ZAP file.
  4. Select the Published installation method. This is the only supported deployment method for ZAP files. Deploy software via GPO using ZAP package
  5. To make the x86 app available for installation on Windows x64, enable the option Make this 32-bit x86 application available to Win64 machines. GPO option: Make this 32-bit x86 application available to Win64 machines
  6. After the GPO settings are updated on the client, a new program will be available for installation from the network via the Control Panel -> Programs -> Programs and Features -> Install a program from the network (Run this command to quickly navigate to this item: control appwiz.cpl,,1 )Windows Control Panel: install software from the network
  7. Now, users can run program installations at any time via the Control Panel. Windows 11: A program is installed from the network using a GPO.

But here we encounter the key limitations of using the ZAP format to deploy applications with EXE installers, which are as follows:

  • An application can be installed via GPO only on a per‑user basis (The software is published to users, but not assigned)
  • Installation is performed with current user permissions. If an EXE-based app requires elevated privileges during installation, Windows will display a User Account Control (UAC) prompt. If the user does not have local administrator permissions, the installation will fail. UAC prompt during software installation via ZAP package

Therefore, the ZAP format is only suitable for installing EXE applications that are installed with non-admin user permissions (typically to the %AppData% folder) and don’t require administrator rights.

By analogy, you can create a ZAP file to install any Windows app from an EXE installer via GPO.

Install EXE Apps on Multiple Computers with PowerShell and GPO

A slightly more complex but much more flexible way of deploying EXE applications to users’ computers is to use BAT or PowerShell scripts assigned via Group Policy.

The idea is that an administrator creates a GPO that runs a PowerShell script when Windows boots up or a user logs on. This script then performs the following:

  • Checks whether the application’s executable file already exists on the computer.
  • Checks the version of the application file. If an older version is already installed, a newer version will be scheduled for installation (application update).
  • In addition, the PowerShell script can either log all actions to a text file or write events directly to the Event Viewer log.

The following is an example of a PowerShell script for installing the 7-Zip app from an EXE installer (we described how to get options for silent/unattended installation of the program above).

$AppPath = "C:\Program Files\7-Zip\7zFM.exe"
$TargetAppVersion = "26.02"
$CurrentAppVersion = (Get-ItemProperty -Path $appPath).VersionInfo.FileVersion
if (!(Test-Path $AppPath) -or $CurrentAppVersion -ne $targetAppVersion) {
$AppSrc = "\\mun-fs01\Deployment\7z2602.exe"
$process = Start-Process -FilePath $AppSrc -ArgumentList "/S" -Wait -PassThru
if ($process.ExitCode -eq 0) {
Write-EventLog -LogName Application -Source "Application" -EntryType Information -EventID 11 -Message "The installation of 7-Zip 26.02 was completed successfully."
} else {
Write-EventLog -LogName Application -Source "Application" -EntryType Error -EventID 12 -Message "The installation of 7-Zip 26.02 failed."
}
}

Deploy EXE based software via GPO using PowerShell script

This PowerShell script can be deployed as a Group Policy startup script or executed via a Scheduled Task (such a task can also be deployed to client computers via GPO). Scheduled tasks are often more flexible than traditional logon scripts because they allow administrators to control when application installation or updates are performed. For example, software deployment can be scheduled to run at a specific time, outside of business hours, or regularly according to a defined schedule.

Applications can also be deployed to users’ computers using alternative methods. This includes copying application files directly to client computers, running one-time deployment scripts, using SCCM, using the WinGet package manager, or installing/updating third-party apps via a WSUS server.
1 comment
6
Facebook Twitter Google + Pinterest
Active DirectoryGroup PoliciesWindows 11Windows Server 2022
previous post
Updating VMware ESXi Host from the Command Line (ESXCLI)
next post
RDS and RemoteApp Performance Issues on Windows Server 2019/2016

Related Reading

How to Find the Source of Account Lockouts...

March 12, 2024

How to Delete Old User Profiles in Windows

March 15, 2024

Configuring Windows Firewall Rules Using Group Policy

March 15, 2024

How to Update Trusted Root Certificates in Windows:...

February 26, 2026

Copy Files and Folders to User Computers via...

March 15, 2024

How to Hide or Show User Accounts from...

April 8, 2026

How to Disable NTLM Authentication in Windows Domain

March 16, 2024

Troubleshooting: Group Policy (GPO) Not Being Applied to...

March 15, 2024

1 comment

John November 11, 2024 - 4:44 pm

Why is the Group policy path blurred out? not very helpful

Reply

Leave a Comment Cancel Reply

join us telegram channel https://t.me/woshub
Join WindowsHub Telegram channel to get the latest updates!

Recent Posts

  • Windows Installer Service Could Not Be Accessed? How to Fix It

    July 28, 2026
  • Why Windows Reports No Internet Access: How Connectivity Detection Works

    July 26, 2026
  • Inactive TS Ports in Windows: Causes and Fixes

    July 20, 2026
  • Add Wireless Wi-Fi Profiles on Windows Devices via Export/Import or GPO

    July 13, 2026
  • CrowdSec on Windows: From Installation to Threat Blocking

    July 3, 2026
  • Manage Microsoft Store Apps with Store CLI in Windows 11 from Terminal

    July 2, 2026
  • Windows Sandbox on Windows 11: Enable, Configure, and Use

    June 10, 2026
  • How to Monitor Windows Machines with Zabbix

    May 26, 2026
  • Fixing Duplicate Security Identifier (SID) Issues in Windows

    May 25, 2026
  • Monitor a Folder for File Changes Using PowerShell and FileSystemWatcher

    May 15, 2026

Follow us

  • Facebook
  • Twitter
  • Youtube
  • Telegram
Popular Posts
  • Configure Google Chrome Settings with Group Policy
  • Get-ADUser: Find Active Directory User Info with PowerShell
  • Allow Non-admin Users RDP Access to Windows Server
  • How to Find the Source of Account Lockouts in Active Directory
  • How to Disable or Enable USB Drives in Windows using Group Policy
  • Get-ADComputer: Find Computer Properties in Active Directory with PowerShell
  • Configuring Proxy Settings on Windows Using Group Policy Preferences
Footer Logo

@2014 - 2026 - Windows OS Hub. All about operating systems for sysadmins


Back To Top