Share This Post

ConfigMgr OSD: Always including certain files in your Boot Images -think Trace32

How many times have you needed to use Trace32 to troubleshoot an OSD deployment especially when running under WinPE?  Sometimes you could just map a network drive to a share and run it but maybe the network drivers didn’t get included or that just takes extra time that you probably don’t have (i.e. not being very IT Efficient).

Wouldn’t it be nice if it was always available in any Boot Image you created without having to remember to include it every time you (or someone else) created a new Boot Image?  The following is a method that I always use to include Trace32, as well as other utilities that I commonly use:

First, locate a file called osdinjection.xml on the system where you have the ConfigMgr Admin console installed and the one you create Boot Images and open it with Notepad.  It will be located in the ConfigMgr installation directory\bin\i386.  This file controls which files get injected into the WinPE Boot Images.  There is a section for each platform.  However, the two common platforms are x86 <Architecture imgArch=”i386”> and x64 <Architecture imgArch=”x64”>.  Underneath each of these sections, there will be a section for the two different source file lists – one for WAIK and the other for SCCM.  I add my additions under the SCCM section.  So, for including Trace32, you would add the following under the i386-SCCM section:

      <File name="Trace32.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows\system32</Destination>
      </File>

Make sure to include it before the closing file list tag </Filelist> and save the file.  Also, it is a good idea to make a backup of this file before editing it just in case something happens to the formatting or a tag accidentally gets deleted.  If the file gets corrupt, then all future Boot Images creations will fail.

Next, copy Trace32.exe into the directory where ConfigMgr will be looking for it.  This will be located in the ConfigMgr installation directory\OSD\bin\i386 directory.  And that is it – the next x86 Boot Image that is created will have Trace32 on it.  I have it going into the Windows\system32 directory in WinPE, as I do some automatic log opening for debug scenarios; however you can place it in any directory you like.

Keep in mind for x64 Boot Images; you will need to use x64 executable files since there is not a WOW 32 bit subsystem in WinPE x64.  At one time, there was a copy of Trace64 that was floating around that could be used for x64 Boot Images.

If you always want to include your company’s bmp in your Boot Images, simply rename it to winpe.bmp and copy it (replacing the existing winpe.bmp) into the ConfigMgr installation directory\OSD\bin\i386 directory.  Future upgrades and service packs may over write these files (including osdinjection.xml), so be sure to add it to your upgrade testing check list.

Here is a list of the files that I add to all of my Boot Images:

*********i386 section – place the following under imgArch="i386"
      <File name="NBCacheActions.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="NomadPackageLocator.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="NomadInstallSoftware.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="GetPxeServerAddress.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="TSEnv2.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="Trace32.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows\system32</Destination>
      </File>
      <File name="smsts.ini">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows</Destination>
      </File>

 *********x64 section – place the following under imgArch="x64"
      <File name="NBCacheActions.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\x64</Destination>
      </File>
      <File name="NomadPackageLocator.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\x64</Destination>
      </File>
      <File name="NomadInstallSoftware.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="GetPxeServerAddress.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="TSEnv2.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="Trace64.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>windows\system32</Destination>
      </File>
      <File name="smsts.ini">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows</Destination>
      </File>

Share This Post

Leave a Reply

Share This Post

ConfigMgr OSD: Always including certain files in your Boot Images -think Trace32

How many times have you needed to use Trace32 to troubleshoot an OSD deployment especially when running under WinPE?  Sometimes you could just map a network drive to a share and run it but maybe the network drivers didn’t get included or that just takes extra time that you probably don’t have (i.e. not being very IT Efficient).

Wouldn’t it be nice if it was always available in any Boot Image you created without having to remember to include it every time you (or someone else) created a new Boot Image?  The following is a method that I always use to include Trace32, as well as other utilities that I commonly use:

First, locate a file called osdinjection.xml on the system where you have the ConfigMgr Admin console installed and the one you create Boot Images and open it with Notepad.  It will be located in the ConfigMgr installation directory\bin\i386.  This file controls which files get injected into the WinPE Boot Images.  There is a section for each platform.  However, the two common platforms are x86 <Architecture imgArch=”i386”> and x64 <Architecture imgArch=”x64”>.  Underneath each of these sections, there will be a section for the two different source file lists – one for WAIK and the other for SCCM.  I add my additions under the SCCM section.  So, for including Trace32, you would add the following under the i386-SCCM section:

      <File name="Trace32.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows\system32</Destination>
      </File>

Make sure to include it before the closing file list tag </Filelist> and save the file.  Also, it is a good idea to make a backup of this file before editing it just in case something happens to the formatting or a tag accidentally gets deleted.  If the file gets corrupt, then all future Boot Images creations will fail.

Next, copy Trace32.exe into the directory where ConfigMgr will be looking for it.  This will be located in the ConfigMgr installation directory\OSD\bin\i386 directory.  And that is it – the next x86 Boot Image that is created will have Trace32 on it.  I have it going into the Windows\system32 directory in WinPE, as I do some automatic log opening for debug scenarios; however you can place it in any directory you like.

Keep in mind for x64 Boot Images; you will need to use x64 executable files since there is not a WOW 32 bit subsystem in WinPE x64.  At one time, there was a copy of Trace64 that was floating around that could be used for x64 Boot Images.

If you always want to include your company’s bmp in your Boot Images, simply rename it to winpe.bmp and copy it (replacing the existing winpe.bmp) into the ConfigMgr installation directory\OSD\bin\i386 directory.  Future upgrades and service packs may over write these files (including osdinjection.xml), so be sure to add it to your upgrade testing check list.

Here is a list of the files that I add to all of my Boot Images:

*********i386 section – place the following under imgArch="i386"
      <File name="NBCacheActions.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="NomadPackageLocator.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="NomadInstallSoftware.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="GetPxeServerAddress.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="TSEnv2.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="Trace32.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows\system32</Destination>
      </File>
      <File name="smsts.ini">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows</Destination>
      </File>

 *********x64 section – place the following under imgArch="x64"
      <File name="NBCacheActions.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\x64</Destination>
      </File>
      <File name="NomadPackageLocator.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\x64</Destination>
      </File>
      <File name="NomadInstallSoftware.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="GetPxeServerAddress.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="TSEnv2.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>sms\bin\i386</Destination>
      </File>
      <File name="Trace64.exe">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\x64</Source>
      <Destination>windows\system32</Destination>
      </File>
      <File name="smsts.ini">
      <LocaleNeeded>false</LocaleNeeded>
      <Source>bin\i386</Source>
      <Destination>windows</Destination>
      </File>

Share This Post

WordPress › Error

The site is experiencing technical difficulties.