I figured out a workaround for OSD. Essentially I create a fake ccmsetup.exe which then executes the normal ccmsetup command line OSD needs but with the /skipprereq:WindowsUpdateAgent30-x64.exe parameter included.
1. Create a copy of your client install package. Move all the install files/folders into a new subfolder named client.
2. Add the new client package and make note of the package ID assigned.
3. Using VS Express 2013, create a new c# console project and name it ccmexec. Paste this code in, replace 10000A53 with the package ID of your new client package, and compile.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ccmsetup
{
class Program
{
static void Main(string[] args)
{
var process = Process.Start("c:\\_SMSTaskSequence\\OSD\\10000A53\\client\\ccmsetup.exe", "/skipprereq:WindowsUpdateAgent30-x64.exe /useronly /source:C:\\_SMSTaskSequence\\OSD\\10000A53\\client
/config:C:\\_SMSTaskSequence\\OSD\\10000A53\\MobileClient.TCF");
while (!process.HasExited)
{
Thread.Sleep(1000);
}
}
}
}
4. Take the fake ccmexec.exe and add it to the root (the root only - don't overwrite the normal ccmsetup.exe located in the client folder) of your new client source folder and update your new client package.
5. Modify your Windows 10 task sequence(s) and switch the SCCM client package to your new one.
This works for me under SCCM 2012 R2 CU1 w/ WIndows 10 x64 build 10041. This should work for the 10061 build as well. Yeah I know I this could be better (extract package ID from command line, etc.) but I was in a hurry just to make sure this workaround fundamentally
works.
-
Edited by
jdarg
Friday, May 01, 2015 7:30 PM
-
Proposed as answer by
jdarg
Friday, May 01, 2015 7:30 PM