OEMSCAN_ADDON_MULTIOEM v1.8


OEM A.C.T. (OEM Activation Control Technology)
This is a method that allows you to create a Windows XP Setup disk that has Multiple Manufacturer oembios.* files on it. During installation a script is run that determines what oembios.* files are needed for the system so that you will have a pre-activated install. This will help lessen the times that you need to call Microsoft for activation. :D

OEMSCAN_ADDON_MULTIOEM v1.8

Postby mr_smartepants » Wed Jan 21, 2009 1:53 pm

Updated 23 Mar 2011
This is a major update to my previous multioem addon. Like before, it is modular and expandable to your needs.
Significant script code improvements. Script now compiled into .exe with x86/x64 source compatibility and logging functionality! It also now has multiple checks and cross-checks to prevent misuse with pirated/tainted sources. I've tested extensively with legal OEM versions of x86 XP Home/Pro/MCE as well as x86 Server 2003 Standard and all activated flawlessly.
This will not activate any Retail or VLK sources! OEM SLP only.
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 http://www.oembios.net or here.
OEMBIOS filesets are different between XP and 2003, be sure you put the correct fileset in the right folders. XP OEMBIOS files go in the \FILESETS\XP\blah\ directories. 2003 server OEMBIOS files go in the \FILESETS\2003\blah\ directories.

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.


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 files you need to edit are the oemscan.ini file for each OS type (Home, Pro, MCE, W2k3) to add your keys 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. This addon should also now be fully compatible with RIS network installs as well as USB install sources. 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 http://www.oembios.net or here (eg. 376E13C7 for "Sony Corporation")
3. Gather your SLP keys (do NOT ask here for these!).
4. In the addon, go to the FILESETS folder and open the folder using the same name as listed on the OEMBIOS.net website (eg. \FILESETS\XP\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 FILESETS\XP\*, 2003 filesets go in FILESETS\2003\*.)
6. (OPTIONAL) Add any OEM logo files to the \Logos\blah\ folders (check the "readme.txt" file in each folder. See the \Logos\AcerSystem\ folder for a good example of the proper layout. A few can be downloaded from here: http://www.oemlogos.siginetsoftware.com/
7. Open the oemscan.ini file in the appropriate OS type folder (IE. KEYS\XP\XP_HOME for Home) with Notepad and make the following changes:
8. In the .ini text, change the CMD function as so:
Code: Select all
[Sony Corporation]
PATH="..\..\..\FILESETS\XP\376E13C7\"
CMD="SetKey 11111-22222-33333-44444-55555"

9. Change the fake SLP key with your legitimate one (remember, different OS types require different product keys so you can't use a XP Pro key to activate a XP Home install).
10. Save and close the oemscan.ini file.
11. Recompress the Entries_OEMScan_MULTIOEM.ini file and all the folders with 7zip into a single archive so that it has the filename OEMSCAN_1.4.1_MR_SMARTEPANTS_ADDON_MULTIOEM_1.8x.7z.
12. Integrate this addon using Siginet's RVMIntegrator only. Do NOT use nLite.
13. 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.

Integration instructions
1.
Start with a clean UNBRANDED OEM CD (MSDN-OEM or System Builder OEM discs will do).
2. Integrate your favorite updatepacks/addons with either nlite or RVMI, your choice.
3. In a separate session, integrate this addon with ONLY RVMI.
4. DriverPacks, if desired, go last.
5. Build ISO.

Known issues:
1)
For best results, integrate this addon AFTER nLite and with RVMI 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 to preserve the added sections.
2) This addon will make additional entries to winnt.sif.
The following lines are added to winnt.sif:
Code: Select all
[Data]
    AutoPartition=0
    MsDosInitiated=0
    UnattendedInstall="Yes"


Thanks go out to xehqter, FreeStyler and Siginet 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.

Download info:
v1.8.7
'Empty' version Download (has none of the OEM logo files)
Updated: 23 Mar 2011
File: OEMSCAN_1.4.1_MR_SMARTEPANTS_ADDON_MULTIOEM_1.8.7_empty.7z
CRC-32: 89984e4c
MD4: edb9e8a4eff41da74025b3223d94f27b
MD5: cb2228087d3e8f90fda943e4efac957f
SHA-1: bb60b246e77a1462e89dfb5c3fa63a51e529964f
Size: 571 KB

'Full' version Download (has most of the OEM logo files preloaded).
Updated: 23 Mar 2011
File: OEMSCAN_1.4.1_MR_SMARTEPANTS_ADDON_MULTIOEM_1.8.7.7z
CRC-32: db689220
MD4: ae899c3d16fa1fcc752b894d306dfec2
MD5: 334278682aad912a14a041f30f4bda29
SHA-1: f8a890c05ecdfca54d8ba9b7377c2aa2a91221a4
Size: 38 MB

Changelog
v1.8.2: The mtee utility was added in the 1.8.2 branch for logging ability.
v1.8.5: The 1.8.5 branch saw vast speed improvements in code optimization.
v1.8.6: The 1.8.6 branch fixes alternate install method detection (RIS, USB, etc.) in both the oemauto utility and the .ini winnt.sif entry (will detect the oemauto in either the install drive root or a sub-folder.)
v1.8.6.1: Fixed USB source detection (changes to both addon .ini and .exe). Added significant code to include alternate method of detecting version of Windows (not tested).
v1.8.6.2: Added code to detect both Tablet & MCE editions (user choice) and includes alternate method of detecting version of Windows from standalone environment (OEM folder must be at root of drive).
v1.8.6.3: Fixed bug that would cause the MCE/Tablet choice screen to always be displayed.
v1.8.6.4: Fixed bug that would cause the MCE/Tablet choice screen to get stuck in a loop if certain MCE files were present.
v1.8.6.5: Fixed bug that would cause the MCE/Tablet choice screen to fail. Added over-ride choices for alternate scan methods.
v1.8.6.6: Fixed all bugs. Added partial detection code for Windows Home Server v1. Released code as open-source project.
v1.8.7: Final version. Added support for foreign XP PIDs

The 1.8.7 branch is the best by far and the most stable (and also the last).

Below are tools to help extract files from a running system. Included are tools to "Grab files" like oembios filesets, drivers, keys, etc.
Mediafire mirror for "Grab files": http://www.mediafire.com/?2jjeb3pn1sd2pqx
You do not have the required permissions to view the files attached to this post.
Last edited by mr_smartepants on Mon Sep 30, 2013 9:19 pm, edited 1 time in total.
Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003
mr_smartepants
Senior Member

Posts: 536
Users Information
Joined: Fri Feb 02, 2007 11:06 pm

Postby Siginet » Wed Jan 21, 2009 2:00 pm

Tell your wife I am sorry! :(

My wife hates all of you too! ;) LOL!

Glad you got this released... now I am gonna test the $h!t out of it. ;)

Woops... guess I got in here too soon. I don't see a link to it. ;)
Image
Windows XP PowerPacker Reviewed in PC-Quest & PC Utilities magazines!
RVM Integrator Reviewed in CPU magazine and Maximum PC!
--Siginet--
User avatar
Siginet
Senior Member

Posts: 1448
Users Information
Joined: Sat May 06, 2006 12:24 pm

Postby mr_smartepants » Wed Jan 21, 2009 2:03 pm

This will probably be my last version. I'm going to post the code in the 2nd post of this thread and make the whole project open-source.
I really don't have the time to develop this further. But someone else can take everything and run with it if they want to.
As far as I'm concerned, XP has had it's glory days. This utility has limited usefulness now.
Source code for OEMAUTO.exe version 1.8.7
Logging code by kof94
Code: Select all
@echo off
:: This batch file was created by mr_smartepants
:: Version 1.8.7    17 Mar 2011
:: No copyright laws were broken in the creation of this utility
title= OEMBIOS Autodetection Utility by Mr_Smartepants
echo Detecting Windows installation source, please wait

: quick_check
if exist %CDROM%\OEM\OEMAUTO.EXE goto VARIABLES
: quick_set
SET CDROM=%~d0
if exist %CDROM%\OEM\OEMAUTO.EXE goto VARIABLES
: RIS_scan
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST "%%i:\$win_nt$.~ls" SET CDROM=%%i:\$win_nt$.~ls
if exist %CDROM%\OEM\OEMAUTO.EXE goto VARIABLES
: CD_scan
FOR %%i IN (Z Y X W V U T S R Q P O N M L K J I H G F E D) DO IF EXIST "%%i:\WIN51" SET CDROM=%%i:
if exist %CDROM%\OEM\OEMAUTO.EXE goto VARIABLES
: USB_scan
FOR %%i IN (Z Y X W V U T S R Q P O N M L K J I H G F E D) DO IF EXIST "%%i:\WINSETUP\OEM" SET CDROM=%%i:\WINSETUP
if exist %CDROM%\OEM\OEMAUTO.EXE goto VARIABLES
:: Below code does final check for install CD.  If disc not found then exit with error.
: DEFINE-CD
if defined CDROM (
  goto VARIABLES
) else (
   echo Windows source files not found. 2>&1 | mtee /+ %logfile%
   echo Please insert Windows CD and restart 2>&1 | mtee /+ %logfile%
   goto ERROR
)

: VARIABLES
:: Set variables
path %PATH%;%CDROM%\OEM\bin
set logfile=%systemdrive%\oemscan.log
if exist %logfile% del /q %logfile%

SET METH=0
SET KEYS="%CDROM%\OEM\KEYS"
SET HOME="%KEYS%\XP\XP_HOME"
SET MCE="%KEYS%\XP\XP_MCE"
SET TAB="%KEYS%\XP\XP_TAB"
SET PRO="%KEYS%\XP\XP_PRO"
SET XP64="%KEYS%\XP\XP64"
SET DATACENTER="%KEYS%\2003\DATACENTER"
SET DATACENTER64="%KEYS%\2003\DATACENTER64"
SET ENTERPRISE="%KEYS%\2003\ENTERPRISE"
SET ENTERPRISE64="%KEYS%\2003\ENTERPRISE64"
SET STANDARD="%KEYS%\2003\STANDARD"
SET STANDARD64="%KEYS%\2003\STANDARD64"
SET WEB="%KEYS%\2003\WEB"
SET WHS="%KEYS%\2003\WHS"

: START
echo OEMBIOS autodetection script by Mr_Smartepants 2>&1 | mtee /+ %logfile%
echo v1.8.7    17 Mar 2011 2>&1 | mtee /+ %logfile%
echo Do NOT pirate Microsoft software 2>&1 | mtee /+ %logfile%
echo .
echo It YOUR responsibility to perform due-diligence 2>&1 | mtee /+ %logfile%
echo Be certain you are installing this OS on properly licensed OEM hardware 2>&1 | mtee /+ %logfile%
echo Verify the OS type with the Certificate of Authenticity attached to this PC 2>&1 | mtee /+ %logfile%
echo .
echo Mr_Smartepants or SiginetSoftware will NOT be held legally liable 2>&1 | mtee /+ %logfile%
echo if YOU violate any copyright law by installing this OS on an unlicensed PC 2>&1 | mtee /+ %logfile%
echo No copyright laws were broken in the creation of this utility 2>&1 | mtee /+ %logfile%

: DOSPATH
:: Find install path and set variable
setLocal EnableDelayedExpansion
if exist %systemroot%\system32\$winnt$.inf (
  FOR /F "skip=2 usebackq" %%a IN (`FIND "dospath" %SystemRoot%\SYSTEM32\$WINNT$.INF`) DO (
  set str=%%a
  for /f "tokens=2 delims==" %%a in ('echo !str!') do (
  set dospath=%%a
  echo Install-Path=!dospath! 2>&1 | mtee /+ %logfile%
  )
  :: The below is not really used for anything but user feedback
  for /f "skip=2 delims=\ usebackq" %%a in ('echo !str!') do (
  set drivepath=%%a
  echo Drive-Path=!drivepath! 2>&1 | mtee /+ %logfile%
  ))
) else (
  echo Error: `%systemroot%\system32\$winnt$.inf' file not found 2>&1 | mtee /+ %logfile%
  echo Beginning alternate scan method... 2>&1 | mtee /+ %logfile%
  goto EULAID
)

: ARCH
for %%a in (I386 AMD64) do if exist "%dospath%\%%a" set arch=%%a
if '%arch%'=='' (
  echo Error: Windows installation directory not found 2>&1 | mtee /+ %logfile%
  echo Beginning alternate scan method... 2>&1 | mtee /+ %logfile%
  goto EULAID
) else (
  echo ARCH=!arch! 2>&1 | mtee /+ %logfile%
)
SET METH=1

: PID
if exist %dospath%\%arch%\SETUPP.INI (
  for /f "tokens=2 delims==" %%a in (%dospath%\%arch%\SETUPP.INI) do (
  set pid=%%a
  echo PID=!pid! 2>&1 | mtee /+ %logfile%
  )
) else (
  echo Error: `%dospath%\%arch%\SETUPP.INI' file not found 2>&1 | mtee /+ %logfile%
  echo Beginning alternate scan method... 2>&1 | mtee /+ %logfile%
  goto EULAID
)

: OEM
if not '%pid:~-3%'=='OEM' (
  echo Error: Incorrect Windows type detected 2>&1 | mtee /+ %logfile%
  echo Error: This utility only works with OEM Windows 2>&1 | mtee /+ %logfile%
  goto ERROR
)

: Version
set version=%pid:~0,5%
:: Windows XP Professional / MCE
for %%a in (76481 76500 76392 76396 76413 76487 76440 76447 55375 55679 55274 55276 55285 55661 55639 76497
           ) do if '%version%'=='%%a' goto MCE-TEST
:: Windows XP Home Edition
for %%a in (76477 76475 76470 76460 76412 76381 55372 55373 55677 55277 76416 76434
           ) do if '%version%'=='%%a' goto HOME
:: Windows XP Professional x64
for %%a in (55034 76588
           ) do if '%version%'=='%%a' goto XP64
:: Windows Server 2003
if '%version%'=='69712' goto STANDARD
if '%version%'=='69713' goto ENTERPRISE
if '%version%'=='69754' goto DATACENTER
if '%version%'=='69753' goto WEB
:: Windows Server 2003 x64
if '%version%'=='69770' goto ENTERPRISE64
if '%version%'=='69769' goto DATACENTER64
:: Windows Home Server
if '%version%'=='78495' goto WHS
echo Error: Failed to identify Windows PID 2>&1 | mtee /+ %logfile%
goto ERROR2

: MCE-TEST
SET VERSION1=TAB
SET VERSION2=MCE
if exist %dospath%\CMPNENTS\TABLETPC\I386\TABLETPC.CAB set VERSION1=YES
if exist %dospath%\CMPNENTS\MEDIACTR\I386\MEDIACTR.CAB set VERSION2=YES
if '%VERSION1%'=='%VERSION2%' goto ASK

: MCE1
::SET VERSION2=MCE
::if '%VERSIONX%'=='%VERSION2%' goto MCE2
if not exist %dospath%\CMPNENTS\MEDIACTR\I386\MEDIACTR.CAB goto TAB

: MCE2
echo Windows XP Media Center Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching XP MCE BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%MCE%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

:::MCE2
::if '%VERSIONX%'== MCE goto MCE2a
::if not exist %dospath%\I386\EHOCGEN.DL_ goto TAB
:::MCE2a
::GOTO MCE1

: TAB
::SET VERSION1=TAB
::if '%VERSIONX%'=='%VERSION1%' goto TAB2
if not exist %dospath%\CMPNENTS\TABLETPC\I386\TABLETPC.CAB goto PRO

: TAB2
::if not exist %systemroot%\system32\TABLETPC.CPL goto PRO
echo Windows XP Tablet Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching XP Tablet BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%TAB%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: PRO
if '%VERSIONX%'== PRO goto PRO2
if not exist %dospath%\win51ip goto ERROR3
: PRO2
echo Windows XP Professional Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching XP Pro BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%PRO%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: HOME
if '%VERSIONX%'== HOM goto HOM2
if not exist %dospath%\win51ic goto ERROR3
: HOM2
echo Windows XP Home Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching XP Home BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%HOME%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: STANDARD
if '%VER3%'== STD goto STANDARD2
if '%VER3b%'== ENT goto STANDARD2
if not exist %dospath%\win51is goto STANDARD64
: STANDARD2
echo Windows Server 2003 Standard Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 STANDARD BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%STANDARD%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: STANDARD64
if not exist %dospath%\win51as goto ERROR3
echo Windows Server 2003 Standard x64 Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 STANDARD x64 BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%STANDARD64%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: ENTERPRISE
if not exist %dospath%\win51ia goto ERROR3
echo Windows Server 2003 Enterprise Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 ENTERPRISE BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%ENTERPRISE%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: ENTERPRISE64
if not exist %dospath%\win51aa goto ERROR3
echo Windows Server 2003 Enterprise x64 Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 ENTERPRISE x64 BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%ENTERPRISE64%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: WEB
if not exist %dospath%\win51ib goto ERROR3
echo Windows Server 2003 Web Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 WEB BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%WEB%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: DATACENTER
if not exist %dospath%\win51id goto ERROR3
echo Windows Server 2003 Datacenter Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 DATACENTER BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%DATACENTER%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: DATACENTER64
if not exist %dospath%\win51ad goto ERROR3
ECHO Windows Server 2003 Datacenter x64 Edition detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching Server 2003 DATACENTER BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%DATACENTER64%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: WHS
if not exist %dospath%\win51il goto ERROR3
echo Windows Home Server detected 2>&1 | mtee /+ %logfile%
ECHO This version is not yet supported. 2>&1 | mtee /+ %logfile%
::ECHO Scanning for matching Server 2003 WEB BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
::%WHS%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO ERROR

: XP64
if '%VER3b%'== X64 goto XP64a
if not exist %dospath%\win51ap goto ERROR3
: XP64a
echo Windows XP Professional x64 version detected 2>&1 | mtee /+ %logfile%
ECHO Scanning for matching XP Pro x64 BIOS string and writing product key. 2>&1 | mtee /+ %logfile%
%XP64%\oemscan.exe 2>&1 | mtee /+ %logfile%
GOTO OEMcopy

: OEMcopy
:: This will scan oemscan.log for the OEM name, then match that name to the logos folder and set the variable.
:: Then copy all the files from that folder to their appropriate folders on the system drive.

endLocal
setLocal EnableDelayedExpansion

if not exist %logfile% goto ERROR4
echo Found oemscan log file

for /f "tokens=* delims= " %%b in (%logfile%) do (
echo %%b | find "Matched: " > nul
if not errorlevel 1 set str=%%b
)
for /f "tokens=1,2 delims= " %%b in ('echo !str!') do (
set oemvar=%%b
set OEMtype=%%c
echo OEMtype=!OEMtype!
)
set oemcopy="%CDROM%\OEM\Logos\%OEMtype%"
if not exist "%oemcopy%\*" goto ERROR5

echo Attempting to move OEM logo files from !oemcopy! 2>&1 | mtee /+ %logfile%
copy "%oemcopy%\*.ico" "%SystemRoot%\System32\*"
copy "%oemcopy%\oemlogo.bmp" "%SystemRoot%\System32\*"
copy "%oemcopy%\oeminfo.ini" "%SystemRoot%\System32\*"
copy "%oemcopy%\oobe\oobeinfo.ini" "%SystemRoot%\system32\oobe\*"
copy "%oemcopy%\oobe\oemeula.txt" "%SystemRoot%\System32\oobe\*"
copy "%oemcopy%\oobe\OEMLOGO*.*" "%SystemRoot%\system32\oobe\images\*"
MD "%SystemRoot%\Resources\Themes"
copy "%oemcopy%\themes\*" "%SystemRoot%\Resources\Themes\*"
MD "%SystemRoot%\Web\Wallpaper"
copy "%oemcopy%\walls\*" "%SystemRoot%\Web\Wallpaper\*"

ECHO Successfully activated using Method %METH% 2>&1 | mtee /+ %logfile%

: END
endLocal
EXIT

:: Numbered error codes follow for troubleshooting.
: ERROR
echo Script completed with errors. Logfile can be found in %systemdrive%\oemscan.log. 2>&1 | mtee /+ %logfile%
echo Please report errors to Mr_Smartepants. 2>&1 | mtee /+ %logfile%
echo Pirates need not bother asking for help, ye won't get any! Scurvy-Dogs. 2>&1 | mtee /+ %logfile%
echo http://siginetsoftware.com/forum/showthread.php?t=541  2>&1 | mtee /+ %logfile%
echo Post your oemscan.log file to the above forum with a summary of the problem. 2>&1 | mtee /+ %logfile%
pause
GOTO END

: ERROR1
echo "Error#1.  OEMSCAN cannot continue. OEM version of Windows NOT detected." 2>&1 | mtee /+ %logfile%
goto ERROR

: ERROR2
echo "Error#2.  OEMSCAN cannot continue. Could not find suitable SLP Product ID" 2>&1 | mtee /+ %logfile%
echo "This appears to be a pirated copy of Microsoft Windows" 2>&1 | mtee /+ %logfile%
GOTO ERROR

: ERROR3
echo "Error#3.  Mismatch of PID# with disc ID.  Unable to continue" 2>&1 | mtee /+ %logfile%
echo "This appears to be a pirated copy of Microsoft Windows" 2>&1 | mtee /+ %logfile%
GOTO ERROR

: ERROR4
echo "Error#4.  OEM Logo copy failed. Could not find oemscan.log" 2>&1 | mtee /+ %logfile%
GOTO ERROR

:ERROR5
echo "Error#5.  OEM Logo copy failed. Could not find any OEM logo files in" 2>&1 | mtee /+ %logfile%
ECHO !oemcopy! 2>&1 | mtee /+ %logfile%
GOTO ERROR

: ASK
color 06
cls
echo.
echo.
echo      *********************************************************************
echo                      Both Tablet and Media Center detected
echo      *********************************************************************
echo.
echo.
echo                           What would you like to do?
echo.
echo        1...Install XP Tablet Edition
echo.
echo        2...Install XP Media Center Edition
echo.
echo        3...Scan using alternative method
echo.
echo        4...Scan using 2nd alternative method
echo.
echo.
set /p option="Enter Option (1-4) "

IF %option%==1 set VERSIONX=TAB & GOTO TAB
IF %option%==2 set VERSIONX=MCE & GOTO MCE1
If %option%==3 GOTO EULAID
If %option%==4 GOTO OS-check
GOTO CONT

::ALTERNATE_METHOD_2
: EULAID
if not exist "%systemroot%\SYSTEM32\EULA.TXT" goto OS-check
SET METH=2
CLS
ECHO Beginning alternate detection method #2...  2>&1 | mtee /+ %logfile%
ECHO This method is NOT accurate, but I'll try my best.
ECHO Detecting Product ID (PID) by scanning EULA.txt... 2>&1 | mtee /+ %logfile%
FOR /F "skip=2 usebackq" %%a IN (`FIND "EULAID" %systemroot%\SYSTEM32\EULA.TXT`) DO SET EULAID=%%a
ECHO Found EULAID: %EULAID% 2>&1 | mtee /+ %logfile%
FOR /F "tokens=1,3,4 delims=_" %%a IN ("%EULAID:~7%") DO SET OS=%%a & SET VERSIONX=%%b & SET CHANNEL=%%c
ECHO %OS% 2>&1 | mtee /+ %logfile%
ECHO %VERSIONX% 2>&1 | mtee /+ %logfile%
ECHO %CHANNEL% 2>&1 | mtee /+ %logfile%

::EULAID OEM check
IF NOT %CHANNEL% == OEM goto ERROR1

::Prepare system files for replacement
attrib -s %systemroot%\system32\oembios.sig
attrib -s %systemroot%\system32\oembios.dat
attrib -s %systemroot%\system32\oembios.bin
attrib -s %SystemRoot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT

::EULAID OS check
:: Windows XP Check
set OS2=%OS:~0,2%
for %%a in (MC) do if '%OS2%'=='%%a' goto MCE-TEST
for %%a in (XP WX) do if '%OS2%'=='%%a' goto XPVersionCheck
:: Windows Server 2003 Check
set OS4=%OS:~0,4%
for %%a in (WS03) do if '%OS4%'=='%%a' goto 2K3VersionCheck

echo Error: Failed to identify Windows using alternate method 2>&1 | mtee /+ %logfile%
goto ERROR2

::EULAID Version Check
: XPVersionCheck
:: Windows XP Professional / MCE
for %%a in (PRO MCE) do if '%VERSIONX%'=='%%a' goto MCE-TEST
:: Windows XP Home Edition
if '%VERSIONX%'== HOM goto HOME

echo Error: Failed to identify Windows PID using alternate method #2 2>&1 | mtee /+ %logfile%
goto ERROR2

: 2K3VersionCheck
set VER3=%VERSIONX:~0,3%
set VER3b=%VERSIONX:~-3%
:: Windows Server 2003
if '%VER3%'== STD goto STANDARD
if '%VER3b%'== ENT goto STANDARD
if '%VER3b%'== X64 goto XP64

echo Error: Failed to identify Windows PID using alternate method #2 2>&1 | mtee /+ %logfile%
goto ERROR2

::ALTERNATE_METHOD_3

: OS-check
CLS
ECHO Beginning alternate detection method #3...
ECHO Detecting Product ID (PID) by scanning registry... 2>&1 | mtee /+ %logfile%
::FOR /F "tokens=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductId') DO SET pid=%%B
::FOR /F "tokens=3 delims=    " %%A IN ('REG QUERY "HKLM\SYSTEM\Setup\Pid" /v Pid') DO SET pid=%%A
FOR /F "tokens=2*" %%A IN ('REG QUERY "HKLM\SYSTEM\Setup\Pid" /v Pid') DO SET pid=%%B
echo PID=!pid! 2>&1 | mtee /+ %logfile%
if not errorlevel 1 (
  SET METH=3
  ::Prepare system files for replacement
  attrib -s %systemroot%\system32\oembios.sig
  attrib -s %systemroot%\system32\oembios.dat
  attrib -s %systemroot%\system32\oembios.bin
  attrib -s %SystemRoot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
  goto OEM
  ) else (
  echo Error: Failed to identify Windows PID using alternate method #3 2>&1 | mtee /+ %logfile%
  goto ERROR2
  )

: EOF


I release this code under the Creative Commons license with the understanding that it will NOT be used for warez or other illegal purposes.

To quote Linus Torvalds: "Given enough eyeballs, all bugs are shallow".
Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003
mr_smartepants
Senior Member

Posts: 536
Users Information
Joined: Fri Feb 02, 2007 11:06 pm

Postby Siginet » Wed Jan 21, 2009 2:26 pm

OK... I took a quick lookover. Let's say I create a Multiboot 2k3 disk with Standard, Enterprise, and Web editions. Is it possible to use this? I don't see a way to add different product keys for all of them?
Image
Windows XP PowerPacker Reviewed in PC-Quest & PC Utilities magazines!
RVM Integrator Reviewed in CPU magazine and Maximum PC!
--Siginet--
User avatar
Siginet
Senior Member

Posts: 1448
Users Information
Joined: Sat May 06, 2006 12:24 pm

Postby mr_smartepants » Wed Jan 21, 2009 9:38 pm

You're partially correct. For now, there is a single w2k3 oemscan.ini to house the keys.
I used the w2k3 PIDs id'd on this site: http://wiki.lunarsoft.net/wiki/Product_IDs
I could only find 4 disc identifiers for w2k3 (from the discs in my possession and from the web).
%CDROM%\win51aa
%CDROM%\win51ia
%CDROM%\win51ib
%CDROM%\win51is

Are there different keys between the subversions? (standard/enterprise/etc)?
This is easily corrected in the batchfile by adding more discriminators but I need info on each version (setupp.ini PID/disc id).
Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003
mr_smartepants
Senior Member

Posts: 536
Users Information
Joined: Fri Feb 02, 2007 11:06 pm

Postby SSX4life » Thu Jan 22, 2009 8:13 am

Something isn't right here, I can not install windows after slipstreaming you pack with RVM Intergrator.

Log
Code: Select all
2009-01-22_09.54.01
Log Startup @ 09:54:01 On January 22, 2009

Running OS: WIN_XP Service Pack 3 X86
RVMIntegrator v1.5.3

"C:\Documents and Settings\Administrator\Desktop\RVM_Integrator_1.5.3\RVM_Integrator_1.5.3.exe"

09:54:01  - Windows XP Professional -  OEM SP2 Found
09:54:04  -
09:54:04  - Source Drive         = C:\Documents and Settings\Administrator\Desktop\iso's\Windows XP Professional (OEM)
09:54:04  - Destination Drive    = C:\Documents and Settings\Administrator\Desktop\iso's\Windows XP Professional (OEM)
09:54:04  - Destination Size     = 252.75 GB
09:54:04  - Working Directory    = C:\Documents and Settings\Administrator\Desktop\iso's\Windows XP Professional (OEM)\I386
09:54:04  - Temp Directory       = C:\Documents and Settings\Administrator\Desktop\iso's\Windows XP Professional (OEM)\I386\rvmtemp
09:54:04  -
09:54:04  - Starting Integration
09:54:04  -
09:54:04  - Checking Destination For OS Type.
09:54:04  - Windows XP Professional -  OEM SP2 Found
09:54:04  -
09:54:05  - Extracting OEMSCAN_1.4.1_MR_SMARTEPANTS_ADDON_MULTIOEM_1.8.7z
09:55:27  -     MD5 Hash = 210BC6BF2965DE45CA64E83EE02093B9
09:55:27  - Clearing any Read Only Attributes.
09:55:27  -
09:55:27  - Gathering temp files
09:55:28  - Processing new .CAT files found in SVCPACK
09:55:28  -
09:55:28  - Shifting Stuff Around
09:55:28  - 199  Files Moved in 0 Seconds
09:55:28  - Analyzing 1 Entry Files
09:55:28  - Processing OEMSCAN 1.4.1 Addon for multi-system installs v1.8/mr_smartepants   Build Date: 2009/01/20
09:55:28  -     Gathering [DirMove] Entries
09:55:28  -
09:55:28  - Prepairing System Files...
09:55:28  -   sysoc.inf
09:55:28  -   svcpack.inf
09:55:28  -   dosnet.inf
09:55:28  -   txtsetup.sif
09:55:32  -
09:55:32  - Processing Sysoc.inf
09:55:32  - Processing svcpack.inf
09:55:32  - Processing dosnet.inf
09:55:32  - Processing txtsetup.sif
09:55:33  -
09:55:33  -       Compressing Files ASMS...
09:55:39  -
09:55:39  - Processing [EditFile]
09:55:39  -
09:55:39  - Moving Files Found In OEMSCAN 1.4.1 Addon for multi-system installs
09:55:39  - Moving Directories
09:55:49  - Entire .ini Processing Completed in 20 Seconds
09:55:49  -
09:55:49  - Compressing and Moving Edited Files
09:55:49  - Cleaning Up.
09:55:49  - Integration Completed.
09:55:49  - Total Integration Time = 105 Seconds
09:55:49  - ==================================================================================
09:55:49  -

Log Shutdown @ 09:55:50 On 22-01-2009



Here is the error I get - *see attachment*

I have been running into this recently and I don't know why.

XP Pro SP2 intergrated (untouched otherwise)
OEMSCAN 1.4.1 Addon (just modified the .ini files for proper slp keys and added oembios files)

Any ideas?
You do not have the required permissions to view the files attached to this post.
SSX4life
Member

Posts: 78
Users Information
Joined: Sat Oct 28, 2006 7:21 pm

Postby mr_smartepants » Thu Jan 22, 2009 8:37 am

Wow, that's a new one on me. Looks to me like your source is borked.
What is your OEM source? Is it from an OEM distributor like Dell/HP/etc with it's own $OEM$ & OEM folders? Or is it a clean system-builder OEM disc?
Can you post the contents of your \i386\setupp.ini & winnt.sif files?
The oemscan.cmd file isn't even launching which makes me suspect something else.
So you take this disc and ONLY integrate my addon? No updatepacks, no nlite tweaks?

*Edit
Crap, I found a bug in the entries.ini that Siginet referenced above. The Win2k3 directories don't get copied by RVMI. The fault only affects Win2k3 integrations.
Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003
mr_smartepants
Senior Member

Posts: 536
Users Information
Joined: Fri Feb 02, 2007 11:06 pm

Postby SSX4life » Thu Jan 22, 2009 9:20 am

It's a clean install with a fresh oem source that has SP2 slipstreamed (not from dell / hp / etc.).

I have an .md5 and .sfv of the .iso I am using.

Here is the setupp.ini and winnt.sif (I had to zip the .sif)

I typically modify my winnt.sif file extensivly but due to the errors I have been running without it.


Let me delete my .iso's and re verify them on my box.
You do not have the required permissions to view the files attached to this post.
SSX4life
Member

Posts: 78
Users Information
Joined: Sat Oct 28, 2006 7:21 pm

Postby SSX4life » Thu Jan 22, 2009 10:08 am

Both .iso's were verified to be complete. I am trying again from scratch to see if it was a fluke.


1. Re-downloaded the latest .7z of oemscan
2. Reimported the XPH / XPP / XPMCE .ini's that include the SLP Keys
3. Reinserted the oembios files
4. Inserted oemlogo.bmp / oeminfo.ini to the proper folders
5. Re-zipped the files with .7z
6. Ran RVM_Integrator_1.5.3
7. Did not run any update pack / modifications / etc (it's straight SP2 slipstreamed... trying to remove possible problems)
8. Ran the .7z of oemscan
9. Made .iso
10. Threw the .iso into VMware and got the same error message! >_<

I did some digging and ran into this - http://support.microsoft.com/kb/238835

I'm gonna try to add that data tag and see what I get
SSX4life
Member

Posts: 78
Users Information
Joined: Sat Oct 28, 2006 7:21 pm

Postby SSX4life » Thu Jan 22, 2009 11:25 am

Yup that was the problem ^_^

I also noticed your script removes the previous winnt.sif file in place. Not sure if this was intended but it was just my experience.

Here is my final Winnt.sif


Code: Select all
;SetupMgrTag
[Data]
    AutoPartition=1
    MsDosInitiated="0"
    UnattendedInstall="Yes"
    AutomaticUpdates=yes

[Unattended]
    UnattendMode=ProvideDefault
    OemSkipEula=No
    OemPreinstall=No
    TargetPath=\WINDOWS
    WaitForReboot="No"
    DriverSigningPolicy=Ignore
    NonDriverSigningPolicy=Ignore

[GuiUnattended]
    EncryptedAdminPassword=NO
    OEMSkipRegional=1
    TimeZone=20
    DetachedProgram = CMD.EXE
    Arguments="/Q /C FOR /F %? IN ('%SYSTEMROOT%\SYSTEM32\MOUNTVOL.EXE^|FINDSTR :\') DO IF EXIST %?WIN51 START %?.\OEM\OEMSCAN.CMD"


[UserData]
    FullName=""
    OrgName=""

[Display]
    Xresolution=1024
    YResolution=768

[Identification]
    JoinWorkgroup=MSHOME

[Networking]
    InstallDefaultComponents=Yes


[Components]
    msmsgs=off
    msnexplr=off
    zonegames=off





Thanks for all the hard work on this, I think we have reached a nice completed script that does just about everything you can think of. The only other thing that needs to be done is make a Tablet version of this (I don't think you can do a multioem, so we may need to modify the pre-existing 1.4 model to run on tablet. I've gotten it to work with 1.4 and a custom winnt.sif call file.

I'll let you know how it goes ^_^
SSX4life
Member

Posts: 78
Users Information
Joined: Sat Oct 28, 2006 7:21 pm

Next

Return to The OEM A.C.T.

Who is online

Users browsing this forum: No registered users and 1 guest