Office

Office365 ProPlus changed shortcut names -> Old Windows 10 custom StartLayout.xml breaks

Blog updated 12.4.2018 Added DesktopApplicationID to StartLayout. Thanks Steven Kister for tip.

I noticed this earlier with Windows 10 RS4 (1803) testing but now I noticed this with Windows 10 1709 using updated Office media.

New Office365 ProPlus version has changed shortcut names from Excel 2016.lnk to Excel.lnk. Shortcut name doesn't have year numbers anymore.

Except OneNote 2016.lnk is still same shortcut name in old and new version. This applies at least to Office-version 1803 (9126.2116) Monthly channel.

This broke my existing StartLayoutCustomization.xml so I needed to update these to my deployments.

Here are new shortcut names which Export-StartLayout -cmdlet exports:

        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Outlook.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Skype for Business.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word.lnk" />
        </start:Group>

Old syntax was:

        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Outlook 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Skype for Business 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk" />
        </start:Group>

Problem using shortcut names is that now we have 2 StartLayout files and we might have different versions of Office in Windows.

Real fix is to use DesktopApplicationID in StartLayout just like Microsoft says in documentation too (https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout):

If the Start layout that you export contains tiles for desktop (Win32) apps or .url links, Export-StartLayout will use DesktopApplicationLinkPath in the resulting file. Use a text or XML editor to change DesktopApplicationLinkPath to DesktopApplicationID. See Specify Start tiles for details on using the app ID in place of the link path.

We can export AppIDs in Powershell with command: Get-StartApps
and to show only Office apps we use command: get-startapps |where {$_.AppID -like "*Office*" }

New XML using DesktopApplicationID looks like:
        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationID="Microsoft.Office.EXCEL.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationID="Microsoft.Office.ONENOTE.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationID="Microsoft.Office.OUTLOOK.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationID="Microsoft.Office.POWERPNT.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationID="Microsoft.Office.lync.exe.15" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="Microsoft.Office.WINWORD.EXE.15" />
        </start:Group>

Here are links for example StartScreenlayout.xml which I use in Educational cases.
Old Office-version StartLayoutCustomization.xml
New Office-version StartLayoutCustomization.xml using DesktopApplicationID
New Office-version StartLayoutCustomization.xml using updated shortcut names

Few thoughts on this issue. Office 2019 is coming soon. I would guess Office AppIDs will change at that time so using AppID now may not work in future, but it will work now with old and newer Office-version. Updated shortcuts names could work with Offie 2019. OneNote shortcut name is not updated at this time so this probably also needs to be updated in future or now (depending if we use AppID or shortcut name now).

So whatever we choose now we may need to build new XML file when new Office 2019 is released which is ok because that is a big update.

This example also configures Taskbar icons so this is good example to modify your own startlayout. Remember with your own Taskbar layout modifications to add Taskbar specification also into the first row in XML if you export reference layout with Export-StartLayout -command.

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout">

I always save picture with StartLayoutCustomization.xml.