Normally I´m going to do my weekly postings on the weekend, but today I came along a very exciting result which isn´t documented yet (please correct me if I´m wrong), I´m talking about the ability of converting Microsoft Teams (64-Bit) installer into an MSIX package! If you´re interested in how I managed it to work, check out the following description!
Before we dig into the process of creating the MSIX package I should explain, that the procedure I was going through is not an official Microsoft recommended way! Currently there are no clear statements about how to make Office 365 ProPlus run via MSIX yet, but I´m sure it will be released soon! Furthermore I will only go through the process of the creation of the package till the conversion to the VHD package. All the scripts to get this running in your environment can be found in the official documentation, describing the scripts on how to attach the VHD for a user and the required staging process. Click here for the official documentation.
Step 1: Getting the software components together!
To achieve the goal of having Microsoft Teams as an MSIX package we need the following components or prerequisites:
- Access to the Windows Insider portal to obtain the version of Windows 10, which supports MSIX app attach and it´s APIs
- A Windows Virtual Desktop deployment (recommended but not required for testing purposes)
- The MSIX packaging tool from the Microsoft Store – Click here to get there
- The MSIX Commander by Pascal Berger – Click here to get it
- Hyper-V Management Tools installed on a computer to package the MSIX to VHD (not required for testing)
- Microsoft Teams – Click here to get the installer (Explanation below)
Step 2: Get Microsoft Teams!
I did a lot of tests with a lot of versions of Microsoft Teams! In the end I came to the conclusion that the machine-wide installer is actually not working in this scenario, even if we perform a restart at the end of the installation process (you will see what I mean a bit further) – but it´s also not required because there will be no AppData folders created in the end in the user profile while using the MSIX package.
So I really went for the simple x64 based installer available on the official Microsoft Teams download page. – Click here to get it!
Once this is downloaded to a location of our choice we keep it there for a moment until we proceed with the packaging!
Step 3: It´s all about signing – Creation of a signing certificate!
To get started with your package, you MUST sign it with a certificate! There is a very detailed how to achieve this with some tools have a look at the official documentation on how to manage this in a production environment. The link can be found here.
I will create a self-signed certificate just for the intention of testing!
To do this I start up the MSIX Commander from Pascal Berger as an Administrator (very important!), as mentioned above, and click on “Certificate” from the menu bar.
From over here you can create a self-signed certificate for your testing purposes. After you entered your information in the fields you can see above, click “Creat(e) selfsigned cert”.
Once this is done we can continue with the installation and packaging of Microsoft Teams!
Step 4: The installation capture
Now we need to start the MSIX packaging tool, downloaded from the Microsoft store with the link above.
From this window on, click on Application package (left icon) to create a completely new package based on the prerequisites.
The next page allows us to define, where the package will be created! For my case I will do this on a separated machine, to not produce a manipulated state! So I click on “create package on this computer” to get started. Any other method you see here is also supported!
On the next page the packaging tool will check if all prerequisites are given. If you see something like me, that the Windows Search is active, you can click on the check box and hit “Disable selected” from below. Click next to continue.
Now, the packager is asking for the installer of Microsoft Teams. I´ve performed this step with the 32- and 64-Bit installer and it worked in the end. I didn´t define any arguments, which is generally possible and selected our recently created self-signed certificate to sign our package! I want to remind you that for my test I used the self-signed I highly recommend to sign your package with a cert from your internal CA or the one from the software publisher.
Hit next to specify the package information
As you can see in the screenshot above, I´ve specified the package information related to our MSIX package. Give it a description and we´re ready to go through the installation process.
You will see that after approximately 3-5 seconds the Teams installer will start on your machine. The MSIX Packaging Tool is now starting the capturing process of files installed on your machine. Finally you see that Microsoft Teams is starting in our packaging machine. Close the window of Teams to finalize the setup.
Now you just need to click next to summarize the installation steps performed.
The following page is an important one! It describes, what is the first launch task for Microsoft Teams, you will see that the Update.exe is already mentioned here. As this will actually prevent Teams from starting later on we need to replace it with the Teams.exe starter! To do so, click on Browse in this window.
The MSIX packaging tool is starting to fetch more entry points from the installation. The result will be, that you see three more entry points. Please select the one referencing to your local user profile “AppData\Local\Microsoft\Teams\current\Teams.exe”.
Select this one and click “Add selected” to proceed.
Now highlight the first entry “Update.exe” and remove it from the tasks to be launched!
Proceed by clicking on next.
The tool will ask you one last time if you are done with your configuration settings. Click “Yes, move on to go ahead”. The package will now be prepared.
In some cases services will be detected inside of the package, for our package this shouldn´t be the case. The outcome looks like this:
Click next to finalize the setup.
Last, but not least, select the location where you want to store your MSIX package on the hard drive or network share, depending on your situtation.
For me I will store the file locally to perform a functional test. After defining the location I click “Create”.
Approximately 5 minutes later the package should be finalized and we can go ahead and perform a test on our second virtual machine, representing the WVD Session Host.
Step 5: Testing on another virtual machine / Session Host
To get a feedback, if our packaging process worked successfully, we are going to switch to another Session Pool or Virtual Machine with the prerequisites prepared to see if the App itself can be loaded successfully before converting it into a VHD.
To proof, that the machine I´m working on is NOT equipted with Microsoft Teams, see the screenshots below.
I´m using a local profile as a clone from my Virtual Machine image. In the local/roaming AppData folder there is no Teams folder present, which should be normally here with a standard installation type.
The application listed in the Programs and Features is also not present.
As pre-step, before starting the test, we need to import the certificate which is used to sign our application. If you want to do this the very quick way, just do a right click on the MSIX file and click properties.
From here, select your self-signed certificate and hit “Details”
Now you just need to install the certificate to the cert store. That´s it!
As a next step, we open the MSIX Commander, which I´ve downloaded on this machine too, to test the created package. To perform the test, start the application with Administrative Rights.
To test our package, switch over to the “Testing” tab in the top bar and select the path, where you´ve created the Microsoft Teams package. I copied the MSIX package locally, this can also be shared via a network drive or comparable.
Click on “Test MSIX”.
Once this has been successfully done, you receive a message saying, “Added MSIX %yourpackagename%” now you can click OK, and see if Teams is available from your startmenu!
ATTENTION! A second window will open, saying if you want to end the test click “OK”. Please perform your test before clicking on OK too fast.
You can see that Teams, has successfully added to our start menu – so the attachment process worked just fine. Click on the app to get started.
Perfect! Microsoft Teams is successfully started! Let´s try if all capabilities are working so far!
First I log in with my Sign-in address and performed a few tests and its working fine so far. I have to say that during my test of a video call (camera deactivated) the performance was quite slow – but that´s another topic!
I´ve ended the phone call and went back to the MSIX Commander, to finish the test – so I clicked on “OK”
It took about 3 seconds until the app has been dismounted. You will receive a message like this, when the process completes:
What an exciting technology! That´s all I can say. I´m curious to know, where this is going to in the future. I will perform a long term test in the future while using Teams in this way and report you in approximately one month, what is the outcome of my test or if there is already an update on MSIX with an official procedure.
The steps I´ve performed doesn´t include the creation of the VHD, I´ve stopped at the testing of the MSIX package. If you want to perform these steps too and test it in your environment, follow the description from the Microsoft Tech Documentation, which can be retrieved here
Thanks for reading and sharing – and once again – if you have questions or want to share something with me, please let me know!