Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

The Art of OEM - nLite & OEM Preinstallation

- - - - -

  • Please log in to reply
140 replies to this topic

Poll: Your opinion goes here (139 member(s) have cast votes)

Would you like for Windows Designer Studio to perform most of the operations described in this guide?

  1. Yes, and I want more features too! (67 votes [72.83%])

    Percentage of vote: 72.83%

  2. Yes (13 votes [14.13%])

    Percentage of vote: 14.13%

  3. No, I'd rather stick with the plain old Windows Setup routine. (5 votes [5.43%])

    Percentage of vote: 5.43%

  4. No, it's just a waste of time; nLite/vLite will always be enough for my needs. (7 votes [7.61%])

    Percentage of vote: 7.61%

Now that this guide is complete, are you happy with its contents?

  1. Yes, it's a great idea! (61 votes [66.30%])

    Percentage of vote: 66.30%

  2. Somewhat, I used some of the things described here. (20 votes [21.74%])

    Percentage of vote: 21.74%

  3. Probably, but it is too complex for me to handle. (7 votes [7.61%])

    Percentage of vote: 7.61%

  4. No (4 votes [4.35%])

    Percentage of vote: 4.35%

Which of these should benefit you the most and you'd like to see first in Windows Designer Studio? (more details soon)

  1. Windows Setup SDK (Panther Engine) - WIM capture, Setup customization and ISO making, like in Parts 3 and 4 (44 votes [57.14%])

    Percentage of vote: 57.14%

  2. VKEY Explorer - an advanced tool to design the registry of the OS you are designing (5 votes [6.49%])

    Percentage of vote: 6.49%

  3. Package Designer - a set of diff and compression tools to allow you to author/create/add/remove windows components and preinstalled apps (18 votes [23.38%])

    Percentage of vote: 23.38%

  4. VM Workbench - an extension for the free VMware Player product to test the results of your work before finalizing (10 votes [12.99%])

    Percentage of vote: 12.99%

Vote Guests cannot vote

#76
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts

Hmm, after re-checking the dependencies, also copying them to the sources folder, running depends again to make sure nothing's wrong (only missing is MSJAVA.dll), the setup still dies. Also downloaded the clean setup from sourceforge.net, but it still did not work... :/

What could be the problem?

-- Bas


Are you sure you got the .NET 2.0 working properly inside the PE ? There might be files with different versions and there are missing exports due to this reason... or...
Have you ran the SETUP.EXE locally (from a write-enabled folder) to see if it works properly?

If you still can't figure it out, get a evaluation for Norton Ghost 12 Recovery and add the stuff in your \SOURCES folder in their ISO. If it works there, the cause is your PE. I've also noticed that WinPE 2.0 boosts significantly the speed of the Panther SDK.

I've also had trouble with WinPE 1.x, and each time some missing export was to blame. AFAIK, the Panther run-time code requires a RAM drive, for temp folder and .NET 2.0

Hope to get Part 5 soon, I'm gathering screenshots in the mean time :sneaky:
If you discover anything else that I've forgot and should be in Part 4, let me know.


How to remove advertisement from MSFN

#77
NetworkService

NetworkService
  • Member
  • 7 posts
Hmm, it seems like BartPE's ramdisk plugin is not using my Server 2003 ramdisk.sys, but an own ramdriv.sys. Let's see how I can solve this. :)

EDIT: Hmm, I don't see a solution... :( I guess the ramdisk plugin inf file needs to be changed too, but what?

Edited by NetworkService, 14 July 2007 - 05:17 AM.


#78
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
Try with Windows PE 2.0, it already has most stuff you need

#79
NetworkService

NetworkService
  • Member
  • 7 posts
Yeah, including 1 thing I don't need: the need for 512 MB RAM... ;) Which my testing PC does not have, and I also can't have in Virtual PC/VMware, as my physical PC has just 512 MB... :(

#80
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
The WinPE 2.0 itself loads in 384 Mb of RAM properly, I've tested with Norton Ghost 12 which is based on it. Set MinimumMemory = 0 in DOSNET.INF in the SDK. The WIM beta 1 (as well as Longhorn 4xxx) installed with 256 Mb minimum memory, not 512.

Use in VMware: Edit -> Preferences -> Memory - Allow most virtual machine memory to be swapped
and in your VM: Options -> Advanced -> Disable memory page trimming

This cuts down some 33% out of performance, but will do the job for you

#81
aspenjim

aspenjim

    Member

  • Member
  • PipPip
  • 152 posts
dexter.inside.... i am so impressed with this guide. I can't wait to give it a try, as it is something I intend to master also. i'm sure it's a tremendous timesaver especially when used with driverpacks.

Thanks for the major contribution!!! This guide should be stickied on the msfn.org homepage along side of server 2003 -> workstation guide, as it is equally as valuable.

Jim

<edit> what software do you use for your explorer? as in picture 1?

Edited by aspenjim, 14 July 2007 - 06:56 AM.


#82
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
Total Commander 7. Been using the Norton Commander type of explorer since '93

#83
aspenjim

aspenjim

    Member

  • Member
  • PipPip
  • 152 posts
What does part 5 consist of?

#84
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
1) a much shorter guide to describe just the preinstallation of Office 2007 on XP
2) a minimal sysprep reseal scenario, no extra drivers on setup information
3) adding the WIM containing it to Norton Ghost 12 recovery CD and launching the setup routine from Symantec SRESHELL, which is the fastest install scenario I've made yet.

#85
madainpl

madainpl
  • Member
  • 2 posts
dexter.inside
please look
and test:)

http://en.wikipedia...._for_Legacy_PCs

#86
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts

dexter.inside
please look
and test:)

http://en.wikipedia...._for_Legacy_PCs


1) I am OEM Partner, thus I am aware and have used WinFLP
2) I have beta tested it

What about it?

#87
NetworkService

NetworkService
  • Member
  • 7 posts
Hi, I'm back again, with another question. :) I have just added the SOURCES folder to an Ghost 12 CD, and created an ISO with just the folders/files BOOT, EFI, SOURCES and BOOTMGR. It boots correctly to the SREShell, and I can choose an command prompt there, and start D:\Sources\Setup.exe. The first time I tried, it didn't correctly format the partition in VMware 6, and died with an error about preparing the hard drive. Restarted the setup, now manually formatted the seemingly created C:\ partition, and installed on it. The image got on the drive, but then I got an error about that writing boot.ini failed, or something like that. :) Setuperr.log shows an error about NtPathToArcPath failed for \Device\HardDisk0\Partition1.

How can this be solved? :)

-- Bas

EDIT: After reformatting a few times with the same HDD, it installed, but I got an INACCESSIBLE_BOOT_DEVICE on first boot. On VPC, where I made the image, I followed the instructions as mentioned in part 2, and sysprep.inf contains all required stuff. The setup issue still needs to be solved, as it's not useful to need to format 5 times. :P

Edited by NetworkService, 20 July 2007 - 06:57 AM.


#88
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
I think you must also update the boot code, like BOOTSECT /NT52 C:

Of course, as a long term goal, I must add to my app a wrapper for a windows setup of my own, so that I can install both XP/2003 and Vista/2008 using the same method.

#89
NetworkService

NetworkService
  • Member
  • 7 posts
If the MBR did not contain the NT 5.2 boot code, it wouldn't even boot to the BSOD. ;) By the way, what cool wallpaper are you using at the end of part 2 on the Home Server box? :)

#90
Innocent Devil

Innocent Devil

    Senior Member

  • Member
  • PipPipPipPip
  • 633 posts
easy way :
just put sources folder to WinFLPs disc
delete Setup directory
add setup.exe to run from winpeeshl.ini

load setupreg.hiv from I386\system32
and change value of SETUP\CmdLine
from "\Setup\SetupLauncher.exe" to "winpeshl.exe"

it worked like a charm.. :)
"The level of security that Vista is trying to achieve to protect video and audio is more extreme than anything the US government has ever considered necessary for protecting its most sensitive classified data."

Read Full Article @ [A Cost Analysis of Windows Vista Content Protection]

Don't be lame [Linux is NOT Windows]

#91
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts

easy way :
just put sources folder to WinFLPs disc
delete Setup directory
add setup.exe to run from winpeeshl.ini

load setupreg.hiv from I386\system32
and change value of SETUP\CmdLine
from "\Setup\SetupLauncher.exe" to "winpeshl.exe"

it worked like a charm.. :)


Yes, largely the same case as doing the same for Norton Ghost 12 recovery CD... the problem with using the PE from WinFLP is driver support; I doubt many of the new drivers are included there.

#92
Innocent Devil

Innocent Devil

    Senior Member

  • Member
  • PipPipPipPip
  • 633 posts
WinFPLs PE is NT 5.2.3790 (Workstation built of 2k3 )

how can a BartPE built from srv03 sp2 std edition support Panther ?

even after satisfying the dependancies the pather setup stays at "Starting Setup ,Please wait...."
not at all progessing...

is there any workaround for 2k3 sp2 BartPE ??

XP PE is not supported at all (setup complaints requirement of a .NET capable PE)

Another weired prob:
the vmware cmount2 deosnt recognizing my virtual disk partition (which created using XP in the Virtual machine) in virtual IDE disk

Virtual disk partitions created by Panther or vista RTM PE are recognized (both IDE and SCSI on a new virtual disk disk)
:(
just only one virtual disk (on which i installed XP), all others are detected by vmount2
"The level of security that Vista is trying to achieve to protect video and audio is more extreme than anything the US government has ever considered necessary for protecting its most sensitive classified data."

Read Full Article @ [A Cost Analysis of Windows Vista Content Protection]

Don't be lame [Linux is NOT Windows]

#93
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
1) it does progress, but for some reason on non-PE 2.0 it stays that way for almost 2 minutes, not sure why.

and

2) vmount2 has some flaws, you'd be better of with vmware-vmount 5.5.0. AFAIK the VMware beta team could not solve it during v6 testing. I had the same problem while coding around the vmplayer 6 SDK, and the best option is 5.5.0 build 18463.

Get it from my wdesign SVN: vmware-mount.exe, libeay32.dll, ssleay32.dll

Fortunately, it's compatible with both Workstation 6 and ESX 3.

#94
Innocent Devil

Innocent Devil

    Senior Member

  • Member
  • PipPipPipPip
  • 633 posts
thanx
i managed to create a new scsi hd attached to ame machine and imaged ide drive from winpe to the scsi disk

then i mounted the scsi disk using vmount2 and copied the install.wim

isn't weired ??
"The level of security that Vista is trying to achieve to protect video and audio is more extreme than anything the US government has ever considered necessary for protecting its most sensitive classified data."

Read Full Article @ [A Cost Analysis of Windows Vista Content Protection]

Don't be lame [Linux is NOT Windows]

#95
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts

thanx
i managed to create a new scsi hd attached to ame machine and imaged ide drive from winpe to the scsi disk

then i mounted the scsi disk using vmount2 and copied the install.wim

isn't weired ??


Quite reasonable, unless you are capturing directly on a network share. Or mount the partition to be imaged as a drive on a physical machine (like V:) and capture it this way, it does work.

Edited by dexter.inside, 09 August 2007 - 01:36 AM.


#96
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
Part 5 - Quick OEM Preinstallation Guide for Workstations
Featured: Windows XP SP3 v.3180

Due to popular demand, I made Part 5 to show how to preinstall large applications in a workstation environment (Windows 2000 / XP). It is a quick guide that covers issues described in parts 1 and 2. As opposed to unattended installation, OEM preinstallation allows you to make a new setup disk with all the apps and registry tweaks you want without needing any special-made CAB packages, slipstreaming or scripting.

In this example, I used the evaluation version of Windows XP SP3 Media Center Edition in VMware Player.

Posted Image
Picture 1 - Install Windows



Now, after you've passed the first boot, feel free to install all the apps and registry tweaks you want to have in your setup disk, like Office 2007, Visual Studio, Vista Transformation Pack, antivirus or whatever.


Posted Image
Picture 2 - First Boot


When you are done "pre"-installing, continue. If you have a Corporate version, Windows is already activated. If not, you might want to activate it now. In my case, by not activating it, I am making a OEM preinstalled master distribution disk (Sysprep will rearm my activation back to 60 days by default when it completes).

Unpack the deployment tools (DEPLOY.CAB) to C:\sysprep

Posted Image
Picture 3 - DEPLOY.CAB


Posted Image
Picture 4 - C:\Sysprep



Now you need a partially unattended script for Sysprep to execute.
You can either use SETUPMGR.EXE to make your own and add [SysprepMassStorage] at the end, or you can use this:

;SetupMgrTag[Unattended]InstallFilesPath="C:\sysprep\i386"OemSkipEula=YesDriverSigningPolicy=IgnoreUpdateInstalledDrivers=Yes[GuiUnattended]EncryptedAdminPassword=NOAutoLogon=YesAutoLogonCount=0OEMSkipRegional=1[UserData]FullName=""OrgName=""[SetupMgr]DistFolder=c:\sysprep\i386DistShare=windist[Identification]JoinWorkgroup=WORKGROUP[Networking]InstallDefaultComponents=Yes[SysprepMassStorage]

Now you will need to run sysprep -bmsd to populate your driver section. The default path it scans is \WINDOWS\Inf.

Posted Image
Picture 5 - sysprep.inf script


Sysprep may require some other files and settings. Thanks to JakeLD :thumbup , here they are:
(read the original topic here)

Windows Registry Editor Version 5.00; Change source path to be c\windows instead of cd-rom; Fix a sysprep bug[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]; Set C:\WINDOWS C:\WINDOWS\I386 C:\WINDOWS\SYSTEM32 C:\WINDOWS\SYSTEM32\DRIVERS as installation sources"Installation Sources"=hex(7):43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,\  57,00,53,00,00,00,43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,\  00,5c,00,49,00,33,00,38,00,36,00,00,00,43,00,3a,00,5c,00,57,00,49,00,4e,00,\  44,00,4f,00,57,00,53,00,5c,00,53,00,59,00,53,00,54,00,45,00,4d,00,33,00,32,\  00,00,00,43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,\  53,00,59,00,53,00,54,00,45,00,4d,00,33,00,32,00,5c,00,44,00,52,00,49,00,56,\  00,45,00,52,00,53,00,00,00,00,00"SourcePath"="C:\\WINDOWS""ServicePackSourcePath"="C:\\WINDOWS"[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion];"RegisteredOrganization"="";"RegisteredOwner"="User""SystemRoot"="C:\\WINDOWS""SourcePath"="C:\\WINDOWS\\i386"

And also copy these files to \sysprep\I386 (don't add out-of-box drivers, the folder is deleted after setup completes)

agentdp2.dllagentdpv.dllagt0405.dllagt0405.hlpagt0406.dllagt0406.hlpagt0407.dllagt0407.hlpagt0408.dllagt0408.hlpagt0409.dllagt0409.hlpagt040b.dllagt040b.hlpagt040c.dllagt040c.hlpagt040e.dllagt040e.hlpagt0410.dllagt0410.hlpagt0413.dllagt0413.hlpagt0414.dllagt0414.hlpagt0415.dllagt0415.hlpagt0416.dllagt0416.hlpagt0419.dllagt0419.hlpagt041d.dllagt041d.hlpagt041f.dllagt041f.hlpagt0816.dllagt0816.hlpagt0c0a.dllagt0c0a.hlpagtintl.dllctype.nlsc_037.nlsc_10000.nlsc_10006.nlsc_10007.nlsc_10010.nlsc_10017.nlsc_10029.nlsc_10079.nlsc_10081.nlsc_10082.nlsc_1026.nlsc_1250.nlsc_1251.nlsc_1252.nlsc_1253.nlsc_1254.nlsc_1255.nlsc_1256.nlsc_1257.nlsc_1258.nlsc_20127.nlsc_20261.nlsc_20866.nlsc_20905.nlsc_21866.nlsc_28591.nlsc_28592.nlsc_28593.nlsC_28594.NLSC_28595.NLSC_28597.NLSc_28598.nlsc_28599.nlsc_28603.nlsc_28605.nlsc_437.nlsc_500.nlsc_737.nlsc_775.nlsc_850.nlsc_852.nlsc_855.nlsc_857.nlsc_860.nlsc_861.nlsc_863.nlsc_865.nlsc_866.nlsc_869.nlsc_874.nlsc_875.nlsc_932.nlsc_936.nlsc_949.nlsc_950.nlsenum1394.infenum1394.sysftdisk.sysgeo.nlsisapnp.syslocale.nlsl_except.nlsl_intl.nlsmodern.fonmouhid.sysroman.fonscript.fonsortkey.nlssorttbls.nlsstreamci.dllunicode.nlsvga.syswst_czec.fonwst_engl.fonwst_fren.fonwst_germ.fonwst_ital.fonwst_span.fonwst_swed.fon

Now that you can see the driver locations in the SysprepMassStorage section, you can start resealing your workstation.

Posted Image
Picture 6 - Sysprep


Posted Image
Picture 7 - Working


The virtual machine shuts down and the process is complete. Either go to Part 3 and 4 of this guide to see how to image it (you can mount the C: partition to your physical operating system and image it from there) and build a setup disk or use a 3-rd party disk imaging tool, like Norton Ghost.

Enjoy :hello:

Edited by dexter.inside, 09 August 2007 - 11:56 AM.


#97
Inferi0r

Inferi0r

    Little dude

  • Member
  • PipPip
  • 180 posts
One word: awesome

#98
swampy

swampy

    Junior

  • Member
  • Pip
  • 92 posts
Hi dexter.inside, thanks for your work.

I've created a wim file that works from command prompts, I'm just a bit confused how to implement it from the Ghost 12 Recovery CD.

I'd really like it to install like Vista or WinFLP, ie no interaction & nice GUI.

Any help appreciated.

#99
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts

Hi dexter.inside, thanks for your work.

I've created a wim file that works from command prompts, I'm just a bit confused how to implement it from the Ghost 12 Recovery CD.

I'd really like it to install like Vista or WinFLP, ie no interaction & nice GUI.

Any help appreciated.


Okay, I will document both WinFLP (no interaction) and Norton Ghost 12 (Norton System Recovery Shell) scenarios.

#100
swampy

swampy

    Junior

  • Member
  • Pip
  • 92 posts
"WinFLP (no interaction)" would be great, I've installed WinFLP a few times and it's exactly the type of install I'm after.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN