Thursday, March 6, 2014

Add remove programs will not display and it is Blank

 

We have come across after system build Add remove programs not displaying the installed programs nor not able to add any new features

There is a Patch for this is more into Certificate file expiry

Windows6.1-KB2749655-x86.msu
http://support.microsoft.com/kb/2749655

Build Info in the Registry From OSD task Sequence

To Implement the Build info in the Registry Simply add below TS steps at the end of task sequence

clip_image002

Each Step explanation

Branding - TSeq Build Date: add a ts type as Run command line

Command line:

cmd /c reg add HKEY_LOCAL_MACHINE\SOFTWARE\CSC\SOE /v TaskSequence_BuildDate /d "%date% %time%" /f

clip_image004

For getting Task Sequence Name in the Registry:

Branding - TSeq Name:-

Command line :-

reg add HKEY_LOCAL_MACHINE\SOFTWARE\CSC\SOE /v TaskSequence_Name /d "%_SMSTSPackageName%" /f

clip_image006

For Branding - WIM Version

Command line:

reg add HKEY_LOCAL_MACHINE\SOFTWARE\CSC\SOE /v WIM_Version /d "%OSDImageVersion%" /f

clip_image008

For Branding - Country Code :- Note the TS Env should be define for this

Command line:-

reg add HKEY_LOCAL_MACHINE\SOFTWARE\CSC\SOE /v Country /d "%cmCountry%" /f

clip_image002[4]

OSD Phases Wise set a Background Wallpaper

For setting a wallpaper based on the OS deploy Phase

Create a section in your task sequence like below

clip_image002

Download the BGinfo and create a package

I have copied these files in my MDT package i.e…, MDT 2013 Files\Scripts\CustomScripts\BGInfo

The package source files looks like below

clip_image004

Now in the TS create a step as Run command line, in the Commad Line type blow and and make sure start in should be “%scriptroot%\CustomScripts\BGInfo”

Command Line: "%scriptroot%\CustomScripts\BGInfo\Bginfo.exe" SCCM-OSD-Wallpaper-Item3.bgi /nolicprompt /silent /timer:0

clip_image006

Language Packs Integration in TS

For Windows Language Packages to install……

In this section we will be looking at Three major areas

1) OS Language packs
2) IE language Packs

3)Office lanugage Packs

For OS:-


Download the LP.Cab files

clip_image002

Create a package and without a program

Now add a step in the TS with below command line

cmd /c Dism.exe /image:%OSPartition%\ /add-package /packagepath:lp.cab /loglevel:4 /LogPath:%_SMSTSLogPath%\Dism_LangPack.log /ScratchDIR:C:\_SMSTaskSequence

clip_image004

 

For IE language Packs

Download the language pack.msu files from MS site

clip_image006

Once downloaded Create a standard software package

For Program creation

wusa.exe IE9-Windows6.1-LanguagePack-x86-ind.msu /quiet /norestart /log:"%windir%\AppsLogs\IE9-Windows6.1-LanguagePack-x86-ind.log"

Add this package in TS as a Package for getting installed in TS

That’s all….. For IE

For Office language packages the story little bit different

Once you downloaded the Language Pack you will see similar to below folder structure based on the language (in my example I have taken ja.JP as Japan)

clip_image008

 

SilentConfig_Office_ja-JP.xml


 


<Configuration Product="OMUI.ja-jp">


 


<Display Level="None" CompletionNotice="no" Reboot="ReallySuppress" SuppressModal="YES" AcceptEula="yes" />


 


<Setting Id="SETUP_REBOOT" Value="Never" />


 


<AddLanguage Id="ja-jp" ShellTransform="Yes" />


 


</Configuration>


 


config.xml 


<Configuration Product="OMUI.ja-jp">


 


<!-- <Display Level="full" CompletionNotice="yes" SuppressModal="no" AcceptEula="no" /> -->


 


<!-- <Logging Type="standard" Path="%temp%" Template="Microsoft Office Japanese Language Pack Setup(*).txt" /> -->


 


<!-- <USERNAME Value="Customer" /> -->


 


<!-- <COMPANYNAME Value="MyCompany" /> -->


 


<!-- <INSTALLLOCATION Value="%programfiles%\Microsoft Office" /> -->


 


<!-- <LIS CACHEACTION="CacheOnly" /> -->


 


<!-- <LIS SOURCELIST="\\server1\share\Office;\\server2\share\Office" /> -->


 


<!-- <DistributionPoint Location="\\server\share\Office" /> -->


 


<!-- <OptionState Id="OptionID" State="absent" Children="force" /> -->


 


<!-- <Setting Id="SETUP_REBOOT" Value="IfNeeded" /> -->


 


<!-- <Command Path="%windir%\system32\msiexec.exe" Args="/i \\server\share\my.msi" QuietArg="/q" ChainPosition="after" Execute="install" /> -->


 


</Configuration>


 


OMUI.xml


 


<?xml version="1.0" encoding="utf-8"?>


 


<!--_SIG=JmIivEKlUTAignk1VPVZoDg8Jf1e1eDkqsec8r+fY/Zct7mG5t4L+JcUbz75jflowOxZ97LgptFyVni2PtrzQHO+a5+hrvrHGyhpesJvRmXEHjjY2pnBsBhGLheShMRv2NKePfTL4N2VFq/f9WsEryg99grZdAozDasULsLsXDc=-->


 


<Package Id="OMUI.ja-jp" Type="MSI" Path="OMUI.MSI" Version="1.0" ProductCode="{90140000-0100-0411-0000-0000000FF1CE}" MSIVersion="14.0.4763.1000" Platform="x86">


 


<Feature Id="Gimme_OnDemandData" Cost="0">


 


<OptionRef Id="Gimme_OnDemandData"/>


 


</Feature>


 


<Feature Id="OSpp" Cost="4233281">


 


<OptionRef Id="OSpp"/>


 


</Feature>


 


<Feature Id="SetupExeAddRegistry" Cost="0">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


<Feature Id="SetupExeArpEntry" Cost="0">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


<Feature Id="SetupControllerFiles" Cost="7616916">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


<Feature Id="OMUIFiles" Cost="29713344">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


<Feature Id="OSpp_Core" Cost="6139790">


 


<OptionRef Id="OSpp_Core"/>


 


</Feature>


 


<Feature Id="OSetupController" Cost="7616448">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


<Feature Id="MsoInstalledPackagesScopedIntl_1041" Cost="0">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


<Feature Id="SetupXmlFiles" Cost="468">


 


<OptionRef Id="AlwaysInstalled"/>


 


</Feature>


 


</Package>


 


setup.xml


 


<?xml version="1.0" encoding="utf-8"?>


 


<!--_SIG=TgU45/kZOx8f1ZLydsZZBBqrcCIkJoszvxQhL5lE8NBRCIBmeZxcv9mw3Rj3MfryvSo7JwCi4NbT11hMrHG+gwYbxjWh/tyNpAF92sZVmp4XK9XAvt3pB8/ki5ekPIUM8pEWNQLRZWY80TKWd+byFCwUEajR2Q2vyAmFqCPYgTk=-->


 


<Setup Id="OMUI.ja-jp" Type="Product" LanguagePack="yes" ProductCode="{90140000-0100-0411-0000-0000000FF1CE}">


 


<PIDTemplate Value="82503&amp;amp;lt;````=````=````=````=`````&amp;amp;gt;@@@@@"/>


 


<Option Id="AlwaysInstalled" DefaultState="Local" DisallowAbsent="yes" DisallowAdvertise="yes" Hidden="yes"/>


 


<Option Id="OSpp" DefaultState="Local" DisallowAbsent="yes" DisallowAdvertise="yes" Hidden="yes"/>


 


<Option Id="OSpp_Core" DefaultState="Local" DisallowAbsent="yes" DisallowAdvertise="yes" Hidden="yes"/>


 


<Option Id="Gimme_OnDemandData" DefaultState="Local" DisallowAbsent="yes" DisallowAdvertise="yes" Hidden="yes"/>


 


<PackageRef Path="OMUI.xml"/>


 


<AddOnRef Keyword="AccessMUI"/>


 


<AddOnRef Keyword="ExcelMUI"/>


 


<AddOnRef Keyword="SharePointDesignerMUI"/>


 


<AddOnRef Keyword="GrooveMUI"/>


 


<AddOnRef Keyword="InfoPathMUI"/>


 


<AddOnRef Keyword="OfficeMUI"/>


 


<AddOnRef Keyword="RosebudMUI" Exclude="Vista"/>


 


<AddOnRef Keyword="Proofing"/>


 


<AddOnRef Keyword="Office64MUI" Exclude="Unless64bitOS"/>


 


<AddOnRef Keyword="OneNoteMUI"/>


 


<AddOnRef Keyword="OutlookMUI"/>


 


<AddOnRef Keyword="PowerPointMUI"/>


 


<AddOnRef Keyword="PublisherMUI"/>


 


<AddOnRef Keyword="WordMUI"/>


 


<AddOnRef Keyword="XMUI.ja-jp"/>


 


<RMCCP FilePath="VISIO.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="VISIOCORE.MSI" MinSize="200000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="VISPRO.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="VISPROR.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="VISSTD.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="VISSTDR.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="PRJPROE.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="PRJPRO.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="PRJSTDE.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<RMCCP FilePath="PRJSTD.MSI" MinSize="1000000" MaxSize="6500000" MinMajorVer="0" MinMinorVer="0" MaxMajorVer="0" MaxMinorVer="0"/>


 


<PIDKEY Value="H3MDP-M7D4B-C3BCB-97RM8-GX9B2"/>


 


<INSTALLLOCATION Value="%PROGRAMFILES%\Microsoft Office"/>


 


<ActConfigIDs>


 


<ActConfigID Id="F3329A70-BB26-4DD1-AF64-68E10C1AE635" TrialBitmap="0x2FFF" ProductName="OfficeLPK" AllowTerminalService="1" GroupID="98"/>


 


</ActConfigIDs>


 


<AllowAdditionalPidKeys Value="true"/>


 


<LocalCache DownloadCode="{90140000-0100-0411-0000-0000000FF1CE}" SkuComponentDirectory="OMUI.ja-jp">


 


<File Id="OMUI.xml" MD5="751ADBD66BE1AF2D60976FADC6CFEE30" Size="1350" RelativeCachePath="OMUI.xml" RelativeSourcePath="OMUI.xml"/>


 


<File Id="OMUI.msi" MD5="034E8B14801981267EBC7875214ED54E" Size="892416" RelativeCachePath="OMUI.msi" RelativeSourcePath="OMUI.msi"/>


 


<File Id="OMUI.cab" MD5="E32FA7200327B2A0206B03154BF36060" Size="19470956" RelativeCachePath="OMUI.cab" RelativeSourcePath="OMUI.cab"/>


 


<File Id="setup.exe" MD5="4D92F518527353C0DB88A70FDDCFD390" Size="1100664" RelativeCachePath="setup.exe" RelativeSourcePath="..\setup.exe"/>


 


<File Id="osetup.dll" MD5="FCC38158C5D62A39E1BA79A29D532240" Size="5789544" RelativeCachePath="osetup.dll" RelativeSourcePath="osetup.dll"/>


 


<File Id="ose.exe" MD5="9D10F99A6712E28F8ACD5641E3A7EA6B" Size="149352" RelativeCachePath="ose.exe" RelativeSourcePath="ose.exe"/>


 


<File Id="pkeyconfig-office.xrm-ms" MD5="3DCFF1DCDEB1B837EC8F13351C8A92AC" Size="715834" RelativeCachePath="pkeyconfig-office.xrm-ms" RelativeSourcePath="pkeyconfig-office.xrm-ms"/>


 


<File Id="PidGenX.dll" MD5="7F120AAD20ECAE1EA421083F26611519" Size="1248016" RelativeCachePath="PidGenX.dll" RelativeSourcePath="PidGenX.dll"/>


 


<File Id="Setup.xml" MD5="" Size="" RelativeCachePath="Setup.xml" RelativeSourcePath="Setup.xml"/>


 


</LocalCache>


 


</Setup>


KMDF Related Issues

I have seen a strange problem when we target the drivers as software package the installation was never triggered in the Task sequence, When we look for an alternative to make this package as PnP it will fail some time the package will install however we will get below error screen, clip_image002

By looking at the error screen… we can think of it could be sysprep issue or unattended.xml issue but that is not the case. I have even suspected the issue with “Open File Security Warning” but interestingly this is not the case. I have also tested on SCCM 2007 and 2012 I got the same errors and When I have changed my program command lines execution method i.e., sometimes I used .Bat, .CMD, .PS1 and .Vbs atleast sometimes it works sometimes it is not working………. But the root cause is un-known…. When investigated further found below….

Issue was Experienced Models: X440, L440, T440p, M83, X240

When looked at the Smsts.log file found “Not enough storage is available to complete this operation. (Error: 8007000E; Source: Windows)”

Log file entries:-

pInstall->Install(sPackageID, sProgramName), HRESULT=8007000e (e:\nts_sms_fre\sms\client\osdeployment\installsoftware\main.cpp,374) InstallSoftware 04/03/2014 10:23:42 2776 (0x0AD8)

Install Software failed, hr=0x8007000e InstallSoftware 04/03/2014 10:23:42 2776 (0x0AD8)

Process completed with exit code 2147942414 TSManager 04/03/2014 10:23:42 1408 (0x0580)

!--------------------------------------------------------------------------------------------! TSManager 04/03/2014 10:23:42 1408 (0x0580)

Failed to run the action: AMTSOLLMS.

Not enough storage is available to complete this operation. (Error: 8007000E; Source: Windows) TSManager 04/03/2014 10:23:42 1408 (0x0580)

Sending status message . . . TSManager 04/03/2014 10:23:42 1408 (0x0580)

When looked from Trace…
clip_image004

Solution:-

This kind of issues we have on almost on all the new release of 2013 laptop models regardless of Manufacture Dell/HP/Lenovo because these are meant for Windows 8 OS where windows 8 support the UEFI.

Before we install OS we need to apply KMDF patch on all OS, as a SOE engineer it’s better to include this in all your WIM images before you actually deploy to latest models (I personally suggest).

For the solution steps, keep a look at my simple Task sequence that I have … I will be explaining you in next section

clip_image006

For my Partition Disk I have defined variable as %OSDisk% .. see the below screenshot

clip_image008

After apply Operating system, I have added a command line as below, for DISM Temp Directory

clip_image010

cmd.exe /c mkdir %OSDisk%\Dummy

I have downloaded the patch from Microsoft and used 7zip tool and extracted it
Path for Download link

http://www.microsoft.com/en-in/download/details.aspx?id=38423

Based on the X86 (kmdf-1.11-Win-6.1-x86.msu) or X64 (kmdf-1.11-Win-6.1-x64.msu) Once you have extracted the
If extracted X86 you will be getting below

clip_image012

If Extracted X64 you will be getting as below

clip_image014

Create a SCCM Software package (program is not required) from the source that you have extracted above i.e., X86 or X64 the version is dependent on your WIM Architecture

In the SCCM task Sequence call a Step as Install KMDF and type of step should be a “Run Command Line”

And in the command line paste below and replace the package ID with your package ID i.e., LAB00080 with your package ID

cmd.exe /c X:\windows\system32\dism.exe /ScratchDir:%OSDisk%\Dummy /Image:%OSDisk%\ /Add-Package /PackagePath:%_SMSTSMDataPath%\Packages\LAB00080\Windows6.1-KB2685811-x86.cab

Note:- if you are deploying for Windows X64 Bit then you also need to change the from Windows6.1-KB2685811-x86.cab to Windows6.1-KB2685811-x64.cab in the above command line

Show the Package that we have created in SCCM sw distribution section.

clip_image016

Finally in the task Sequence will call a command line to clean up the Directory temp Directory that we used at the first step of task sequence

clip_image018

cmd.exe /c rmdir "%OSDisk%\Dummy" /q /s

That’s all….

Now it should start installing all the drivers packages that you pushed from PnP or as Bad package / Software Distribution based..

Language packs Download location

 

Here are the Language packs direct link for download

 

Windows 7 and Windows 8

 

http://www.microsoft.com/oem/en/installation/downloads/Pages/Windows-8-Language-Interface-Packs.aspx#fbid=XRsDof5TWzj

http://www.microsoft.com/oem/en/installation/downloads/Pages/windows_7_language_interface_packs.aspx#fbid=XRsDof5TWzj