Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MSEndpointMgr/M365Apps
Scripted option to install M365 Apps, Project, Visio and Proofing tools using ODT
https://github.com/MSEndpointMgr/M365Apps
Last synced: about 2 months ago
JSON representation
Scripted option to install M365 Apps, Project, Visio and Proofing tools using ODT
- Host: GitHub
- URL: https://github.com/MSEndpointMgr/M365Apps
- Owner: MSEndpointMgr
- License: mit
- Created: 2022-10-23T17:40:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-16T09:16:46.000Z (5 months ago)
- Last Synced: 2024-06-12T08:13:02.743Z (3 months ago)
- Language: PowerShell
- Size: 625 KB
- Stars: 51
- Watchers: 7
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.MD
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
---
Version: 1.2.1
Title: M365 Apps Intune scripted dynamic install using Office Deployment Toolkit
Authors: JankeSkanke, sandytsang
Owner: JankeSkanke
Date: 16/12/2022
Description: Deploying M365 with Intune dynamically as a Win32App
---
[![HitCount](https://hits.dwyl.com/msendpointmgr/m365apps.svg?style=flat)](http://hits.dwyl.com/msendpointmgr/m365apps)# M365 Apps Intune scripted dynamic install using Office Deployment Toolkit
## This solution covers installation of the following products
* [M365 Apps(Office)](#main-office-package-getting-configuration-from-external-url)
* [Project](#project-and-visio)
* [Visio](#project-and-visio)
* [Proofing tools](#proofing-tools)Each product is made of the following components
* Install script (PowerShell)
* Local Configuration.xml or External URL
* Detection (script or documented)***
## Main Office Package (getting configuration from External URL)1. Define your config XML (Example below, can be generated at config.office.com)
```xml
```
1. Create a .Intunewim using the Win32 Content Prep tool [Prepare Win32 app content for upload](https://learn.microsoft.com/en-us/mem/intune/apps/apps-win32-prepare?WT.mc_id=EM-MVP-5002085) containing the InstallM365Apps.ps1
2. Upload .Intunewim and define the following parameters during install
* Install Command:
* ```powershell.exe -executionpolicy bypass -file InstallM365Apps.ps1 -XMLURL "https://mydomain.com/xmlfile.xml"```
* Uninstall Command:
* ```powershell.exe -executionpolicy bypass -file InstallM365Apps.ps1``` (Not working yet)
* Install behaviour: System
* Requirements (probable 64 bit Windows something)
* Detection: Use PowerShell detection Script M365AppsWin32DetectionScript.ps1
1. Assign***
## Main Office Package (using configuration.xml inside package)
1. Define your config XML (Example below, can be generated at office.com)
```xml
```
2. Create a .Intunewim using the Win32 Content Prep tool [Prepare Win32 app content for upload](https://learn.microsoft.com/en-us/mem/intune/apps/apps-win32-prepare?WT.mc_id=EM-MVP-5002085) containing the configuration.xml and the InstallM365Apps.ps1
2. Upload .Intunewim and define the following parameters during install
* Install Command:
* ```powershell.exe -executionpolicy bypass -file InstallM365Apps.ps1```
* Uninstall Command:
* ```powershell.exe -executionpolicy bypass -file InstallM365Apps.ps1``` (Not working yet)
* Install behaviour: System
* Requirements (probable 64 bit Windows something)
* Detection: Use PowerShell detection Script M365AppsWin32DetectionScript.ps1
1. Assign> Note: If you are deploying other languages than EN-US, you might need to edit the script M365AppsWin32DetectionScript.ps1 to properly detect your installation.
***
## Project and Visio1. Define your config XML
```xml
```
> The provided configuration.xml can not be imported on config.office.com and must be stored in for instance a Azure blob storage when using external url option.* This configuration file example will match the language installed (M365 Apps).
* TargetProduct is required for that to work.
* This example will shutdown running Office Apps for end users during install.
* Follow others steps from the main office package.
Project Install Command (Local):
```PowerShell
powershell.exe -executionpolicy bypass -file InstallProject.ps1
```Project Install Command (ExternalXML):
```PowerShell
powershell.exe -executionpolicy bypass -file InstallProject.ps1 -XMLURL "https://mydomain.com/xmlfile.xml"
```Visio Install Command (Local):
```PowerShell
powershell.exe -executionpolicy bypass -file InstallVisio.ps1
```Visio Install Command (ExternalXML):
```PowerShell
powershell.exe -executionpolicy bypass -file InstallVisio.ps1 -XMLURL "https://mydomain.com/xmlfile.xml"
```***
## Proofing tools or LanguagePacks
We recommend installing only 1 language on the computers unless your requirements are very specific. But there might still be some users that would need a complete language pack or proofing tools for various languages. The main thinking here is to have all possible proofing tools in your environment as available to end user to install by their own choosing.
For these 2 options the included configuration.xml files are just "templates" as the script it self will rewrite the XML dynamically based on the parameters you send to the script.
>There is no need to maintain this XML as long as Microsoft does not change the XML requirements.
***
**EXAMPLES for LanguagePacks**```PowerShell
powershell.exe -executionpolicy bypass -file InstallLanguagePacks.ps1 -LanguageID nb-no -Action Install
powershell.exe -executionpolicy bypass -file InstallLanguagePacks.ps1 -LanguageID nb-no -Action Uninstall
```**EXAMPLES for Proofing Tools**
```PowerShell
powershell.exe -executionpolicy bypass -file InstallProofingTools.ps1 -LanguageID nb-no -Action Install
powershell.exe -executionpolicy bypass -file InstallProofingTools.ps1 -LanguageID nb-no -Action Uninstall
```
***
It is also recommended that you have a requirement to check if Main Office is installed on the device as the install will fail if you try to install the a language pack or proofing tools without Office installed. This can be done using a registry key check or using the provided requirement script.
**ProofingRequirementScript.ps1**
***
Detection of language packs is best using registry detection. Example Norwegian:
* Key Path: **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - nb-no**
* Value Name: **DisplayName**
* String Comparison - Equals
* Microsoft 365 Apps for enterprise - nb-noDetection of the proofing tools can be done either with the provided detection script, customized for each LanguageID or by using a registry key check(Recommended).
EXAMPLE Detection Rule:
Registry**HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - nb-no.proof**
***
Get URL from config.office.com :For more details and instructions go to [MSEndpointMgr Blog](https://msendpointmgr.com/2022/10/23/installing-m365-apps-as-win32-app-in-intune/)
This solution has been developed by @JankeSkanke with assistance from @sandytsang and @maurice-daly