/build/static/layout/Breadcrumb_cap_w.png
03/20/2019 590 views

For Windows 10 v1809, I have created the LayoutModification.xml to include the Start Menu of pinned applications and the taskbar using the Microsoft websites listed below.  After SysPrepping the reference VM, I captured the VM and imaged a machine with it.  The layout for the Start Menu and the Taskbar are not what was set. Even our local administrator account's Start Menu layout and taskbar aren't correct. Instead of a layout of two groups of Internet Browsers and Services groups of website links int eh Start Menu, I get three groups of Create, Explore, and Play, several download icons and Microsoft Edge. For the Taskbar, I get Edge and File Explorer. What I want in the Taskbar is File Explorer, Firefox, Chrome, VLC.

I have tried:
1. Importing the LayoutModification.xml before SysPrepping.
2. Importing the LayoutModification.xml in a Mid-Level Task.
3. Importing the LayoutModification.xml in a Post Install Task.
4. Setting up the app links in the SysPrep Creator.

I am not pushing the Start Menu and Taskbar modification down per Group Policy because I want the user to be able to change the pinned apps and taskbar if they wish.

Any suggestions?

MS Docs Referenced for the Layout Modification:

https://docs.microsoft.com/en-us/windows/configuration/start-layout-xml-desktop

https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout

https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar


LayoutModification.xml

<LayoutModificationTemplate
    xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
    xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
    xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
    xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
    Version="1">
  <RequiredStartGroupsCollection>
    <RequiredStartGroups>
      <AppendGroup
        Name="Internet Browsers">
        <start:Tile
          AppUserModelID="308046B0AF4A39CB"
          Size="2x2"
          Row="0"
          Column="0"/>
        <start:DesktopApplicationTile
          DesktopApplicationID="Chrome"
          Size="2x2"
          Row="0"
          Column="2"/>
        <start:Tile
          AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
          Size="2x2"
          Row="0"
          Column="4"/>
      </AppendGroup>
    </RequiredStartGroups>
    <RequiredStartGroups>
      <AppendGroup
        Name="AU Services">
        <start:DesktopApplicationTile
            DesktopApplicationID="https://login.myschoolbuilding.com/msb?acctNum=518865108"
            Size="2x2"
            Row="0"
            Column="0"/>
        <start:DesktopApplicationTile
            DesktopApplicationID="https://kbox.it.ashland.edu/userui/advisory_library.php"
            Size="2x2"
            Row="0"
            Column="2"/>
        <start:DesktopApplicationTile
            DesktopApplicationID="https://kbox.it.ashland.edu/userui/welcome.php"
            Size="2x2"
            Row="0"
            Column="4"/>
      </AppendGroup>
    </RequiredStartGroups>
  </RequiredStartGroupsCollection>
  <CustomTaskbarLayoutCollection PinListPlacement="Replace">
     <defaultlayout:TaskbarLayout>
       <taskbar:TaskbarPinList>
         <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
         <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
         <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
         <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\VideoLAN\VLC media player.lnk" />
       </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
  </CustomTaskbarLayoutCollection>
 </LayoutModificationTemplate>
0 Comments   [ + ] Show comments

Comments



Community Chosen Answer

1

You can check out the blog I created on this, it's relatively straightforward. It also shows you how to replace the taskbar.

https://www.itninja.com/blog/view/import-startlayout-kace-sda

Answered 03/26/2019 by: Ziggi
Orange Senior Belt

All Answers

0

I copy the administrators profile to default when I sysprep so that will bring settings in the profile down. also you can pin 3 items to the task bar during sysprep

<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TaskbarLinks>
<Link0>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Mozilla Firefox.lnk</Link0>
<Link1>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk</Link1>
<Link2>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\internet explorer.lnk</Link2>
</TaskbarLinks>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<CopyProfile>true</CopyProfile>
<ProductKey>NPPR9-FWDCX-D2C8J-H872K-2YT43</ProductKey>
<EnableStartMenu>true</EnableStartMenu>
<ComputerName>*</ComputerName>
</component>

Just prior to sysprep I run a powershell comand to create a file I reimport as a mid level task

Export-Startlayout -path c:\temp\layout.xml

and run this to export app assoc

Dism /Online /Export-DefaultAppAssociations:c:\temp\AppAssoc.xml

at the mid level

powershell task

Import-StartLayout -LayoutPath "c:\temp\Layout.xml" -MountPath "C:\"

batch task

dism /image:c:\ /Import-DefaultAppAssociations:c:\temp\AppAssoc.xml
exit /b 0

If you want to  add other tiles to all users pinned tiles you can run this as a post script

start /wait reg load HKU\temphive c:\users\default\ntuser.dat

start /wait reg add "HKU\temphive\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v powerpin /d "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "C:\windows\w2d\pin.ps1"" /f

start /wait reg unload HKU\temphive

pin.ps1

(New-Object -ComObject shell.application).Namespace('C:\Program Files (x86)\Microsoft Office\Office16\').parsename('excel.exe').invokeverb('pintostartscreen')

(New-Object -ComObject shell.application).Namespace('C:\Program Files (x86)\Microsoft Office\Office16\').parsename('powerpnt.exe').invokeverb('pintostartscreen')

(New-Object -ComObject shell.application).Namespace('C:\Program Files (x86)\Microsoft Office\Office16\').parsename('winword.exe').invokeverb('pintostartscreen')

You can run the ps1 on a per user basis on existing machines to add tiles for them

Answered 03/20/2019 by: SMal.tmcc
Red Belt

  • Thank you for the start menu and taskbar help as well as the file associations. I will work on this and get back to you.
0

Are you placing the file in C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml? Is it still there after imaging? If you are copying a profile to the default user profile as part of sysprep, then you probably need to put the file back in place afterwards.


Answered 03/21/2019 by: chucksteel
Red Belt

  • If they are copying a profile could they place that file in the profile to be copied and it will go to default?
    • That might work. We don't upload images anymore, it's all strictly scripted installs, so I haven't used the copy profile method since Windows 7. This is the kind of customization that we add as a post-install task.
      • I use a thin LTSC image to allow me to configure browsers and settings. I do not need to do anything with the menu or tiles they copy over with the profile so I only worry about app associations and adding tiles for my post office 2019 install. It does copy the local area with the copy profile so does hurt to try.
0

From the different suggestions, I was able to get my Start Menu and taskbar working finally.  I have it setup as a Post Install Task.

StartTaskLayout.xml

<?xml version="1.0" encoding="utf-8"?>
<LayoutModificationTemplate
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
Version="1">
<LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6">
        <start:Group Name="Explore">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
          <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
        </start:Group>
        <start:Group Name="Microsoft Office">
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" 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\Word.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Publisher.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk" />
        </start:Group>
        <start:Group Name="AU Services">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Facilities Work Order System.website" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\IT Service Ticket System.website" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\IT Knowledgebase Articles.website" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Display IP Address.lnk" />
        </start:Group>
      </defaultlayout:StartLayout>
    </StartLayoutCollection>
  </DefaultLayoutOverride>
  <CustomTaskbarLayoutCollection PinListPlacement="Replace">
    <defaultlayout:TaskbarLayout>
        <taskbar:TaskbarPinList>
            <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
            <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\VideoLAN\VLC media player.lnk" />
        </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
    </CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>


Import_StartTaskLayout.ps1

Import-StartLayout -LayoutPath "$PSScriptRoot\StartTaskLayout.xml" -MountPath C:\


Import_StartTaskLayout.bat

@ECHO OFF
PowerShell.exe -NoProfile -ExecutionPolicy Bypass -File "%~dp0import_StartTaskLayout.ps1"


I had to write the batch to call the PowerShell script because I kept getting a file not found with the PowerShell script by itself.


Details that helped me in the XML file:

Using the LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1"  to get it to one column and 3 medium tiles across

Using CustomTaskbarLayoutCollection PinListPlacement="Replace" to clear out the taskbar items and replace them with our chosen ones.


Thanks Ziggi for the blog help.
Answered 03/28/2019 by: AAnschutz
Senior Purple Belt