GitHub Desktop is a graphical user interface (GUI) app designed to simplify and streamline the process of working with Git repositories hosted on GitHub, a popular platform for version control and collaborative software development. Git is a distributed version control system that allows developers to track changes in their codebase, collaborate with others, and manage different versions of their projects.
GitHub Desktop provides an intuitive interface that allows users to perform common Git actions without needing to use the command line interface. GitHub Desktop is available for both Windows and macOS operating systems. It aims to provide a simpler entry point for developers who may not be comfortable with the command-line interface of Git.
In this blog post, I will show you how to deploy Github desktop application on Intune managed windows devices. First we will download the application from github website and then create a Win32 app deployment package on using Intune admin center to deploy this app.
Github desktop is available for download as .exe form and also as .MSI Installer file as well. When you use .exe based Installer file, It will install the application in User Context. When you will use .MSI Installer to deploy the app using Intune, it will be Installed in device context.
For .exe installer I would be using Win32 app deployment method and for .MSI installer you can use Line-of-business app type. I have provided the steps to deploy Github desktop in device context (using MSI installer) at the end of this blog post.
Download Github Desktop setup / Installer
To download Github desktop Installer you can follow below steps:
- Browse to website GitHub Desktop and then click on Download for Windows (64-bit) button. It will download Github desktop .exe Installer file for you.
Steps to deploy Github desktop on Windows using Intune
Please follow below steps to create an app deployment package and target it to the users. I will be using Intune Content prep tool to create .intunewin file. Please follow below steps to create .intunewin file for Win32 app deployment.
- Once you download Github desktop, move it a separate folder which does not contain any other files apart from application setup files. I have moved it to D:\Githubsetup folder.
- Create an empty folder anywhere in C:\ or D:\ drive called Output. You can name it whatever you like. This will be the folder where we will generate .Intunewin file.
- Download and Extract Microsoft Win32 Content Prep tool. I have extracted it to C:\IntuneContentPrepTool.
- Launch Powershell console as an administrator and browse to extracted Microsoft Win32 content prep tool folder.
- Run IntunewinAppUtil.exe and you will get options to specify Source Folder, Setup File, Output Folder and Catalog Folder.
- Source Folder: Provide the location of the folder where all application setup files are copied. D:\Githubsetup.
- Setup File: Provide the name of the .exe file which installs applications on user device. GitHubDesktopSetup-64.exe
- Output folder: Provide a location of a folder where .Intunewin file will be generated. You can provide any folder you like, But i generally create an empty folder called Output for this. C:\output
- Catalog folder: Specify N to not specify any Catalog folder or simply press Enter to skip.
.IntuneWinAppUtil.exe One liner Command |
---|
I have executed .IntuneWinAppUtil.exe program without any parameters specified which prompts for all required information on the powershell console. But you can also run .IntuneWinAppUtil.exe run with all the parameters specified in one single line. \IntuneWinAppUtil.exe -c <setup_folder> -s <setup_file> -o <output_folder> .\IntuneWinAppUtil.exe -c “D:\Githubsetup” -s GitHubDesktopSetup-64.exe -o C:\output |
Create Win32 app for Github desktop on Intune admin center
We have created .intunewin file for Github desktop application in previous steps. Using this file we will create Win32 app deployment on Intune admin center which will deploy Github Desktop on target user’s devices.
Please follow below steps to create Intune Windows app (Win32) app using .IntuneWin file.
- Login on Microsoft Intune admin center
- Click on Apps and then click on All Apps
- Click on + Add and Select Windows app (Win32) from app type
App Information
Click on Select app package file to browse and select GitHubDesktopSetup-x64.intunewin file and click on OK. On App information tab, provide Information about the Application. Update the Name, Description and Enter the name of the publisher. Click on Next to proceed.
Required Fields:
- Name – Provide a unique name of the application. This name will show up on the Company portal app. For example: Github Desktop App
- Description – You can use this field to provide your users with Information / Instructions which could help end users while Installing and managing this application from Company portal app.
- Publisher – This is to Identify the publisher of the application. Publisher also shows up on Company Portal for the app. For example: Microsoft.
Optional fields:
- App version – Provide App version Information which will show on Company portal app
- Category – You can choose a category to organize application on the company portal app
- Show this as a featured app in the Company Portal – If you want to make this as a featured app on Company portal app then select Yes.
- Information URL – This provides information about the application. You can provide a link which user’s can click on to get more information about this application
- Privacy URL – Provide a link here which users can click on and find information about Privacy settings and Policies.
- Developer – Provide a name of the company or a person who has developed this app
- Owner – Provide a name of the person who manages this app in your organization. This could be IT team name or an Individual who manages licensing etc
- Notes – Provides additional information about this app which could be helpful for the users
- Logo – Upload a logo that’s associated with the app. This logo will appear next to the app on Company Portal.
Program
In Program tab you have to provide the commands which will execute on target device to Install or Uninstall the application.
- Install command: Provide Install command as GitHubDesktopSetup-x64.exe -s
- Uninstall command: Same as Install command as I am still testing to find out Uninstall command line switch for this app. If you happen to know the command to Uninstall this app, please post it in comment section. Happy to test it out.
An alternative for Uninstall command not available is to use .MSI based Installer which will deploy this app in device context. You can also easily Uninstall this app when you use Line-of-business app option on Intune. I have provided the steps to create MSI based deployment of Github desktop app at the end of this blog post.
Please note when you use .MSI based Installer, the app will be installed for each user at first sign-in. Everytime a user will sign-in, it will execute
%"[#GitHubDesktop.exe]" --checkInstall
command. So if you use a device based installer and does not immediately see the app installed, please sign-out and sign back in on your device once.
- Installation time required (mins): Keep default which is 60 minutes.
- Allow available uninstall: As we still have to work out on Uninstall command, Select No option which will not provide options to uninstall this app from company portal app.
- Install behavior: We will deploy this app in User context as we are using a User based Installer rather than system based Installer.
- Device restart behavior: Select No specific action to not take any action after the application is Installed.
Requirements
Provide Operating System Architecture and Minimum operating system information. Click on Next to proceed.
- Operating System Architecture: 64-bit
- Minimum operating system: Select according to the operating system version being used in your enviornment. For Example: Windows 10 1607.
Detection Rules
Select Manually configure detection rules and click on +Add to add a detection rule.
- Rules Format: Select Manually configure detection rules
- Rule Type: File
- Path: %localappdata%\GitHubDesktop\
- File or folder: GitHubDesktop.exe
- Associated with a 32-bit app on 64-bit clients: No
Assignments
Create an Azure AD Security group which contains users or devices on which we need to deploy this app. If you prefer a more controlled deployment to specific users only, then make sure to target only specific users via Azure AD group. Once your testing is successful and you want to deploy this script on all Organization devices, you can click on + Add all users.
There are three assignments options available for deployment of Win32 app. Please find below:
- Required – If you add any user or device into required assignment group then app installation on the device will be mandatory and it will also be deployed as soon as the next Intune device check-in process completes.
- Available for enrolled devices – If you add any user or device into “Available for enrolled devices” assignment group then the application will be available for Installation from company portal app / website. It will not be Installed unless user will login on company portal app / website and click on Install button.
- Uninstall – Adding users or devices into this assignment group will Uninstall the application from the target devices.
Review + Create
Next tab is for Review + Create. Save the application which will start the process of uploading .intunewin file and also will start the deployment process.
Intune Policy Refresh Cycle
The Device will Sync / Check in to start Win32 app deployment. It may take some time for the process to start. Therefore, if you are testing it on a test device, you can force initiate Intune refresh cycle on the device which will speed up the download and installation process. You can also use Powershell to force initiate Intune refresh cycle.
Also, you can restart the device first which also starts the device check-in process. Manual sync is not mandatory on user’s devices as the device check-in process happens automatically. But if you are testing this setting on a test device then this can speed up your testing and can save some time.
Monitoring the Installation Progress
To check the Installation status of the app, You can follow below steps:
- From Intune admin center, Click on Apps on the left hand side.
- Click on All apps.
- Search for the app Github Desktop app deployment and click on it.
From the Overview page of the application, you can check the status of Installation and Failures. To find per device or per user Installation status, you can also click on Device Install status or User Install status.
End User Experience
Let’s check if the application has been installed on end user device. To check and confirm the Installation, please follow below steps:
- Press Windows Key + R to open Run dialog box
- Type appwiz.cpl and press enter to open programs and features window
- Find Github Desktop application in the list of Installed programs to confirm the Installation.
- As we have installed this application in User’s Context, it will be installed In user’s profile location as well under %localappdata% folder.
- You can search for Github Desktop application in Start Menu and click on it to launch.
- After its launched you will see a window with Welcome to Github Desktop message. Click on on either Sign in to GitHub.com or Sign in to GitHub Enterprise to proceed. If you do not have any account on with Github then you can also click on Create your free account to create an account.
Deploy MSI Installer of Github desktop on Windows using Intune
In previous sessions of this post, I have provided the steps to deploy .exe Installer of Github desktop app on windows devices using Intune. However, MSI Installer is also available on the website for GitHub Desktop app.
MSI Installer will install the application in System context, therefore it will be available for any user who will sign-in on the device. You can call it as machine based Installation where a program is installed in program files / program files (x86) folder instead of user profile folder.
As its a device context based installation, you can easily uninstall this app by targeting a device in Uninstall assignment of the app deployment from Intune admin center. The steps for Uninstalling MSI line of business app are also provided in blog post: How To Deploy MSI Application Using Intune.
Creating Github Desktop MSI deployment on Intune admin center
Creating Github desktop MSI deployment using Intune is similar to deploying any other MSI Installer based application. Therefore the steps will remain exactly the same. I have written a blog post which provides steps to create MSI Installer app deployment from Intune admin center. Deploy MSI Installer Based Application Using Intune. Please follow this blog post to deploy Github desktop MSI Installer.
Please note when you use .MSI based Installer, the app will be installed for each user at first sign-in. Everytime a user will sign-in, it will execute
%"[#GitHubDesktop.exe]" --checkInstall
command. So if you deploy Github desktop using a device based installer(MSI) and does not immediately see the app installed, please sign-out and sign back in on your device once.
Conclusion
In this blog post, we have seen how to deploy Github desktop application on windows devices using Intune. When you use .exe file its based on a User context and will install under user’s profile. You can choose to use MSI installer file which will deploy in Device context and will be available for all the users who will sign-in on that device.