You are browsing the archive for Deployment.

CM12 R2 TS after upgrade: Failed to resume task sequence (0x800700EA) error

2:15 pm in 2012R2, bootimages, capture, CM12, CM12 R2, CM12 SP1, ConfigMgr 2012, configmgr 2012 R2, ConfigMgr 2012 SP1, Cumulative Update, Deployment, OSD, SCCM 2012, sccm 2012 R2, SCCM 2012 R2, SCCM 2012 SP1, Task Sequence by Kenny Buntinx [MVP]

 

I upgraded one of my customers site from SP1 to R2 on a Monday morning and have hit a number of hurdles. I have discovered that my customers OSD Task sequences were not functioning correctly. Everything seems to go fine, until it reaches the Setup Windows and ConfigMgr, and then once that step is complete, it reboots and I’m left on the ctrl+alt+del screen, with the computer joined to domain but no additional steps performed.

The TS does end with an error “Failed to resume task sequence (0x800700EA) error” , as if the new client gets installed and it just ends the TS!

**** Remember **** –> Support for Windows PE 3.1 boot images above of Windows ADK 8.1 is there as feature when upgraded to R2 !! **** Remember ****

I looked at my boot images and it looked good, but frankly the x64 boot image didn’t upgrade well and stayed to version 6.2.x instead of 6.3.x. I had a script to manually update it , but it didn’t like it so it failed again.

Created a new bootimage (x64) from scratch , updated my TaskSequence  to use the new bootimage and *BAM* , it worked again

Hope it Helps ,

Kenny Buntinx

MVP enterprise Client Management  

Configuration Manager 2012 OSD : Only import the Intel chipset drivers you really need for your brand/model !

6:31 pm in ConfigMgr 2007 R2, ConfigMgr 2012, configmgr 2012 R2, ConfigMgr 2012 SP1, ConfigMgr SP2, configmgr2007, Deployment, Drivers, Operating System Deployment, OSD, sccm, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, SCCM 2012, sccm 2012 R2, SCCM 2012 R2, SCCM 2012 SP1, sccm RTM, sccm2007 by Kenny Buntinx [MVP]

 

Yesterday I wrote a blogpost about the reason to keep your “Driver DB” and “driver packages” as clean as possible and that you do not need to import all the junk they provide in those so called “enterprise driver packages” for multiple models.

As a first tip for helping you accomplish that , we show you in this blog post how we can limit the number of *.inf files we need to import from Intel(R) Chipset Device Software . When downloading and extracting that Intel(R) Chipset Device Software package you will see that originally there are about  98 inf files present :

image

Now reduce the number of INF files :

Two override command switches for setup.exe from Intel(R) Chipset Device Software that will help us to reduce the *.inf files we need to import into our “Driver Package” :

-AONLY Extracts the needed INF files to install on the current system. If the install has been run once successfully, ‘-AONLY’ will not return any INFs when used in conjunction with ‘-OVERALL’ switch, all the needed INFs for the system will be extracted.

-P <Installation Path> Specifies the hard disk location to which the INF program files are copied. If this flag is not specified at the command line, the <Installation Path> directory is as follows: C:\Program Files\Intel\INFInst .

If this flag is used without the ‘-A’ option, only the Readme will be copied to <Installation Path>. The directory name can include spaces, but then a pair of double quotes (") must enclose the directory name. There should not be any space between the switch ‘-p’ and the directory name. This flag works in either Silent Mode or Interactive Mode.

Lets execute on the local brand/model that contains an intel chipset :

The result of running the setup with those parameters:

And then the result after running the tool on your local brand/model , you will see that the number of *.inf files are reduced to five (5) items ! isn’t that great ? Now copy those drivers to your regular driver import process and you reduced the number of bloat in your ConfigMgr driver database by 80% at least !

 

image

 

Hope it Helps ,

Kenny Buntinx

MVP enterprise Client Management

Configuration Manager 2012 and the need of keeping your Driver database lean and clean !

8:03 pm in CM12, CM12 R2, CM12 SP1, Deployment, Drivers, OSD, sccm, SCCM 2012, sccm 2012 R2, SCCM 2012 R2, SCCM 2012 SP1, sccm RTM, Task Sequence by Kenny Buntinx [MVP]

 

Hi ,

Lately we had an issue on a CM2012 R2  production environment when exporting a “task sequence” from our Acceptance environment and importing that exported “task sequence” into production , and ran into an error where our task sequence import would fail with out of memory message.

The exact message was : “System.OutOfMemoryException , Exception of type ‘System.OutOfMemoryException’ was thrown” as shown in the picture below:

clip_image002

Several people recommended me to increase the WMI memory allocation by doing this : http://anoopcnair.com/2011/05/06/configmgr-sccm-how-to-increase-wmi-default-memory-allocation/ . Anoop links to the “_providerhostquotaconfiguration” class in his article. Anoop’s advice is not uncommon, although supportability of the matter is questionable without PSS/CSS support , it’s a common test/fix giving on PSS/CSS calls related to slow or underperforming console issues.

My advice : DON’T DO THIS BLINDLY or without PSS/CSS support . You’d be crazy doing anything to WMI on a ConfigMgr production environment that you don’t understand the impact off. And if it’s to a component as critical as WMI is to ConfigMgr than you’d better do your homework before implementing it in production.

And this blog post explains what the impact is: http://blogs.technet.com/b/askperf/archive/2008/09/16/memory-and-handle-quotas-in-the-wmi-provider-service.aspx

We increased the WMI memory allocation with PSS support until 8Gb memory (Server having 16 Gb physical memory) , but no luck at all.

A little recap and issue definition:

  1. 1. We created a OSD Task sequence deployment in our acceptance environment.
    2. Once validated , we exported the TS without content (Content is located on a shared UNC storage path) but with dependencies.
    3. We tried to import the exported TS into production, the import fails both trough the GUI and via the powershell cmdlts. The import in production of the exported tasksequence fails with an out of memory error as shown in the screenshot above
    4. We tested both on the Primary site server itself as via remote console –> same result
    5. We have sufficient memory available on the server. I saw that the PowerShell session on the primary site server used up to 1.5Gb ram during the import. (memory was not maxed out (74% used))

Further investigation leads us to the size of the exported Task Sequence , which was about 235 Mb ( without content , go figure ! ) . Probably you would say : “What the hell did you put into that task sequence ????? ”. Well , the customer needs to support 55 different hardware models because of the way they need to buy there hardware. Crazy , I know and the fact is that they know that as well , however they can’t change this purchase behavior.

That being said , they have 55 HW driver packs and they have around 4800 drivers imported in there CM12 Driver DB .

After testing , we discovered that if the imported task sequence is more or less bigger then 135Mb in size , it will fail to import with the error displayed above. Once we lowered the number of drivers being referenced in the driver packages and therefore also in the CM12 driver database itself and the exported TS would be below 135mb in size , the import succeeded. However we could never pinpoint the exact size of the task sequence when it would fail as this was between 135 and 145 Mb.

What I recommend you to do:

  • One of the biggest mistakes customers make is to go the manufacturer website and grab every driver with those so called “enterprise driver packs” that contain drivers for multiple models…. Hell no , mostly the drivers are out dated, full of additional crap…
  • Use common sense and  only import drivers that are applicable to machines in your environment. I do not recommend that drivers are blindly imported into ConfigMgr where there is no actual benefit. This will just cause the database to bloat and the task sequences to become unwieldy. I recommend that any unused drivers/driver packages are removed from ConfigMgr
  • If you have a large number of Manufacturers and models or you run into conflicts, you can apply the driver package based on category or apply a specific package, especially when exporting / importing task sequences .
  • Typically graphic cards , Intel Vpro , Soundcard drivers or custom “hotkey” drivers are “bad” drivers. Those should be installed with applications from the setup.exe or msi.

To give you an idea , we went for a Lenovo C30 desktop model from +_ 400 drivers to 22 drivers. Keep it clean and tight . It will cost you more energy in the beginning , but will save you a lot of time when you need to debug. That’s the message I am trying to give you !

Hope it helps ,

Kenny Buntinx

MVP Enterprise Client Management

Lenovo X1 not PXE booting in Configmgr 2012 SP1 ?

10:51 am in ConfigMgr 2012, ConfigMgr 2012 SP1, Deployment, lenovo, Operating System Deployment, OSD, SCCM 2012, SCCM 2012 SP1, windows 8 by Kenny Buntinx [MVP]

 

Customer does zero-touch Windows 8 deployments on all computers , but when I tried it on the Lenovo Carbon X1 with the USB Ethernet dongle (P/N: 0A36322 or 0B67708) that Lenovo sells , it didn’t work.

However PXE boot works and I get an IP to begin the WinPE x64 download but once we get in the WinPE 4.0 stack , the Ethernet lights turns off and the machine reboots.To troubleshoot, I pressed F8 to bring up the CMD and IPCONFIG /all doesn’t list the NIC. Strange .

What if PXE boot does not work at all ? You need to do this first :

  • In the BIOS, under STARTUP, change the UEFI/Legacy Boot to "Legacy Only"
  • In the BIOS, under RESTART, change the OS Optimized Defaults to "Disabled", then choose "Load Setup Defaults".

On Configmgr 2012 sp1 ,  I imported the x64 drivers both from Lenovo the Ethernet dongle and then redeployed the boot images but no luck each time.

So hold on a minute .. does that X1 only have USB 3 ports ? Yes it has .

Solution : Download the USB 3.0 Driver: Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 7 Series/C216 Chipset Family here : https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=21129 . Make sure you have version 1.0.8.251 as older versions do not work with WINPE 4.0 .

Import the drivers in ConfigMgr 2012 SP1 and add them to your boot image . Now it will work !

Note : Other systems that exhibit this same behavior are the ASUS Zenbook UX31, Apple MacBook Air plus and I expect most of the new Ultrabook form factor systems that only have USB 3.0 ports and no built-in ethernet port will have this same problem.

Hope it Helps ,

Kenny Buntinx

Enterprise Client Management MVP

Configmgr 2012 SP1 : PowerShell Script to repair “Broken Applications after upgrading them from RTM”

7:52 pm in Application Model, applications, CM12, ConfigMgr, ConfigMgr 2012, ConfigMgr 2012 SP1, Deployment, deployment types, SCCM 2012, SCCM 2012 SP1, upgrade by Kenny Buntinx [MVP]

 

Upgrading a Configmgr 2012 RTM environment to a new SP1 environment . After the upgrade was successfully performed , suddenly all applications within my OSD task sequence start failing as described in my previous blog post here : http://scug.be/sccm/2013/01/08/configmgr-2012-sp1-broken-applications-after-upgrading-from-rtm/

Finally we have found some other errors as well , they are listed here :

  • The task sequence failed to install application Intel Management Engine 6.0.40.1215(ScopeId_67A221E3-64F0-47D4-AA5A-BB3729EC221F/Application_2071f753-7604-42a5-b6be-b1b45c3c1f0a) for action (Install HW Driver Applications for HP8540P) in the group () with exit code 615. The operating system reported error 615: The password provided is too short to meet the policy of your user account. Please choose a longer password.
  • The task sequence failed to install application NVIDIA Quadro/NVS Mobile Drivers 305.93(ScopeId_67A221E3-64F0-47D4-AA5A-BB3729EC221F/Application_17e0153e-3d4f-467b-a2b3-68491516b0e1) for action (Install HW Driver Applications for HP8540P) in the group () with exit code 580. The operating system reported error 580: An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread.
  • The task sequence failed to install application Synaptics Touch Pad Driver(ScopeId_67A221E3-64F0-47D4-AA5A-BB3729EC221F/Application_a0628bfc-3f06-4096-a001-c1a6c92675ea) for action (Install HW Driver Applications for HP8540P) in the group () with exit code 16389. The operating system reported error 2: The system cannot find the file specified.

We found a workaround, you have simply to add a comment to each DT and it will update the content ID. Nevertheless, the change means that a redistribution of your application on all your DP’s.

BUT , that is all manual work , and we hate that , don’t we Smile with tongue out . Luckily we have an excellent PowerShell scripter in our team and all credits for creating this script goes to  Bart Serneels. He has written a PowerShell script to do all the work . He was happy to share this with you guys.

Here is the script : (replace VVM with your “Site Code” )

 

What the script will do is :

  1. Look for any application that has no deployment attached to it
  2. Opens the application deployment type(s) and looks for a description .
  3. If the description field is empty , it will update that field with the deployment type name.
  4. If the description field exists , it will make a backup , adapt it with the deployment type name , save it , reopen and revert to the backup descriptions and save it once more .

Again  , this is a workaround that helped us fixing our issues and no guarantee it will work for you .

Hope it Helps ,

Kenny Buntinx

MVP ConfigMgr

How to create an application for deploying the App-V 5.0 Client with Configmgr 2012

9:09 pm in App-V, App-V 5.0, Application Model, AppV, CM12, ConfigMgr 2012 SP1, Deployment, deployment types, detection methods, Operating System Deployment, OSD, sccm, SCCM 2012 SP1, vbscript by Kenny Buntinx [MVP]

 

In this blog post we will show you how to create the application for deploying the App-V 5.0 client which is part of the MDOP ( Microsoft Desktop Optimization Pack )suite.

App-V 5.0 client is supported on the following platforms (As you can see , there is NO XP support) :

image

First we need to have a look on the exact prerequisites needed to run the App-V 5.0 client . You will find that kind of information here : http://technet.microsoft.com/en-us/library/jj713458.aspx

However the information on what version you need on the Microsoft Visual C++ is vague. We will clarify that below :

  1. Microsoft Windows .NET Framework 4 (Full Package) (http://www.microsoft.com/en-us/download/details.aspx?id=17718)
  2. Windows PowerShell 3.0 (http://www.microsoft.com/en-us/download/details.aspx?id=34595)
  3. Download and install KB2533623 (http://www.microsoft.com/en-us/download/details.aspx?id=26746)
  4. The Microsoft Visual C++ 2010 SP1 x64 Redistributable –> v10.0.40219 (http://go.microsoft.com/fwlink/?LinkId=268896)

image

  1. The Microsoft Visual C++ 2005 SP1 x86 Redistributable –> v8.0.61001 http://www.microsoft.com/en-us/download/details.aspx?id=26347

image

Now we need to create for each component an application . Lets start :

Windows .NET Framework 4 (Full Package)

Knipsel

Knipsel2

Knipsel3

Full installation code : dotNetFx40_Full_x86_x64.exe /q /norestart /ChainingPackage ADMINDEPLOYMENT

Knipsel4

Create 2 detection methods as shown below

Knipsel5

Detection Method 1 : {8E34682C-8118-31F1-BC4C-98CD9675E1C2}

Knipsel6

Detection Method 2 : {F5B09CFD-F0B2-36AF-8DF4-1DF6B63FC7B4}

Windows PowerShell 3.0

31

Full installation code : c:\windows\System32\wusa.exe "Windows6.1-KB2506143-x64.msu" /quiet /norestart

32

Use a script as detection method :

33

Full detection script :

KB2533623 –> Apply hotfix in your base image or use CBS updates with offline updates

Microsoft Visual C++ 2010 SP1 –> Use download link specified above and use MSI detection methods

Microsoft Visual C++ 2005 SP1 –> Use download link specified above and use MSI detection methods

App-V 5.0 Client itself

When done , we going to create the App-V 5.0 Client Application . Deploy one of the following Windows Installer files to the target computer. The Windows Installer file you specify must match the configuration of the target computer.

  • If the target computer is running a 32-bit Microsoft Windows operating system, deploy the appv_client_MSI_x86.msi.
  • If the target computer is running a 64-bit Microsoft Windows operating system, deploy the appv_client_MSI_x64.msi.
  • If you are deploying the App-V 5.0 Remote Desktop Services client, deploy the appv_client_rds_MSI_x64.msi.

14

Create your application.

10

Create 2 deployment types : x64 and x86

11

For the X64 deployment type

13

Use the regular msi install parameters

15

Use the regular msi detection method

16

Now you must create dependencies . Make sure you select AUTO Install !

17

First create the Visual C++ 2005 SP1 x86 and select the deployment type you created earlier .

18

Then create a WMF 3.0 one and select the deployment type you created earlier .

19

Then create the Visual C++ 2010 SP1 x86 and select the deployment type you created earlier .

20

Then as the last one , create the Visual C++ 2010 SP1 x64 and select the deployment type you created earlier .

21

 

Your al set , your App-V 5.0 install is ready to be used .

Hope it Helps ,

Kenny Buntinx

Deploying a Windows 7 MUI machine based on a "Hybrid MUI image" within Configmgr 2012

7:48 am in ConfigMgr, ConfigMgr 2012, ConfigMgr 2012 SP1, ConfigMgr V.next, Deployment, deployment types, detection methods, MUI, OSD, sccm, SCCM 2012, SCCM 2012 SP1, SCCM v.Next, Windows 7, Windows 7 SP1, Windows7 by Kenny Buntinx [MVP]

 
This post and subsequent posts will be a step by step on how to build a Hybrid base Windows 7 ( yes , I know that everyone should rollout the new fancy Win 8 Winking smile ) image in Configmgr 2012 and use that image as a base to deploy it in your company. I will be outlining not necessarily pointing out every click. Hopefully others will find this helpful. This assumes an understanding of Configmgr 2012 and uses what is referred to as a “Hybrid Image Strategy”.

 

In this post I’m going to outline how to handle multiple languages in a Windows 7 Enterprise deployment. Windows 7 Enterprise comes natively as a MultiLanguage User Interface type OS to which you can add on Language Packs. A language pack allows user to change the interface display language of Windows’ dialog boxes, menus and other text to the selected language. You can download/install them in a few different ways.

They take a long time to install and in our scenario it’s better to integrate them into your hybrid base .WIM image.

For this example, we’re going to configure and capture an OS image with the Dutch language pack installed. The reason why we use the Windows 7 base OS in English is :

  • Scripting in native English language. This means creating one script for all workstations in the enterprise .
  • One Worldwide image per platform (x64 or x86) , otherwise we would deploy a windows 7 professional English , Dutch and French as a native OS , meaning 1 image per language
  • Windows security updates Patching could be limited to English , which will reduce time and effort to test/build everything .

    The first step is build the hybrid image and to get a copy of the Language pack you need; these are a little hard to get a hold of but it’s because of the licensing requirement. You can get  a copy of the language pack :

  • Through your Microsoft support via MVLS
  • The Windows 7 language packs are available via Windows Update as optional update.
  • Windows 7 SP1 MUI language packs are released as KB2483139. All language packs (MUI) of Windows 7 SP1 in DVD ISO format from MSDN and TechNet Subscriber Downloads.
  • For people who wants to download the MUI language packs for Windows 7 SP1 only from official source, here’s the direct download links for most of both 32-bit (x86) and 64-bit (x64) Windows 7 SP1 MUI language packs from Microsoft’s Windows Update server.

    Download Official 32-bit (x86) Windows 7 SP1 MUI Language Packs

    Arabic: windows6.1-kb2483139-x86-ar-sa_5add6e4a36127029d431ba98d99708c44ef9b53f.exe
    Bulgarian: windows6.1-kb2483139-x86-bg-bg_a8a5013e477366119cfdc5fbda43b904755db450.exe
    Chinese (Simplified): windows6.1-kb2483139-x86-zh-cn_ae61ea226215f96fc95be33201ffc96755ac7eb5.exe
    Chinese (Traditional): windows6.1-kb2483139-x86-zh-hk_411a6bb68728f12f5ced712d9a33fee9ebe0b0b3.exe
    Danish: windows6.1-kb2483139-x86-da-dk_67fecaab0a940e2e537bc8dcd8a9ebb8ab4ed102.exe
    Dutch: windows6.1-kb2483139-x86-nl-nl_b7e1c3046b218fb45a665ab5f5ed8a5ea8125760.exe
    English: windows6.1-kb2483139-x86-en-us_783d6dd59e2ec8fb0995a059c9c121795bde46c8.exe
    Finnish: windows6.1-kb2483139-x86-fi-fi_5259ca6a22a981dbdee352dde5b8e65c2fddd407.exe
    French: windows6.1-kb2483139-x86-fr-fr_f57427487dfc2f49da67cac22480ab1f48983d22.exe
    German: windows6.1-kb2483139-x86-de-de_acb9b88b96d432749ab63bd93423af054d23bf81.exe
    Italian: windows6.1-kb2483139-x86-it-it_1d54a8d0047674fc1b5b6f41292a0074d9fe3cc5.exe
    Japanese: windows6.1-kb2483139-x86-ja-jp_bc46078938ae9129c7ce86a9c176fa517e4c0a3d.exe
    Korean: windows6.1-kb2483139-x86-ko-kr_18f213428cc6fde96d8c76c6dd91446348e86ce6.exe
    Norwegian: windows6.1-kb2483139-x86-nb-no_5bd6fc76ad54b7a232d4ceb4a5f5c7c366bf90b6.exe
    Polish: windows6.1-kb2483139-x86-pl-pl_c460a8c1392d7f3d35d1c0b37e56017d3552d245.exe
    Portuguese (Brazil): windows6.1-kb2483139-x86-pt-br_6e1d337b2fd56669d461e82601aa51004fecbd24.exe
    Portuguese (Portugal): windows6.1-kb2483139-x86-pt-pt_5cc92ef98ed177b2f6bbae3a0420ee2f12764fab.exe
    Russian: windows6.1-kb2483139-x86-ru-ru_6532a8f36ad7d15277d5d60da92555f0fbee4daa.exe
    Spanish: windows6.1-kb2483139-x86-es-es_6aef75f7d83edaabc2a921a6b157cc7005628286.exe
    Swedish: windows6.1-kb2483139-x86-sv-se_bd65af75e8995bd865d93c8d8c8a35091499083f.exe

    Download Official 64-bit (x64) Windows 7 SP1 MUI Language Packs

    Arabic: windows6.1-kb2483139-x64-ar-sa_f07f2cc7b55b17076eebceea2c2c2826b08b8f63.exe
    Chinese (Simplified): windows6.1-kb2483139-x64-zh-cn_2c1884b4fdf6c8e91986369d88bbcaae01c6f187.exe
    Chinese (Traditional): windows6.1-kb2483139-x64-zh-hk_285282b1e2f750eeed91466918443b657968d977.exe
    Danish: windows6.1-kb2483139-x64-da-dk_d753d19cc1a0fe95aef21548193393c04a6a8024.exe
    Dutch: windows6.1-kb2483139-x64-nl-nl_12c90c70d408b08f51f500d6e974878a5d662398.exe
    English: windows6.1-kb2483139-x64-en-us_9b9c8a867baff2920507fbf1e1b4a158572b9b87.exe
    Finnish: windows6.1-kb2483139-x64-fi-fi_223465e1b382484d1d82f8f2ccfcd9ed2f902c76.exe
    French: windows6.1-kb2483139-x64-fr-fr_0f18e2a244dd9ff04664112a82776d2bd2177798.exe
    German: windows6.1-kb2483139-x64-de-de_4f4ce6bd38530b4a02199172863b21a0cba13773.exe
    Italian: windows6.1-kb2483139-x64-it-it_6d8223c065d6974d833d0eaa162f3ceb7680850f.exe
    Japanese: windows6.1-kb2483139-x64-ja-jp_aeaf7e9b0b6c2173bf757330017a7f655f1f8715.exe
    Korean: windows6.1-kb2483139-x64-ko-kr_0ea76f748e3d5309d568147ad1337b2664090944.exe
    Norwegian: windows6.1-kb2483139-x64-nb-no_78df68604970041a6337b4058a3e5339f79e50b4.exe
    Polish: windows6.1-kb2483139-x64-pl-pl_24d00a966a7a75132c3af5627634483d3e2d01e7.exe
    Portuguese (Brazil): windows6.1-kb2483139-x64-pt-br_f8035731c55d774c95c7c673aedfd42d52479294.exe
    Portuguese (Portugal): windows6.1-kb2483139-x64-pt-pt_78485491088298110a3e78b7a5f95e55ff7808df.exe
    Russian: windows6.1-kb2483139-x64-ru-ru_0587eb296a2f04e0d3699650d39b53ee18b97a79.exe
    Spanish: windows6.1-kb2483139-x64-es-es_fdbdf4061b960324efb9eedf7106df543ed8ce33.exe
    Swedish: windows6.1-kb2483139-x64-sv-se_81051fe3083afdb4f2d1d23752c587de9bb35025.exe

    With those language packs downloaded , we going to create a “Hybrid Base OS” task sequence which will build and capture a VM (Vmware, Xen or Hyper-V –> HAL independent) from a setup.exe Windows 7 SP1 enterprise setup files, and add the following components:

  • Create a great unattended xml file to automate . –> See also http://scug.be/sccm/2010/02/02/sccm-windows-7-deployments-amp-unattended-xml/
  • Create a few Task sequence variables to identify the machine and do some branding.
  • My MUI packs I want to integrate. I add my Dutch Language pack install. That will produce a hybrid .WIM with the language pack integrated.
  • Latest .NET Framework 3.5 SP1 and 4.0 . If you really want , .NET 4.5 should work as well
  • Windows Management Framework 3.0  = KB2506146 or KB2506143 ( Attention : There are few code defects but a toxic issue with using ConfigMgr 2012 RTM  – It is FIXED with ConfigMgr 2012 SP1 –> Only install if you have SP1 !! )
  • All the various Visual C++ Runtime Libraries (2005 SP1 , 2008 SP1, 2010 SP1 )
  • All the various Visual C++ Report Viewers (2005 SP1 , 2008 SP1, 2010 SP1 )
  • Internet explorer 9 ( or 10 when it releases for Windows 7 )
  • All current Patches
  • Optional : Office 2007 / 2010 / 2013 MUI . My advise is only to incorporate Office x if you only have one version of Office thru your Enterprise . Meaning Office ProPlus for everyone and no mix !

    The Task Sequence itself will look like this :

    1 (2)

  • 1) Import Windows 7 SP1 x64 enterprise as an Operating System Install Package and add it to a Distribution point.
  • 2) Create a Windows 7 SP1 x64 Unattend.xml package in Configmgr ( yes a package as there is no way to handle it as an application ) and add it to a Distribution point. An example of a good unattend.xml file could be found here : http://scug.be/sccm/2010/02/02/sccm-windows-7-deployments-amp-unattended-xml/

    Make sure you have the following lines adapted as shown below . It will help you later to build a great machine that will meet your language criteria .

  • 3) Create a package and Program for your Windows 7 SP1 MUI language packs. Create one for X64 and one for X86 (if you need to support 2 HW platforms). An example of a how to build the Windows 7 SP1 MUI language packs package could be found here :

     

  • 4) Create four (4) OSD collections and set your collection variables accordingly :

    200

    Define the following variables accordingly :

  • OSDInputLocale = EN-US
  • OSDSystemLocale = EN-US
  • OSDUILanguage = EN-US
  • OSDUILanguageFallback = EN-US
  • OSDUserLocale = EN-US
  • Capture = YES
  • OfficePreinstall = YES
  •  

    201image

     image image

     

  • 4) Create a “Build and capture” task sequence :

     

        • Name the task sequence something appropriate like “Build & Capture Windows 7 SP1 X64 Hybrid Image”
        • Select the x64 boot image
        • Create a “Disk Format and Partition” step and choose properties on the Default (Primary) partition and check the “Quick Format” option
        • Select the Operating System Package you created in step 1 and specify your unattend.xml file you created in step 2
        • Set the local admin password to blank ( needed for sysprep to work )
        • Join a Domain and use a domain join account for security reasons. An example of a how to create a domain join account could be found here : http://scug.be/sccm/2008/10/20/configmanager-osd-joining-machines-to-a-domain-and-its-security/
        • Select the ConfigMgr 2012 client that is already available in Configmgr 2012
        • Create a few Task sequence variables to identify the machine and do some branding. We will use that later to create our automatic  naming when we are capturing the image.
          • Set “OSDModel for VMware" when the following query is true “select * from Win32_ComputerSystem WHERE model like ‘%VMware%’ “

          300

          • Set OSDARCHITECTURE=”X64"

          302

          • Set OSDVERSION=”Windows 7"
          • Set OSDREVISION=”SP1

     

    2 (2)

     

        • Windows Management Framework 3.0  = KB2506146 or KB2506143 ( Attention : There are few code defects but a toxic issue with using ConfigMgr 2012 RTM  – It is FIXED with ConfigMgr 2012 SP1 –> Only install if you have SP1 !! )
        • All the various Visual C++ Runtime Libraries (2005 SP1 , 2008 SP1, 2010 SP1 )

    4

    3 (2)

     

        • Optional : Office 2007 / 2010 / 2013 MUI (Remember the task sequence variable we have set at collection level !)

    303

        • All current Patches –> setup SU
        • Set your image properties and Capture settings
        • Select a location to save the image and make sure you include the full path including the .wim extension

    Capture Without Office : (Remember the task sequence variable we have set at collection level !)

    304

    image

    Capture With Office : (Remember the task sequence variable we have set at collection level !)

    306

    image

        • Enter an account with rights to write to the share
        • Finish up

    5) Deploy your “Build and capture” task sequence to a VMware , XEN or Hyper-V VM : Look here how to do it for VMware : http://scug.be/sccm/2010/02/03/sccm-deploying-windows-7-on-a-vmware-esx-environment-howto/

    Create your deployments (advertisements) accordingly :

    402

     

    Stay tuned for Part 2 , where we will deploy the Hybrid image ( that we just created)  for full deployment..

    Hope it Helps

    Kenny Buntinx

    Configmgr 2012 RTM/SP1 Part 1: Not so basic Applications and there Detection Methods

    2:44 pm in Application Model, applications, ConfigMgr, ConfigMgr 2012, ConfigMgr 2012 SP1, Deployment, deployment types, detection methods, sccm, SCCM 2012, SCCM 2012 SP1, vbscript by Kenny Buntinx [MVP]

     

    Hi Guys ,

    I will start a series of blog posts that will list all common applications with requirements and dependencies you need to build your general OSD Task Sequence.

    Today I will start with 2 great examples such as :

    1. Installing a or multiple certificate(s) for SCUP 2011 which is using a registry key as detection method
    2. Internet explorer 9 Post install hotfix which is using a script as detection method

    Scenario 1 :

    So let’s start with the first example , being certificate deployment as an application in a  task sequence :

    Let’s ask ourselves first this question : Why would we use an application to deploy certificates during an OSD deployment if we have Group Policy Object to do it for us ? Well , the answer is :  This Microsoft document at: http://technet.microsoft.com/en-us/library/bb693951.aspx states that "The Setup Windows and ConfigMgr” task sequence action is responsible for running Group Policy on the newly installed computer. At which point during the task sequence action that Group Policy is applied depends on the operating system being deployed. On Windows XP and Windows Server 2003, Group Policy runs after the task sequence is finished, the task sequence GINA has been unloaded and then replaced with the GINA on Windows. On Windows Vista and Windows Server 2008, Group Policy runs after the Setup Windows and ConfigMgr task sequence action completes. "

    Let’s build our Application now :

    1. Export your self signed certificate , and place it in a source folder . For Windows 7 , you don’t need any additional tooling , for XP you do. You need “certutilxp.exe and certadm.dll”

    image

    2. Create 2 batch files :

    Install.cmd –> For Win7

    SNAGHTML105afa45

    Install_XP.cmd –> For XP

    image

    3. Create your application . In this example “ WSUS Self Signed Certificate”

    SNAGHTML10537a2a

    4. Create 2 deployment types . One for XP and one for Win7 .

    SNAGHTML1056340b

    5. On the “Detection Method” tab , specify a registry key

    In my case : HKLM\SOFTWARE\Microsoft\SystemCertificates\TrustedPublisher\Certificates\6BFF5439A57586FEF61B8D8E2194A96DD459B511 and HKLM\SOFTWARE\Microsoft\SystemCertificates\AuthRoot\Certificates\6BFF5439A57586FEF61B8D8E2194A96DD459B511

    image

    Where does the “6BFF5439A57586FEF61B8D8E2194A96DD459B511” value comes from ? It will come from the properties of your exported certificate.

    Take the properties of your certificate and take a look at the value “ Thumbprint” as shown below :

    SNAGHTML10644ee2

    6. Define your requirement here directly or with a global condition :

    SNAGHTML10661df4

    7. Your done !

    Scenario 2 : Internet explorer 9 Post install hotfix

    So let’s start with the second example , being an Internet explorer 9 fix  deployment as an application in a  task sequence :

    Why ? I was looking at several Windows 7 machines in an environment that whenever a new domain user who had never logged onto a machine before got the following error message:

    The User Profile Service service failed the logon.

    User profile cannot be loaded.

    image

    Now in this case there was an existing Microsoft KB article for this located here http://support.microsoft.com/kb/947215

    Let’s build our Application now :

    1. Create a VBS with the following lines :

    image

     

    2.  Create your application . In this example “ Internet Explorer 9 Post Install Fix”

    SNAGHTML10727ca4

    3. Create a deployment type.

    image

    4. Specify your Program to run . In this case “IE9….vbs”

    SNAGHTML1074c859

    5. Now we will use a script as detection method . If the exit code is a non-zero value, then the script has failed and the application detection status is unknown. If the exit code is zero and STDOUT contains data then the application detection state is installed. –> see http://technet.microsoft.com/en-us/library/b2483e0f-3b9b-4551-ba5e-19fe0f5be3be#BKMK_Step4

    From my experience, if you use a vbscript method of detection; any returned value from wscript.echo, anything at all, means that the detection passed.  Even if you wscript.echo "FALSE", it doesn’t matter; something was returned, the script passed.

    If you don’t want it to pass detection, simply don’t echo anything.

    SNAGHTML1075574b

    6. We specify VBScript as language and past a script to detect if the file is there or not .

    SNAGHTML107627f9

     

    Hope it Helps ,

    Kenny Buntinx

    Intel HD Graphics driver and software for HP Models in OSD in the New Configmgr 2012 Application model

    9:04 am in Application Model, ConfigMgr 2012, ConfigMgr 2012 SP1, Deployment, deployment types, Drivers, Global Conditions, query, Requirements, SCCM 2012, SCCM 2012 SP1, System Center by Kenny Buntinx [MVP]

     

    System Center 2012 Configuration Manager has a great feature called the Application model that has many great built-in requirement rules that will help you to get the right deployment type installed on the right machine type even during OSD.

    For most of the drivers you need to install during OSD , the driver alone isn’t enough. A great example here is the Intel HD graphics or IDT high definition Audio drivers.

    In the old CM07 days you would build packages and programs , use them in your task sequence with a condition that uses a WMI query to apply that TS step on the right HW model. Well , forget about that and start using applications to install your “bad drivers” that need software as well. Let those global conditions figure out on what HW model hardware it is applicable.

    For most of my applications the built-in rules can get the job done, but some times we need to create our own Global Conditions, to fit the requirement rules for an application/Deployment Type. In this particular case , we will use a global condition to detect the right PNP ID so we are able to detect the HW. We simply don’t care on what HW model we apply this step , as the global condition will figure it out for you . This will allow you to simplify things in your TS.

    Let me give you an example on how to do it :

    1. Create your Application : HP Graphics driver and Software and fill in your supported models. Note: When downloading the driver software from the HP website , in the .inf file you will find on what HW models this software is applicable.

    image

    2. Create your Deployment Type and specify the install / uninstall parameters . In this case : “Setup –s”

    image

    3. Create your “Detection Method” . In this case we will look in to the registry :

    Hive: “HKLM”

    Key : \Software\Wow6432Node\Intel\GFX”

    Value :”Version”

    Data Type : “String”

    Equals version “ 9.17.10.2967”

    Now you can detect if the app is already installed or not .

    image

    4. Create your custom Global condition under the “Global Condition” Node in the Console .

    image

    5. Create your custom Global condition called:”Video is Intel HD Graphics Compatible Adapter” and specify the following settings :

    Name :”Video is Intel HD Graphics Compatible Adapter”

    Device Type : “windows”

    Condition Type : “Setting”

    Setting Type : ”WQL query”

    Data Type :”String”

    Namespace : “Root\Cimv2”

    Class: ”CIM_LogicalDevice”

    Property : “PNPDeviceID”

    WQL query where clause  :

    “PNPDeviceID like ‘%VEN_8086&DEV_0166%’ or PNPDeviceID like ‘%VEN_8086&DEV_0106%’ or PNPDeviceID like ‘%VEN_8086&DEV_0102%’ or PNPDeviceID like ‘%VEN_8086&DEV_0116%’ or PNPDeviceID like ‘%VEN_8086&DEV_0112%’ or PNPDeviceID like ‘%VEN_8086&DEV_0126%’ or PNPDeviceID like ‘%VEN_8086&DEV_0122%’ or PNPDeviceID like ‘%VEN_8086&DEV_010A%’ or PNPDeviceID like ‘%VEN_8086&DEV_0162%’ or PNPDeviceID like ‘%VEN_8086&DEV_016A%’ or PNPDeviceID like ‘%VEN_8086&DEV_0152%’ or PNPDeviceID like ‘%VEN_8086&DEV_0156%’ or PNPDeviceID like ‘%VEN_8086&DEV_015A%’”

    image

    To find the above information , you must open the corresponding inf file of the specified driver

    clip_image002

    6. Attach your previous defined “Global Condition” as a requirement on your deployment type. Make your sure to select that your global condition must exist on the client device .

    image

    7. Add the application to your OSD task Sequence . You’re done.

    I hope you see that the power of Applications can also be used in your OSD deployment scenarios .

    Hope it Helps ,

    Kenny Buntinx

    Configmgr Client Migration from 2007 to 2012 and App-V client version

    7:44 am in App-V, AppV, ConfigMgr, ConfigMgr 2007, ConfigMgr 2007 R2, ConfigMgr 2012, ConfigMgr2007 R3, Deployment, SCCM 2007, SCCM 2007 R2, SCCM 2007 R3, SCCM 2007 SP2, SCCM 2012, SCCM v.Next, System Center by Kenny Buntinx [MVP]

    If you are in the process of migrating your CM07 environment to CM12 and you are using already an App-V integrated solution , be sure that you have upgrade your App-V client to the correct version ! The correct supported version is App-V 4.6 SP1 cu5 .

    If the Existing CM07 client has the App-V client 4.6 or 4.6 SP1 installed , client migration will FAIL as shown below in the log file !! The only correct supported version is App-V 4.6 SP1 cu5 !

    image

    Hope it Helps ,

    Kenny Buntinx