Friday, July 13, 2018

Build your first MSIX Package using DAC

Microsoft is building up a MSIX Packaging Tool which we are expecting to be released pretty soon. Till then how to create a MSIX package? It's very easy. If you have used Desktop App Converter tool to create .appx package earlier then you are ready to create MSIX.

The steps to create MSIX are pretty same like how we create .appx using DAC. You can follow the below link to create your first MSIX package.

Project Centennial - First hands on Converting desktop apps to Universal Windows Platform (UWP)

There are some changes that needs to be followed regarding to requirements in the above link. Instead of writing those changes I have decided to share a link where it has been already well explained by Pascal Berger.

https://blog.basevision.ch/2018/07/how-to-create-an-msix-right-now-in-the-insider-preview-a-step-by-step-tutorial/

So why wait? Try out your first MSIX creation.

Saturday, June 16, 2018

Sequencing Google Chrome using App-V 5.1

1)  Launch the Microsoft Application Virtualization Sequencer from Start->Programs


2)  Select the "Standard application" type in the Type of Application to be Virtualized



3)  Select "Perform a custom installation" in the select installer screen




Provide the virtual application name as Google Chrome and click next.

4)  Before the application is installed, make sure that the below registy entries are placed to disable the updates.

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"UpdateDefault=dword:00000000
"AutoUpdateCheckPeriodMinutes"=dword:0000000

5)  Start the installation during monitoring phase.Install the package using source "GoogleChromeStandaloneEnterprise.msi"


After installation, perform the following steps.
- Delete the services : Google Update service (gupdate, gupdatem) using the below command in CMD ;
SC DELETE gupdate
SC DELETE gupdatem
- Remove the shortcut from desktop
- Remove the folder Update from Program Files (x86) during monitoring phase, after installation and unpin the application from taskbar after first launch.

6) Click "I am finished Installing"


7) Launch the shortcut in the configure phase and perform any additional post configuration if needed.



To customize further like adding home page, start screen etc.. check this link.




8) Ensure that all the buttons are clicked and opened so that Maximum functions are captured in the "Feature block One" itself.

9) Click next.Select the OS as per the requirement and select continue to modify using package editor option.



10) Create a powershell script to add a registry in the local machine for single signon. Add the below script ( AddSigninreg.ps1 )  under the Package Files --> scripts tab in package editor.

set-location hklm:
new-itemproperty -path "HKLM:\software\policies\Google\Chrome\" -name "SigninAllowed" -propertytype dword -value 0 

Similarly  add the below script ( RemoveReg.ps1 ) 

Remove-Item -Path 'HKLM:\SOFTWARE\Policies\Google\Chrome' -Recurse


11) Save the package.

12) To execute the above scripts,  edit the Google Chrome_DeploymentConfig.xml file.

<MachineScripts>
      <AddPackage>
        <Path>powershell.exe</Path>
        <Arguments>-ExecutionPolicy Bypass -File ".\AddSigninreg.ps1"</Arguments>
        <Wait RollbackOnError="true"/>
      </AddPackage>

      <RemovePackage>
        <Path>powershell.exe</Path>
        <Arguments>-ExecutionPolicy Bypass -File ".\RemoveReg.ps1"</Arguments>
        <Wait RollbackOnError="true" />
      </RemovePackage>
    </MachineScripts>

13) Save the Google Chrome_DeploymentConfig.xml file.

14) Testing the package using standalone powershell.

Enable script execution in the App-V client using the below command in powershell.

Set-AppvClientConfiguration -EnablePackageScripts 1

Publish the Google Chrome App-V package:

Add-AppvClientPackage "path to .appv file" -Dynamicdeploymentconfiguration "path to Google Chrome_DeploymentConfig.xml" | Publish-AppvClientPackage -Global | mount-AppvClientPackage

Friday, May 11, 2018

MSIX - The future universal format

MSBuild 2018 has officially announced  the new msix format,  and so now it's free to share information publically to all.

Since there are already quite few blogs and video's shared in msbuild,  I will  be sharing those links below which will be quite very useful.

MSIX - Inside and Out

Accelerating Windows 10 enterprise app deployment through MSIX

MSIX - pptx

MSIX First Look - Priya Saxena

Is MSIX the future for App-V - Tim Mangan

A blog by Kevin Kaminski

MSIX Intro

A closer look at MSIX

MSIX But what about App-V?

Steps to create MSIX - Pascal Berger


To Join MSIX Tech Community click here

Thursday, March 29, 2018

Decrypting how Microsoft Teams new MSI works

Microsoft has released a windows Installer MSI for Microsoft Teams for deployment through SCCM.You can download it here


As per Microsoft Statement:


"The Teams MSI will place an installer in Program Files. Whenever a user signs into a new Windows User Profile, the installer will be launched and a copy of Teams application will be installed in that user's appdata folder. If a user already has the Teams app installed in the appdata folder, the MSI installer will skip the process for that user."


NOTE: Don't change the install location as it will break the process.


In this blog, I will explain how this happens by opening MSI using Installshield.


1. To Install Microsoft Teams, it first requires .net 4.5 or later to be installed in the machine. This check happens using Launch condition which also does a system search for .net registry to be present in the machine.








2. The MSI has only one file which is Teams.exe that gets installed to [ProgramFilesFolder]Teams Installer location.





3. It also has only one registry file which gets placed in Run key.So whenever a user logs in, the run key will trigger the command present in it. So in this case it triggers the Teams.exe -checkinstall





So after published through SCCM system context, you can find the Teams.exe installed in the following location.





Also a run key is created in the machine registry HKLM which will trigger the Teams.exe to check for files installed in %localappdata% if not present install the files and launch automatically.







User if logged in, needs to logoff/login again. If a new user logs in then the run key will trigger the install process in the background  and place the files in the below location and then launch automatically.





To perform a clean removal of files through SCCM, use the Powershell script from the below link.


https://docs.microsoft.com/en-us/microsoftteams/scripts/powershell-script-teams-deployment-clean-up