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

#51
Roost_12

Roost_12
  • Member
  • 4 posts
  • Joined 18-April 07
Can there anything be done about the annoying "The bandwidth limit for this site has been exceeded." message when you click on a picture?


How to remove advertisement from MSFN

#52
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

Can there anything be done about the annoying "The bandwidth limit for this site has been exceeded." message when you click on a picture?


Edit: I've been noticed today of using up the bandwidth, I will mirror these pictures on my main web storage.

Edited by dexter.inside, 18 June 2007 - 11:52 AM.


#53
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06
I've started my project at http://sourceforge.n...rojects/wdesign
you can join and/or get the source code there, post suggestions for functionality, or whatever.

as for the main issues i'd like to cover:

- it will cover complementary aspects to nLite/vLite functionality
- for a start, it is intended to create a setup disc, by performing stuff described in this guide
- a more "embedded" point of view, e.g. the ability to define a "package" containing files, registry settings, and installer logic, to acquire the contents of that package from the windows disc or an existing installation. I don't like using several gigabytes of storage or SQL Server to handle data. It was the only way 10 years ago when they invented this method called "NT Embedded", but now we have Microsoft .NET to ease our work.
- the ability to define/add/remove these packages from a sysprepped 2000/XP/2003 or Vista
- some compatibility to the distribution share in Business Desktop Deployment
- share with others your own package layout, so each of the users can contribute to the process.

I am currently working on a unified abstraction layer to handle heterogenous data in windows, like INFs / SIFs / registry hives / XMLs. As for storage capabilities, I plan to use WIM, in a similar fashion that Microsoft did in Windows XP Fundamentals for Legacy PCs.
The main process would look like this:

1) Acquistion - windows files get copied into the application's WIM repository, from either Windows PE, windows setup disc, or an existing windows installation.

2) Packaging - depending on what packaging logic you have at that moment, an acquired OS gets transformed into a bunch of packages. You can either create more packages yourself to remove more from the leftovers or to add a application.

3) Verification - the future registry is scanned for errors, you are prompted to add files that are not present, you can preview changes

4) Export - using files stored in your registry, like OSes, apps, drivers, and the packaging schema you created, another sysprepped installation of windows is generated, on either local filesystem, SDI disks or mounted VMware VMDK disks

5) Testing - I have the SDKs for VMware Player, the free virtualization product, so my app should be able to generate a VMX configuration and boot that exported disk to test if it actually works.

6) Install Media - using a package containing setup files, a setup disc is generated, just like in Part 4 of the guide

At this point I am planning a console-like main window that runs wizards for each task: Acquisition, Export...

Posted Image


You can try it yourself - get the binaries here.
This build is only for testing the code on different machines. No actual functionality yet. Read the console.log that it generates after each run to see what it actually does.

So I will be creating a list with desired functionality. Feel free to submit a request for your needs.
N.B. As I currently am unemployed I will probably have a lot of time for programming. :D

Edited by dexter.inside, 18 June 2007 - 07:28 AM.


#54
JuMz

JuMz

    Advanced Member

  • Member
  • PipPipPip
  • 466 posts
  • Joined 09-August 04
How did you get the OS/Version/Build No. on the bottom right of your installations in screenshots on the first page?

#55
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

How did you get the OS/Version/Build No. on the bottom right of your installations in screenshots on the first page?


there's the "show version number on desktop" tweak, present in either nLite or the TweakUI powertoy. It's useful when you have to track lots of windows installations. In evaluation builds it's enabled by default. If you've got a timebomb there's an extra string there - "for evaluation purposes only."

#56
Bilou_Gateux

Bilou_Gateux

    Powered by Windows Embedded

  • Member
  • PipPipPipPipPip
  • 768 posts
  • Joined 03-January 04

You can get ximage.exe from the Longhorn 4074 install CD or from the Longhorn 4033 SDK. It was renamed to ImageX after Beta 1 was scrapped. It may surprise you to know that Codename Eiger also uses the Beta 1 format instead of later revisions, due to some unknown reason.

I use version 6.0.4059.0 (main.031208-1842), compatible with XML*.DLL schema v2.00.3510.0 (main.031208-1842) and earlier. This was the last release of Beta 1, compatible with all WIMs made before Beta 2. Notice the compile date - December 2003. Eiger uses a different compile of the same code, flagged with a "cjonas" string in the version, both compatible.

Here's how the /? output should look like.

Usage:        XIMAGE /capture [Drive]      [Image File] [Description]        XIMAGE /boot    [Drive]      [Image File] [Description]        XIMAGE /append  [Drive]      [Image File] [Description]        XIMAGE /apply   [Image File] [Drive]      [View #]        XIMAGE /script  [ScriptCommands:        /capture  - Creates a new image of a drive        /boot     - Creates a new bootable image of a drive        /append   - Appends a drive image into an existing image        /apply    - Applies an image to a drive        /info     - Displays available image views        /script   - Specifies an answer script        /scroll   - Scrolls output for redirection        /nosis    - Stores duplicate files        /nocomp   - Stores uncompressed file data        /lznt     - Use LZNT1 compression        /lzx      - Use LZX compression [default]        /flags    - User defined image flags        /verify   - Verify duplicate filesExamples:        ximage /capture D: data.wim "Drive D"        ximage /lzx /capture C: cdrive.wim "C Drive"        ximage /lznt /capture E: data.wim "Drive E"        ximage /nosis /nocomp /capture D: data.wim "Drive D"        ximage /scroll /append E: data.wim "Drive E"        ximage /boot D: data.wim "Drive D"        ximage /apply data.wim D: 1        ximage /info data.wim        ximage /script unattend.txt        ximage /flags 128 /capture D: data.wim "Drive D"

Functionality differences from the RTM version are:

- Beta 1 does not support mount/unmount operations, they were added 1 year later.
- There is no mini-filter driver compatible with the resulting WIMs.
- The XML schema is different.


Windows Tools : xImage
OS Version = 5.1.2600 Service Pack 3
Platform ID = 2 (NT)
Service Pack = 3.0
Suite = 0x0140
Product Type = 1
Architecture = x86

#57
romsempire

romsempire

    Newbie

  • Member
  • 47 posts
  • Joined 08-November 05
your guide rocks!!
Please give us pdf version.


THX :)

#58
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06
Update: I will soon have links to the PDF version on my website and on the project's home @ SourceForge.
I will probably release the windows setup SDK and a testable alpha build of the project by the end of the month. My progress with the code is satisfactory; here's a preview of the target system registry designer

Screenshot Link

Edited by dexter.inside, 04 July 2007 - 12:59 PM.


#59
ewood

ewood
  • Member
  • 2 posts
  • Joined 11-June 07
Excellent guide dexter.inside! :thumbup I've spent quite a few hours going over these posts and have found them incredibly useful. Thanks for making this all available to the public!

I've got a question for you regarding this whole process (which I'm still trying to wrap my head around).

Is it possible to create an OEM installation of XP this way? I'm asking because I see you're using xImage, which you've said to be a longhorn thing.

I wish I understood the process well enough to answer my own question, alas, I must ask the expert!

In the end, what I'd like to have is a version of XP customized for my corporation, all up to date and with all the standard apps we use. I've used nLite to customize the installer as shown in section 1. All worked well, I have a half-customized iso of xp at this point. I'm on to the next section of creating the VM and adding all the other apps I'll need.

At this point I'm a bit confused because the guide is obviously for Windows Home Server and I'm not working with that platform.

If you have a few minutes could you straighten me out?

Thanks in advance!

-- edit --

Okay, I'm to section 2.2 - prepping the share. All good there.

2.3 is where I've stopped. I don't understand why I need to nLite the source and burn it again in 2.4.1, the reason being I chose to make the ISO at the end of step 1.5 as I dont need to add anything else at this point. (I don't think).

Edited by ewood, 05 July 2007 - 02:29 PM.


#60
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

Is it possible to create an OEM installation of XP this way? I'm asking because I see you're using xImage, which you've said to be a longhorn thing.

It's possible to create a installation of any windows this way. You can't have Windows Setup reading from a Ghost image, but you can from one made with ximage. Before the introduction of WINLOAD.EXE and the new boot code this is how Longhorn was installed.

2.3 is where I've stopped. I don't understand why I need to nLite the source and burn it again in 2.4.1, the reason being I chose to make the ISO at the end of step 1.5 as I dont need to add anything else at this point. (I don't think).

In your case that's not needed, true. I have detalied a more complex scenario for the purpose of customizing some server functionality. The main target for what is described in 2.3 - 2.4 would be server farms / Windows 2003 CCS or Home Server, on which there is no easy or cheap way of doing this kind of customization. If you already have a satisfactory installation in a virtual machine fell free to proceed with its imaging.

I am also planning an alternate preinstallation scenario for Part 2, more simple and intended for Windows 2000/XP, so that I can provide a standard common-base testing scenario for my app, when it will become beta-testable later this month. simply put, a BDD-like bare metal installation method for NT 5.x without all the fuss concerning offline servicing.
Most likely I will include both workstation and server scenarios in the PDF.

Edited by dexter.inside, 05 July 2007 - 07:20 PM.


#61
nuhi

nuhi

    nLite & NTLite human.dll

  • Developer
  • 4,390 posts
  • Joined 25-October 03
  • OS:none specified
  • Country: Country Flag
Topic moved to a better suited subforum.
http://www.nliteos.com | http://www.ntlite.com
Remove components and customize Windows

#62
NaDer_GenKO

NaDer_GenKO

    Member

  • Member
  • PipPip
  • 180 posts
  • Joined 17-January 07
Hi 'dexter' :hello:

I have Windows XP Pro.
How can this tutorial be useful for me? if yes

What steps should i follow?

Edited by NaDer_GenKO, 06 July 2007 - 01:43 PM.


#63
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

Hi 'dexter' :hello:

I have Windows XP Pro.
How can this tutorial be useful for me? if yes

What steps should i follow?


the main benefit for workstations is that you can slipstream large pieces of software in your windows installation, like Visual Studio or Office 2007.
Parts 1, 3 and 4 are applicable in this case, the main difference is that you just install the software you want in VMware and sysprep afterwards. I will make a Part 2 alternative for Windows 2000 / XP

#64
ewood

ewood
  • Member
  • 2 posts
  • Joined 11-June 07
Thanks dexter.inside!!!

#65
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

Yo dexter.inside, I like your post. Just an idea, you have to make a blog or website with all this content.


And thus...

HTML version on my website here (I will add PDF version to a download section)

Windows Designer Studio topic here (concerning app development, suggestions and feedback)

This thread stays as discussion for the guide itself. There will be a different topic for Art of OEM for Vista.
To get the newsletter, send a mail with the word 'subscribe' in subject, to dexter_inside@yahoo.com

Edited by dexter.inside, 06 July 2007 - 04:57 PM.


#66
NaDer_GenKO

NaDer_GenKO

    Member

  • Member
  • PipPip
  • 180 posts
  • Joined 17-January 07
Hi dexter,

the links of part2 ,3 and 4 on Art of OEM web site not working
I tested it for 3 days before and nothing changed. I'm Very sad Because I'm interesting in this scenario

#67
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

Hi dexter,

the links of part2 ,3 and 4 on Art of OEM web site not working
I tested it for 3 days before and nothing changed. I'm Very sad Because I'm interesting in this scenario


sorry for that, I have made some minor adjustments to the text and moved all the images on my site. I am also making some space in Part 2 for a workstation-tuned scenario.

Edit: done, all the parts are now on my site. Issues specific to WHS are moved out from Part 2 for the moment, hope that clears out some of the confusions related to 2.2 - 2.4

PDF version: Art of OEM - revision 2.pdf , 6189 kb

Edited by dexter.inside, 08 July 2007 - 08:06 PM.


#68
NaDer_GenKO

NaDer_GenKO

    Member

  • Member
  • PipPip
  • 180 posts
  • Joined 17-January 07
thank you very much dexter
for your fast response and for the great job and for your efforts

the site now working perfectly and I'm happy of this
the PDF is very nice :thumbup

#69
wrayal

wrayal

    Junior

  • Member
  • Pip
  • 54 posts
  • Joined 19-May 07
dexter,

I've been following the process, and I'm very impressed by not only your research, but also the detail in your guide! I had two little problems whilst following it though:

1) You have an absolute mountain of drivers; I realised not all of these are required, but as a general rule, will the mass storage drivers distributed with windows be sufficient for install on most computers, if you add them correctly into sysprep?

2) I was unsure how to transfer the settings across to the default user. I've created a second user, and installed everything I wish under that user, but how do I now transfer the settings to the default user? And do I need to do anything to the admin account? This is immediately before sysprep.

Many thanks!!

Wrayal

#70
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

1) You have an absolute mountain of drivers; I realised not all of these are required, but as a general rule, will the mass storage drivers distributed with windows be sufficient for install on most computers, if you add them correctly into sysprep?


The only real issue with missing drivers is that if you don't have the proper SATA drivers you won't be able to install windows (either Windows PE will not detect the hard drive at all, or Windows will BSoD with UNMOUNTABLE_BOOT_VOLUME at first boot). If you use the Universal ATA driver you may overcome that problem, though.

2) I was unsure how to transfer the settings across to the default user. I've created a second user, and installed everything I wish under that user, but how do I now transfer the settings to the default user? And do I need to do anything to the admin account? This is immediately before sysprep.


The default user data is in \Documents and Settings\Default User. If you already have the template user account, copy it over the Default User folder, overwriting files there. This is done after you've applied sysprep, and you are preparing to image it. Alternatively, there's the TweakUI Powertoy, that can do mostly the same thing. It's best to use TweakUI just before running sysprep.
If you want the administrator account disabled, you should run a script at first boot to disable it.

#71
wrayal

wrayal

    Junior

  • Member
  • Pip
  • 54 posts
  • Joined 19-May 07
Awesome, thanks. I've done this now, and am preparing to reseal tomorrow, but must first find my longhorn 4xxx disk. Many thanks again for the guide, I'll report my results here as I go along - so far almost everything has worked smoothly. I've integrated Media Centre and Tablet tools successfully, tho I had to stop the MCE receiver service to prevent an event warning on startup [I don't use the features it provides anyway], and it still always gives a note saying a media centre extender is connected every time I shut down, even though I don't - I must look into the latter before sealing I suspect. Have you come across this at all?
The only other issue I had was that where BDD put all my drivers into a single folder, nLit only recognised one of those within this folder. I ended up manually putting them into separate folders (thankfully I didn't have nearly as many drivers as you!). Is this stupidity on my part?

Thanks,

Wrayal

[edit] Sorry, one final question, if I may: I saw you did the 'Ultimate' modification to 2k3 - did you also have the error stating you drivers were incompatible, and does this rectify itself once installed on hardware for which you can provide valid drivers?

Edited by wrayal, 12 July 2007 - 10:14 PM.


#72
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06
nLite has no problem reading \Out-of-box Drivers as a Multiple Driver Folder. You've probably used the other option.

MCE adds some stuff to startup, like cheching for extenders. I had no driver issues whatsoever on it.

#73
NetworkService

NetworkService
  • Member
  • 7 posts
  • Joined 10-April 06
Hi all,

I have followed this guide, and am now testing my BartPE + Longhorn Setup ISO. The setup did get to the partition choice in my Server 2003 desktop, but, on the BartPE CD, it drops to the command shell of startnet.cmd, after I select the partition selection button, or Next. I did use an modified Longhorn setup, as I could not get an untouched one, but the only change is that there is no dotnetpe.cab, and there is a weird bitmap in the loading screen. Also, I'm deploying XP Pro, but the setup only wanted to run on 2003, so I built it with 2003.

Could anyone help? :)

-- Bas

#74
dexter.inside

dexter.inside

    reverse engineering guru

  • Member
  • PipPipPip
  • 331 posts
  • Joined 19-October 06

Hi all,

I have followed this guide, and am now testing my BartPE + Longhorn Setup ISO. The setup did get to the partition choice in my Server 2003 desktop, but, on the BartPE CD, it drops to the command shell of startnet.cmd, after I select the partition selection button, or Next. I did use an modified Longhorn setup, as I could not get an untouched one, but the only change is that there is no dotnetpe.cab, and there is a weird bitmap in the loading screen. Also, I'm deploying XP Pro, but the setup only wanted to run on 2003, so I built it with 2003.

Could anyone help? :)

-- Bas


Probably because the Panther Setup engine uses ramdrive internally and the ramdrive.sys in XP is no good.
If there are missing dependencies, the setup routine just closes silently.

Have a look at Norton Ghost 12 rescue CD, it already has all the dependencies needed for this. I am currently writing an alternate scenario for Windows XP, in which the setup is launched from Symantec SRESHELL.

I've added the Panther SDKs on my project's download page
You will have to provide PIDGEN.DLL, SETUPP.INI and EULA.TXT for the OS you are installing.

Edited by dexter.inside, 13 July 2007 - 07:07 PM.


#75
NetworkService

NetworkService
  • Member
  • 7 posts
  • Joined 10-April 06
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




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users