Siginet Software Forums  
Awards

Go Back   Siginet Software Forums > Siginet Software > The OEM A.C.T.

Reply
 
Thread Tools Display Modes
OEMSCAN_ADDON_MULTIOEM v1.8
Old
  (#1)
mr_smartepants
Windows PowerPacker Developer
 
Status: Offline
Posts: 407
Thanks: 2
Thanked 15 Times in 12 Posts
Join Date: Feb 2007
Default OEMSCAN_ADDON_MULTIOEM v1.8 - 01-21-2009, 02:53 PM

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.
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:
Quote:
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 NOT 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. 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 (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. 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:
[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).
10. Save and close the oemscan.ini file.
11. 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.8x.7 z.
12. Integrate this addon using Siginet's RVMIntegrator NOT 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 wanted 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:
[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:
http://integrator.siginetsoftware.co...?addons&id=224
Updated: 16 Dec 2009
File: OEMSCAN_1.4.1_MR_SMARTEPANTS_ADDON_MULTIOEM_1.8.2. 7z
CRC-32: 12e6f996
MD4: 7107d41f857c9d61cefb86b515c6f619
MD5: f874873b96892befcc2b5cb186fca572
SHA-1: f1401895a9c6d50b50efad2398a0a391cc1f548a
Attached Files
File Type: 7z Grab_Files.7z (528.2 KB, 376 views)




Last edited by mr_smartepants; 12-15-2009 at 06:55 PM..
   
Reply With Quote
The Following 2 Users Say Thank You to mr_smartepants For This Useful Post:
ENU_user (07-16-2009), godofmonkeys (01-29-2009)
Old
  (#2)
Siginet
Administrator
Site Admin
 
Siginet's Avatar
 
Status: Offline
Posts: 1,385
Thanks: 18
Thanked 95 Times in 28 Posts
Join Date: May 2006
Default 01-21-2009, 03: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.



Windows XP PowerPacker Reviewed in PC-Quest & PC Utilities magazines!
RVM Integrator Reviewed in CPU magazine and Maximum PC!
--Siginet--
   
Reply With Quote
Old
  (#3)
mr_smartepants
Windows PowerPacker Developer
 
Status: Offline
Posts: 407
Thanks: 2
Thanked 15 Times in 12 Posts
Join Date: Feb 2007
Default 01-21-2009, 03:03 PM

Source code for OEMAUTO.exe version 1.8.1.2
Code:
@echo off
:: This batch file was created by mr_smartepants
:: Version 1.8.1.2    May 22, 2009
title= OEMBIOS autodetection script by Mr_Smartepants
echo v1.8.1.2    May 22, 2009
echo Detecting Windows type, please wait
FOR %%i IN (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:\WIN51" SET CDROM=%%i:
:: Below code checks for install CD.  If disc not found then exit with error.
if defined CDROM (
  goto VARIABLES
) else (
	echo Windows source CD not found.
	echo Please insert Windows CD and restart
	goto ERROR
)

:VARIABLES
:: Set variables
SET HOME="%CDROM%\OEM\KEYS\XP\XP_HOME"
SET PRO="%CDROM%\OEM\KEYS\XP\XP_PRO"
SET MCE="%CDROM%\OEM\KEYS\XP\XP_MCE"
SET DATACENTER="%CDROM%\OEM\KEYS\2003\DATACENTER"
SET ENTERPRISE="%CDROM%\OEM\KEYS\2003\ENTERPRISE"
SET STANDARD="%CDROM%\OEM\KEYS\2003\STANDARD"
SET WEB="%CDROM%\OEM\KEYS\2003\WEB"
SET XP64="%CDROM%\OEM\KEYS\XP\XP64"
SET DATACENTER2="%CDROM%\OEM\KEYS\2003\DATACENTER64"
SET ENTERPRISE2="%CDROM%\OEM\KEYS\2003\ENTERPRISE64"
SET STANDARD2="%CDROM%\OEM\KEYS\2003\STANDARD64"

:PATH
:: Check for install path from source.  Set variable for install path.  
setLocal EnableDelayedExpansion

for /f "tokens=* delims= " %%a in (%systemroot%\system32\$WINNT$.INF) do (
echo %%a | find "dospath=" > nul
if not errorlevel 1 set str=%%a
)
for /f "tokens=2 delims==" %%a in ('echo !str!') do (
SET dospath=%%a
echo dospath=!dospath!
)

:TYPE1
:: Verify OEM-only source for x86.
if not exist %dospath%\I386\SETUPP.INI goto TYPE2
for /f "tokens=* delims==" %%? in (%dospath%\I386\SETUPP.INI) do set Pid=%%?
set Pid=%Pid:~-3%
if '%Pid%'=='OEM'  echo OEM version of Windows successfully detected && goto VERSION1

:TYPE2
:: Verify OEM-only source for x64.
if not exist %dospath%\AMD64\SETUPP.INI goto ERROR1
for /f "tokens=* delims==" %%? in (%dospath%\AMD64\SETUPP.INI) do set Pid=%%?
set Pid=%Pid:~-3%
if '%Pid%'=='OEM'  echo OEM version of Windows successfully detected && goto VERSION2

GOTO ERROR1

:VERSION1
:: Grab x86 PID and set variable for table comparison.
for /f "tokens=* delims==" %%a in (%dospath%\I386\SETUPP.INI) do (
echo %%a | find "Pid=" > nul
if not errorlevel 1 set str=%%a
)
for /f "tokens=2 delims==" %%a in ('echo !str!') do (
set myvar=%%a
echo myvar=!myvar!
set finalvar=!myvar:~0,5!
echo finalvar=!finalvar!
)
GOTO PIDs

:VERSION2
:: Grab x64 PID and set variable for table comparison.
for /f "tokens=* delims==" %%a in (%dospath%\AMD64\SETUPP.INI) do (
echo %%a | find "Pid=" > nul
if not errorlevel 1 set str=%%a
)
for /f "tokens=2 delims==" %%a in ('echo !str!') do (
set myvar=%%a
echo myvar=!myvar!
set finalvar=!myvar:~0,5!
echo finalvar=!finalvar!
)

:PIDs
:: Compares PID variable set above to below table.  Then runs oemscan from correct folder for OStype.
:: English PIDs
:: Windows XP Pro version
if '%finalvar%'=='76487'  goto MCE
if '%finalvar%'=='76481'  goto MCE
if '%finalvar%'=='76500'  goto MCE
:: Windows XP Home version
if '%finalvar%'=='76477'  goto HOME
if '%finalvar%'=='76475'  goto HOME
:: Other Language PIDs
:: Windows XP Pro version
if '%finalvar%'=='76392'  goto MCE
if '%finalvar%'=='76396'  goto MCE
if '%finalvar%'=='76413'  goto MCE
if '%finalvar%'=='76440'  goto MCE
if '%finalvar%'=='76447'  goto MCE
if '%finalvar%'=='55375'  goto MCE
if '%finalvar%'=='55679'  goto MCE
:: Windows XP Home version
if '%finalvar%'=='76470'  goto HOME
if '%finalvar%'=='76460'  goto HOME
if '%finalvar%'=='76412'  goto HOME
if '%finalvar%'=='76381'  goto HOME
if '%finalvar%'=='55372'  goto HOME
if '%finalvar%'=='55677'  goto HOME
:: win2003 PIDs
if '%finalvar%'=='69712'  goto STANDARD
if '%finalvar%'=='69713'  goto ENTERPRISE
if '%finalvar%'=='69753'  goto WEB
if '%finalvar%'=='69754'  goto DATACENTER
:: questionable PIDs
:: Windows XP Pro version
if '%finalvar%'=='55274'  goto MCE
if '%finalvar%'=='55276'  goto MCE
if '%finalvar%'=='55285'  goto MCE
if '%finalvar%'=='55661'  goto MCE
:: Windows XP Home version
if '%finalvar%'=='55277'  goto HOME
:: 64-bit PIDs
if '%finalvar%'=='55034'  goto XP64
if '%finalvar%'=='76588'  goto XP64
if '%finalvar%'=='69769'  goto DATACENTER2
if '%finalvar%'=='69770'  goto ENTERPRISE2
:: If no matches are found, exit with error.
goto ERROR2

:HOME
if not exist %dospath%\win51ic goto ERROR3
echo Windows XP Home Edition detected
ECHO Scanning for matching XP Home BIOS string and writing product key.
%HOME%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:MCE
if not exist %dospath%\win51ip goto ERROR3
if not exist %dospath%\CMPNENTS\MEDIACTR\I386\MEDIACTR.CAB goto PRO
echo Windows XP Media Center Edition detected
ECHO Scanning for matching XP MCE BIOS string and writing product key.
%MCE%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:PRO
if not exist %dospath%\win51ip goto ERROR3
echo Windows XP Professional Edition detected
ECHO Scanning for matching XP Pro BIOS string and writing product key.
%PRO%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:STANDARD
if not exist %dospath%\win51is goto ERROR3
echo Windows Server 2003 Standard Edition detected
ECHO Scanning for matching Server 2003 STANDARD BIOS string and writing product key.
%STANDARD%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:STANDARD2
if not exist %dospath%\win51as goto ERROR3
echo Windows Server 2003 Standard x64 Edition detected
ECHO Scanning for matching Server 2003 STANDARD x64 BIOS string and writing product key.
%STANDARD2%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:ENTERPRISE
if not exist %dospath%\win51ia goto ERROR3
echo Windows Server 2003 Enterprise Edition detected
ECHO Scanning for matching Server 2003 ENTERPRISE BIOS string and writing product key.
%ENTERPRISE%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:ENTERPRISE2
if not exist %dospath%\win51aa goto ERROR3
echo Windows Server 2003 Enterprise x64 Edition detected
ECHO Scanning for matching Server 2003 ENTERPRISE x64 BIOS string and writing product key.
%ENTERPRISE2%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:WEB
if not exist %dospath%\win51ib goto ERROR3
echo Windows Server 2003 Web Edition detected
ECHO Scanning for matching Server 2003 WEB BIOS string and writing product key.
%WEB%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:DATACENTER
if not exist %dospath%\win51id goto ERROR3
echo Windows Server 2003 Datacenter Edition detected
ECHO Scanning for matching Server 2003 DATACENTER BIOS string and writing product key.
%DATACENTER%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:DATACENTER2
if not exist %dospath%\win51ad goto ERROR3
ECHO Windows Server 2003 Datacenter x64 Edition detected
ECHO Scanning for matching Server 2003 DATACENTER BIOS string and writing product key.
%DATACENTER2%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
GOTO OEMcopy

:XP64
if not exist %dospath%\win51ap goto ERROR3
echo Windows XP Professional x64 version detected
ECHO Scanning for matching XP Pro x64 BIOS string and writing product key.
%XP64%\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"
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 %SystemRoot%\temp\oemscan.log goto ERROR4
echo Found oemscan log file

for /f "tokens=* delims= " %%b in (%SystemRoot%\temp\oemscan.log) 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
ECHO !oemcopy!
copy "%oemcopy%\oemlogo.bmp" "%SystemRoot%\System32\*"
copy "%oemcopy%\oeminfo.ini" "%SystemRoot%\System32\*"
copy "%oemcopy%\oobeinfo.ini" "%SystemRoot%\system32\oobe\*"
copy "%oemcopy%\oemeula.txt" "%SystemRoot%\System32\oobe\*"
copy "%oemcopy%\OEMLOGO.JPG" "%SystemRoot%\system32\oobe\images\*"
MD "%SystemRoot%\Resources\Themes"
copy "%oemcopy%\themes\*" "%SystemRoot%\Resources\Themes\*"
MD "%SystemRoot%\Web\Wallpaper"
copy "%oemcopy%\walls\*" "%SystemRoot%\Web\Wallpaper\*"

:END
endLocal
EXIT

:: Numbered error codes follow for troubleshooting.
:ERROR
echo Could not complete script.
echo Please report errors to mr_smartepants.
pause
GOTO END

:ERROR1
echo "Error#1.  OEMSCAN cannot continue. OEM version of Windows NOT detected."
goto ERROR

:ERROR2
echo "Error#2.  OEMSCAN cannot continue. Could not find suitable SLP Product ID"
echo "Please report PID# and Windows type for addition to the next version"
GOTO ERROR

:ERROR3
echo "Error#3.  Mismatch of PID# with disc ID.  Unable to continue"
GOTO ERROR

:ERROR4
echo "Error#4.  OEM Logo copy cannot continue. Could not find oemscan.log"
GOTO ERROR

:ERROR5
echo "Error#5.  OEM Logo copy cannot continue. Could not find any OEM logo files in"
ECHO !oemcopy!
GOTO ERROR

:EOF
Source code for OEMAUTO.exe version 1.8.2
Logging code by kof94
Code:
@echo off
:: This batch file was created by mr_smartepants
:: Version 1.8.2    Nov 22, 2009
title= OEMBIOS autodetection script by Mr_Smartepants
echo v1.8.2    Nov 22, 2009
echo Detecting Windows type, please wait
FOR %%i IN (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:\WIN51" SET CDROM=%%i:
:: Below code checks for install CD.  If disc not found then exit with error.
if defined CDROM (
  goto VARIABLES
) else (
	echo Windows source CD 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 HOME="%CDROM%\OEM\KEYS\XP\XP_HOME"
SET MCE="%CDROM%\OEM\KEYS\XP\XP_MCE"
SET PRO="%CDROM%\OEM\KEYS\XP\XP_PRO"
SET XP64="%CDROM%\OEM\KEYS\XP\XP64"
SET DATACENTER="%CDROM%\OEM\KEYS\2003\DATACENTER"
SET DATACENTER64="%CDROM%\OEM\KEYS\2003\DATACENTER64"
SET ENTERPRISE="%CDROM%\OEM\KEYS\2003\ENTERPRISE"
SET ENTERPRISE64="%CDROM%\OEM\KEYS\2003\ENTERPRISE64"
SET STANDARD="%CDROM%\OEM\KEYS\2003\STANDARD"
SET STANDARD64="%CDROM%\OEM\KEYS\2003\STANDARD64"
SET WEB="%CDROM%\OEM\KEYS\2003\WEB"

setLocal EnableDelayedExpansion

: DOSPATH
:: Find install path and set variable
if exist %systemroot%\system32\$winnt$.inf (
  for /f "tokens=* delims= " %%a in (%systemroot%\system32\$winnt$.inf) do (
  echo %%a | find "dospath=" > nul
  if not errorlevel 1 set str=%%a
  for /f "tokens=2 delims==" %%a in ('echo !str!') do (
  set dospath=%%a
  echo DOSPATH=!dospath! 2>&1 | mtee /+ %logfile%
  )
  )
) else (
  echo Error: `%systemroot%\system32\$winnt$.inf' file not found 2>&1 | mtee /+ %logfile%
  goto ERROR
) 

: 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%
  goto ERROR
) else (
  echo ARCH=!arch! 2>&1 | mtee /+ %logfile%
)

: 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%
  goto ERROR
)

: 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
           ) do if '%version%'=='%%a' goto MCE
:: Windows XP Home Edition
for %%a in (76477 76475 76470 76460 76412 76381 55372 55677 55277
           ) 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
echo Error: Failed to identify Windows PID 2>&1 | mtee /+ %logfile%
goto ERROR2

:MCE
if not exist %dospath%\CMPNENTS\MEDIACTR\I386\MEDIACTR.CAB goto PRO
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

:PRO
if not exist %dospath%\win51ip goto ERROR3
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 not exist %dospath%\win51ic goto ERROR3
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 not exist %dospath%\win51is goto STANDARD64
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

:XP64
if not exist %dospath%\win51ap goto ERROR3
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%\oemlogo.bmp" "%SystemRoot%\System32\*"
copy "%oemcopy%\oeminfo.ini" "%SystemRoot%\System32\*"
copy "%oemcopy%\oobeinfo.ini" "%SystemRoot%\system32\oobe\*"
copy "%oemcopy%\oemeula.txt" "%SystemRoot%\System32\oobe\*"
copy "%oemcopy%\OEMLOGO.JPG" "%SystemRoot%\system32\oobe\images\*"
MD "%SystemRoot%\Resources\Themes"
copy "%oemcopy%\themes\*" "%SystemRoot%\Resources\Themes\*"
MD "%SystemRoot%\Web\Wallpaper"
copy "%oemcopy%\walls\*" "%SystemRoot%\Web\Wallpaper\*"
copy "%oemcopy%\*.ico" "%SystemRoot%\System32\*"

: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 http://siginetsoftware.com/forum/showthread.php?t=541  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 "Please report PID# and Windows type for addition to the next version" 2>&1 | mtee /+ %logfile%
GOTO ERROR

:ERROR3
echo "Error#3.  Mismatch of PID# with disc ID.  Unable to continue" 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

:EOF
I'm releasing this code under the Creative Commons license with the understanding that it will NOT be used for warez or other illegal purposes.
IF you pirates out there decide to use my tools to distribute your warez, please do me the courtesy of removing my name from the code. I do NOT want to be associated with warez.

To quote Linus Torvalds: "Given enough eyeballs, all bugs are shallow".




Last edited by mr_smartepants; 12-15-2009 at 06:57 PM..
   
Reply With Quote
Old
  (#4)
Siginet
Administrator
Site Admin
 
Siginet's Avatar
 
Status: Offline
Posts: 1,385
Thanks: 18
Thanked 95 Times in 28 Posts
Join Date: May 2006
Default 01-21-2009, 03: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?



Windows XP PowerPacker Reviewed in PC-Quest & PC Utilities magazines!
RVM Integrator Reviewed in CPU magazine and Maximum PC!
--Siginet--
   
Reply With Quote
Old
  (#5)
mr_smartepants
Windows PowerPacker Developer
 
Status: Offline
Posts: 407
Thanks: 2
Thanked 15 Times in 12 Posts
Join Date: Feb 2007
Default 01-21-2009, 10: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).



   
Reply With Quote
Old
  (#6)
SSX4life
Registered User
 
Status: Offline
Posts: 78
Thanks: 0
Thanked 5 Times in 5 Posts
Join Date: Oct 2006
Default 01-22-2009, 09:13 AM

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

Log
Code:
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?
Attached Files
File Type: rar error.rar (401.8 KB, 29 views)
  Send a message via AIM to SSX4life  
Reply With Quote
Old
  (#7)
mr_smartepants
Windows PowerPacker Developer
 
Status: Offline
Posts: 407
Thanks: 2
Thanked 15 Times in 12 Posts
Join Date: Feb 2007
Default 01-22-2009, 09: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.




Last edited by mr_smartepants; 01-22-2009 at 09:48 AM..
   
Reply With Quote
Old
  (#8)
SSX4life
Registered User
 
Status: Offline
Posts: 78
Thanks: 0
Thanked 5 Times in 5 Posts
Join Date: Oct 2006
Default 01-22-2009, 10: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.
Attached Files
File Type: ini SETUPP.INI (63 Bytes, 41 views)
File Type: zip WINNT.zip (279 Bytes, 38 views)
  Send a message via AIM to SSX4life  
Reply With Quote
Old
  (#9)
SSX4life
Registered User
 
Status: Offline
Posts: 78
Thanks: 0
Thanked 5 Times in 5 Posts
Join Date: Oct 2006
Default 01-22-2009, 11: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

Last edited by SSX4life; 01-22-2009 at 11:29 AM..
  Send a message via AIM to SSX4life  
Reply With Quote
Old
  (#10)
SSX4life
Registered User
 
Status: Offline
Posts: 78
Thanks: 0
Thanked 5 Times in 5 Posts
Join Date: Oct 2006
Default 01-22-2009, 12:25 PM

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:
;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 ^_^

Last edited by SSX4life; 01-22-2009 at 12:31 PM..
  Send a message via AIM to SSX4life  
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com

no new posts