Page 1 of 18


PostPosted: Sun Jan 13, 2008 6:13 am
by mr_smartepants
[color="Red"]** This addon is old and superseded by my v1.8 addon[/color] linked here:
*** Old thread below
OK, this is an update to my previous multioem addon. Like before, it is modular and expandable to your needs. This addon does NOT include any OEMBIOS.* files to keep the filesize down (although empty placeholders are included to show you where to place them). OEMBIOS files can be downloaded for your OEM systems from OEMBIOS filesets are different between XP and 2003, be sure you put the correct fileset in the right folders.

This addon also does not include any SLP product keys, you must provide your own SLP key. Do [color="Red"]NOT[/color] ask for us to give you a key as that is against forum rules and the law in some countries. In this addon, the SLP key is represented by the string 11111-22222-33333-44444-55555.

I've tried to simplify this addon so that the only file you need to edit is the oemscan.ini file for each OS type (Home, Pro, MCE, W2k3) and add your OEMBIOS.* files...that's it!
This addon should be 100% compatible with single-disc as well as multi-OS/multi-boot PowerPacker integrations (may need to modify the folder path in the svcpack\oemscan.cmd file in multi-OS setups). You do NOT need to specify a product key in WINNT.SIF, in fact any key that is present will be overwritten if a matching OEMBIOS fileset is used on the PC. This addon does NOT use the $OEM$ directory, but uses the OEM directory instead to make it compatible with PowerPacker.

OK, to customize your multioem addon, start by downloading the addon from this post.
(in the below instructions, just substitute "Sony Corporation" with your OEM name.
1. Decompress the addon to your desktop or other working directory.
2. Download all of the OEMBIOS files you will need from (eg. 376E13C7 for "Sony Corporation")
3. Gather your SLP keys (do NOT ask here for these!).
4. In the addon, go to the OEMBIOS folder and open the folder using the same name as listed on the website (eg. \OEMBIOS\Sony_376E13C7)
5. Add the four decompressed OEMBIOS.* (bin, sig, dat, cat) files you downloaded to the Sony folder you just made (XP filesets go in OEMBIOS\*, 2003 filesets go in OEMBIOS3\*.
6. Open the oemscan.ini file in the appropriate OS type folder (IE. SCAN_XHM for Home) with Notepad and make the following changes:
6a. In the .ini text, change the CMD function as so:
Code: Select all
[Sony Corporation]
CMD="SetKey 11111-22222-33333-44444-55555"

6b. Change the fake SLP key with your legitimate one (remember, different OS types require different product keys).
7. Save and close the oemscan.ini file.
8. Recompress the Entries_OEMScan_MULTIOEM.ini file and all the folders with 7zip so that it has the filename OEMSCAN_1.4.1_MR_SMARTEPANTS_ADDON_MULTIOEM_1.68x.7z.
9. Integrate this addon using Siginet's RVMIntegrator NOT nLite.
10. Enjoy.

You can see in the oemscan.ini where I have different variations of Acer, Dell, and Gateway. You can use a similar approach for other OEM makes as well if I missed any.

Known issues:
For best results, integrate this addon AFTER nLite and separately from any updatepack integration to ensure all files are edited properly.
nLite will not integrate this addon properly because of the unsupported [DirMove] section. Unless a new version of nLite is released that supports that function.
Also, because this addon modifies i386\winnt.sif, and nLite will overwrite winnt.sif if found, it's vital to run this addon AFTER nLite.
Here's a quote from xehqter:
Windows XP and Windows 2003 OEMBIOS files use a different key to encrypt the data, file sets aren’t compatible.

Thanks go out to xehqter, FreeStyler and Signet for providing both the tools and inspiration for this project (my wife hates you all ;) )
They made the tools, I just repackaged them into a more usable form.

Updated: 3 Jan 2009
CRC-32: 6df7e6e1
MD4: cd4136726ca6ad26ae2a3292097c60be
MD5: f2e8fadcf527f53b5b7f6371da58a38d
SHA-1: 8e71d7ebd03c11067cb93e2a5afa587cccfeda7d

PostPosted: Sun Jan 13, 2008 10:39 am
by TwoJ
Thanks mr_smartepants

This keeps getting better.
Well i hope not to add another one to your wife's list ;) but,

Since trying to create a MultiOS MultiOEM disc, the problem i'm running into is that if the oemscan.exe file (actually more the oemscan.ini) is in the OEM folder off the root of the CD then the SLP Product key is fixed for one type of XP, ie you enter slp product keys for xp home in the Entries_OEMScan_MULTIOEM.ini and eventually after integration in oemscan.ini, then even if you use powerpacker to add XP Pro to the disc, the XP Pro installation will not accept the SLP XP Home key you enter in Entries_OEMScan_MULTIOEM.ini.

While i'm sure there are others i believe the 2 main versions to use in a OEM multiboot disc is Home & Pro, hense you'll need an SLP Product key for Home & Pro, whereas the current configuration only allows for 1 type of SLP key.

Tying to get my two brain cells to come up with what would be a good way to fix this, and try to make it simple as well to integrate into powerpacker et al, a few ideas came to mind;

1) oemscan.exe could use a switch to load in the ini file, so that it could be directed to another path to load the ini for a particular OS, ex oemscan /path/root/XPHO/$oem$/oemscanXPHO.ini. I've asked xeh on MSFN but he doesn't seem to be around much so no reply there as yet.

2) If the actual oembios files could be kept in the OEM off the root as this new version does, but the oemscan.* files are kept in each OEM version such as in /Root/XPHO/$OEM$/ and then just reference the oembios.* files that are in /OEM.

Anyways you probably understand what i'm talking about, it seems a little difficult to make the system integrate easily when you have to have seperate files for each different OS.

But this seems to be kind of the next step to tackle in order to have a real multiboot OEM disc, smarter people like you, freestyler and siginet probably have some better ideas than mine.

PS - there are also the branding files to consider, while there are space advantages to having the files in the same OEM folder, it might be a consideration that like the slp keys that branding might be OS dependant and that it would be better to keep them in the $oem$ folder of each OS?

thanks again

PostPosted: Sun Jan 13, 2008 12:09 pm
by mr_smartepants
yeah, I've been trying to find an elegant way to discriminate between home/pro at that stage for a while. Siginet would know more about that than I.

See here's the thing. OEMSCAN doesn't care if you're activating XP Home or Pro. It will just copy over the matching OEMBIOS.* files for the manufacturer. It's the key-validation mechanism within XP that determines key validity between the installed OS and the key used.
I'm sure an AutoIt script could be written to discriminate between Home/Pro and pass the correct key to setkey.exe. I'm just not an AutoIt magician like Siginet is.
Or, it may be as simple as adding a function to check for certain files present on %systemdrive% to the setkey.exe code itself. To be honest, I just don't know what those file differences are (or how to code AutoIt to do that).

@Siginet, feel free to tear this addon apart and re-release it if you find a clever way to discriminate the Home/Pro install.
I release all rights for this addon to you and FreeStyler (you both made the important bits anyway, I just stuck them together).

PostPosted: Sun Jan 13, 2008 2:31 pm
by mr_smartepants
The other thing I can't quite get working yet is the OEM branding script.
Code: Select all
copy oemlogo.bmp %SystemRoot%\System32\
copy oeminfo.ini %SystemRoot%\System32\
copy oobeinfo.ini %SystemRoot%\system32\oobe\
copy oemeula.txt %SystemRoot%\System32\oobe\
copy OEMLOGO.JPG %SystemRoot%\system32\oobe\images
copy emachines_32.bmp %SystemRoot%\
copy emachines.theme %SystemRoot%\Resources\Themes\

This was in the same folder as the OEMBIOS.* files and called at the same time as setkey.exe at T-39 but I think .cmd files can't run at that stage because they don't work, or the destination folders haven't been created yet.
Entries .ini:
Code: Select all
CMD="SetKey 11111-22222-33333-44444-55555"

Any thoughts?

PostPosted: Sun Jan 13, 2008 3:18 pm
by Siginet
If I remember correctly... wasn't OEMSCAN.EXE able to process more than one cmd? If that is the case... then wouldn't it be safe to put each OS slp key in the list to be run as a cmd? Because if a key is not valid it will not change the key. So only one valid key would make it's way into the system. ;)

Here is what I think would be a good idea...

Let's say I create an autoitscript that does detect the os type. IE: XP Home, XP Pro, 2003 and so on...

Let's just call that "ostype.exe" for now...

Here would be the entries files contents for Hewlett:
Code: Select all
CMD="ostype.exe Hewlett"

ostype.exe then would read oemscan.ini's [Hewlett] section to get the PATH=".\HPQ\"
Which would tell it to look for vendor specific info in that directory. Inside the .\HPQ\ directory there is a file ostype.ini. Inside the ostype.ini would be info pertaining to the type of os. Like:
Code: Select all
[XP Home]

[XP Pro]



And so on...

I will need to figure out a way to detect all different types of the OS. XP Home, Pro and MCE shouldn't be very difficult. But I haven't looked into finding out 2003 server types in a very long time.

PostPosted: Sun Jan 13, 2008 3:27 pm
by mr_smartepants
Now THAT's what I'm talking about! :D

Siginet wrote: XP Home, Pro and MCE shouldn't be very difficult. But I haven't looked into finding out 2003 server types in a very long time.

Baby-steps my friend.

Has anyone tried this addon in a PowerPacker setup yet? I'm interested to see if I fixed the issue.

What do I do about unrecognised systems?

PostPosted: Sun Jan 13, 2008 5:07 pm
by insomnai
Hey all, thanks for the help regarding this, I'm almost there.

So, a statement and a question. i am in a position where I have access to thousands of computers regularly, so can get SLP keys for pretty much any commercially produced pc system available for any version of Windows. How do I get hold of oembios files for pc systems that aren't on the oem repository? Are they easily integrated into this addon?

This addon can quickly grow in size, for instance, I have downloaded every bios file from the repository and it totals over 550mb in size, is it achievable to create a universal windows xp oem slp dvd rather than a cd?

If so, are the options available through the rvm integrator?

many regards and thanks again my friends.


PostPosted: Sun Jan 13, 2008 6:43 pm
by FreeStyler
@mr_smartepants, Nice work, although i doubt i will use it, got my own method which works, meaning i have $OEM$ dirs for every Windows version with accompanying oemscan.ini, when building the ISO image the "duplicates_once" command takes care of the extra space this takes.

@insomnai, I have collected 51 different sets for XP (about 638MB) (Besides that i have a few not included dupes, or obsoletes if you like)
...go for DVD :)

Attached you will find a util i updated Jan 9 2008 that could assist in collecting new oembios sets.
It checks oembios hash against a internal list.
This internal list holds hashes from 80 sets, including the hashes for Retail and or VLK sets for both XP, XP64 and Server 2003 (x32 only)
(so it shouldn't collect these as well)
If a set already exists in our collection it will skip collecting the oembios files and just create a report in a cab file on the desktop.
If it is a new set it will create a report & collects the oembios files.

If you have new sets give me a call, i can provide private upload space all people involved have access to :)

Do you have access to Server 2003 oembios sets as well?
I got my hands on a refurbished Fujitsu-Siemens PRIMERGY i can use some files for :)

@Siginet, i know you could get OS type using WMI, question is if WMI is available in that stage of the Windows installation

PostPosted: Mon Jan 14, 2008 1:01 am
by mr_smartepants
FreeStyler wrote:Attached you will find a util i updated Jan 9 2008 that could assist in collecting new oembios sets.
It checks oembios hash against a internal list.

Wow, thanks FreeStyler! This is a significant upgrade to the utility I've been using.

PostPosted: Mon Jan 14, 2008 12:08 pm
by FreeStyler
BTW if you place ComputerInfoKey.EXE and USBSTICK.TXT on a USB Stick it will copy collected files to USB stick instead of the desktop