How to Add and Remove Apps
Published: February 29, 2012
Updated: May 31, 2012
Applies To: Windows 8, Windows Server 2012
You can add line-of-business (LOB) Windows® Store apps to a Windows® image by using Windows PowerShell® or the Deployment Image Servicing and Management (DISM) platform. Windows Store apps are a new type of application that runs on Windows 8 devices. These apps are based on the Windows Runtime API and differ from traditional desktop apps in their design and in the way users can interact with them on Windows 8 devices. To learn more about Windows Store apps, see What is a Windows Store App?.
Typically, Windows Store apps are available only through the Windows® Store. You can submit LOB Windows Store apps to the Windows Store and make them available outside of your enterprise. However, you can also develop Windows Store apps for use only within your enterprise and add them to Windows devices you manage through a process we call sideloading. Sideloaded apps do not have to be certified by or installed through the Windows Store.
Apps that aren't signed by Windows Store can only be installed on sideloading-enabled devices. You can enable sideloading on Windows® 8 Enterprise or Windows Server® 2012 by joining the computer to a domain. To enable sideloading on a Windows 8 Enterprise computer that is not domain-joined or on any Windows® 8 Pro computer, you must use a sideloading product activation key. To enable sideloading on a Windows® RT device, you must use a sideolading product activation key. For more information about sideloading product activation keys, see Microsoft Volume Licensing.
LOB Windows Store apps can be sideloaded onto a PC in the enterprise through scripts at runtime on a per-user basis. They can also be provisioned in an image by the enterprise so that the app is registered to each new user profile that's created on the PC. The requirements to sideload the app per-user or in the image are the same, but the Windows PowerShell cmdlets you use to add, get, and remove the apps are different. This topic provides steps for both methods.
You cannot sideload an app that has been downloaded from the Windows Store. To install Windows Store apps that are not part of your business line, you must use the Windows Store. For more information about the Windows Store, see Managing Client Access to the Windows Store.
App Signing Requirements
You can install LOB Windows Store apps that are not signed by the Windows Store. The apps must be cryptographically signed and can only be installed on a computer that trusts the signing certificate.
For more information about how to sign an app and using certificates, see App Packaging Tools.
In this topic:
Windows 8 Sideloading Requirements
You can sideload LOB Windows Store apps apps on devices running Windows RT and on devices running Windows Server 2012, Windows 8 Enterprise, or Windows® 8 Pro. You can't sideload LOB Windows Store apps on any other editions of Windows in your enterprise. However, you can use a developer license to add apps that are in development to other editions of Windows. For more information about testing apps that are in development, see Get a Developer License.
Before you can add sideloaded LOB apps to a Windows image:
-
You must enable the Allow all trusted applications to install Group Policy setting.
Before you can run sideloaded LOB apps:
-
You must activate the sideloading product key on a device running Windows 8 Enterprise or Windows® 8 Pro. You must activate the sideloading product key on a device running Windows RT.
-OR- -
You must join the device running Windows 8 Enterprise or Windows Server 2012 to an Active Directory domain that has the Allow all trusted applications to install Group Policy setting enabled.
You can enable sideloading on Windows 8 Enterprise or Windows Server 2012 just by joining the device to a domain. To enable sideloading on a Windows 8 Enterprise device that is not domain-joined, you must use a sideloading product activation key.
Note |
|---|
| To enable sideloading on Windows® 8 Pro device, you must use a sideloading product activation key. |
Until the device meets all of the sideloading requirements, app tiles on the Start menu will show an "X" in the bottom-right corner to indicate that a problem is preventing the app from running.
-
Open the Group Policy editor (gpedit.msc). For example, on a computer that is running Windows 8, from the Start screen, type Edit Group Policy, click Settings, and then select the Edit Group Policy setting from the search results.
-
Under Local Computer Policy in the left pane, click to expand Computer Configuration, Administrative Templates, Windows Components, and then App Package Deployment.
-
Double-click the Allow all trusted apps to install setting.
-
In the Allow all trusted apps to install window, click Enabled and then click OK.
Setting the Group Policy to allow trusted applications updates the following registry setting: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1
-
Open a cmd prompt with administrator privileges and type the following to add the sideloading product key:
Slmgr /ipk <sideloading product key>
Where <sideloading product key> is the 25 digit key to enable sideloading on the computer.
-
Activate the sideloading key by typing:
slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
Note The activation GUID is not the same as the sideloading product key. The activation GUID will always be ec67814b-30e6-4a50-bf7b-d55daf729d1e.
For more information about sideloading product keys, see the Windows 8 Licensing Guide.
You can install an app package (.appx) on a per-user basis by using the add-appxpackage PowerShell cmdlet. There is no limit to the number of LOB apps you can add for each user.
-
At the Windows PowerShell prompt on a Windows 8 or Windows Server 2012 computer, add a .appx file package. Include any required dependency app packages when you add the app. For example, type:
add-appxpackage C:\app1.appx –DependencyPath C:\winjs.appx
For more information, see App Installation Cmdlets in Windows PowerShell.
Provisioning LOB apps
Apps that are installed in the Windows image are called provisioned apps. Provisioned apps are staged in the image and are scheduled to be installed for every user of the Windows image at first logon. You can add these apps to a Windows image when you boot into audit mode before you deploy the image by using the DISM app provisioning commands. For more information about audit mode, see Audit Mode Overview.
Provisioned apps are specific to the PC and will not roam with the user. You can only install 24 provisioned apps in an image.
On a Windows image that has already been deployed, you should instead use the Add-AppxPackage cmdlet in Windows PowerShell. If you do use the DISM app provisioning commands on a deployed Windows image with active users, you should log all users off of the image before you run the command.
To update a provisioned app, you must remove the provisioned app and then deploy the new version of the app. The update will then be applied the next time each user logs in.
-
Use the Deployment Image Servicing and Management (DISM) command-line tool or PowerShell cmdlets to add the LOB app without a Windows store license. For example, at an elevated command prompt, type:
DISM /Online /Add-ProvisionedAppxPackage /PackagePath:C:\App1.appx /SkipLicense
Or, at a Windows PowerShell prompt, type:
Add-AppxProvisionedPackage -Online -FolderPath C:\Appx
For more information, see App Package (.appx) Servicing Command-Line Options or DISM Cmdlets. For information about DISM supported platforms, see DISM Supported Platforms.
Note |
|---|
| The computer does not have to be joined to a domain or have an activated sideloading product key before you install provisioned LOB apps. However, the apps will not run until the computer meets this sideloading requirement. For more information, see How to Customize the Start Screen. |
You can list the LOB apps installed in on offline or online Windows image and get additional information about the packages.
-
You can get a list of the modern LOB apps installed for a specific user account on the computer. You must open Windows PowerShell with administrator privileges to list the packages for a user other than the current user. For example, at the Windows PowerShell prompt, type:
Get-AppxPackage -AllUsers
-
You can get a list of packages installed for a specific user. You must open Windows PowerShell with administrator privileges to list the packages for a user other than the current user. For example, at the Windows PowerShell prompt, type:
Get-AppxPackage -Name Package1 -User domain\username
-
You can also get the manifest of an app package (.appx) which includes information such as the package ID. For example, at the Windows PowerShell prompt, type:
Get-AppxPackageManifest -Package Package1
-
You can use piping to get the manifest for an app package (.appx) if you don’t know the full name of the package. For example, at the Windows PowerShell prompt, type:
(Get-AppxPackage -Name "*WinJS*" | Get-AppxPackageManifest).package.applications.application.id
-
You can get a list of the packages that are provisioned in a Windows image that will be installed for each new user by using Dism.exe or Windows PowerShell. For example, at a Windows PowerShell prompt, type:
Get-AppxProvisionedPackage -Path c:\offline
Or, at a command prompt, type:
DISM.exe /Image:C:\test\offline /Get-ProvisionedAppxPackages
For more information, see How to Take Inventory of an Image or Component.
You can remove individual instances of an app, or remove the provisioning setting of an app.
-
You can remove a single app for the current user only. For example, at a command prompt, type:
Remove-AppxPackage Package1
-
When you remove a provisioned app, the app is removed for the current user, and will not be installed for new user accounts. If there are other user accounts that are active on the computer, the application will not be removed from those accounts.
For example, at an elevated Windows PowerShell prompt, type:
Remove-AppxProvisionedPackage -Online -PackageName MyAppxPkg
Or, at a command prompt, type:
DISM.exe /Online /Remove-ProvisionedAppxPackage /PackageName:microsoft.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
See Also
