+ Reply to Thread
Page 1 of 41 1 2 3 11 ... LastLast
Results 1 to 10 of 403

Thread: OEMSCAN_ADDON_MULTIOEM v1.8

  1. #1
    Join Date
    Feb 2007
    Posts
    538

    Default OEMSCAN_ADDON_MULTIOEM v1.8

    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 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. 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:
    [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.7 z.
    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:
    [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/?xu7oz7woh44m7a5
    Attached Files
    Last edited by mr_smartepants; 02-10-2013 at 11:52 AM.
    Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003

  2. #2
    Join Date
    May 2006
    Posts
    1,418

    Default

    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--

  3. #3
    Join Date
    Feb 2007
    Posts
    538

    Default

    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:
    @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".
    Last edited by mr_smartepants; 12-19-2011 at 11:36 AM.
    Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003

  4. #4
    Join Date
    May 2006
    Posts
    1,418

    Default

    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--

  5. #5
    Join Date
    Feb 2007
    Posts
    538

    Default

    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

  6. #6
    Join Date
    Oct 2006
    Posts
    78

    Default

    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
    Follow Siginet's latest software venture on Facebook!
    Just click on the LIKE button on his new website here:

    www.ITTechware.com

  7. #7
    Join Date
    Feb 2007
    Posts
    538

    Default

    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 08:48 AM.
    Not all heroes wear capes, some wear Kevlar! OEMSCAN pre-activation addon for OEM XP & 2003

  8. #8
    Join Date
    Oct 2006
    Posts
    78

    Default

    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
    Follow Siginet's latest software venture on Facebook!
    Just click on the LIKE button on his new website here:

    www.ITTechware.com

  9. #9
    Join Date
    Oct 2006
    Posts
    78

    Default

    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 10:29 AM.
    Follow Siginet's latest software venture on Facebook!
    Just click on the LIKE button on his new website here:

    www.ITTechware.com

  10. #10
    Join Date
    Oct 2006
    Posts
    78

    Default

    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 11:31 AM.
    Follow Siginet's latest software venture on Facebook!
    Just click on the LIKE button on his new website here:

    www.ITTechware.com

+ Reply to Thread

Similar Threads

  1. OEMSCAN_ADDON_MULTIOEM v1.61
    By mr_smartepants in forum The OEM A.C.T.
    Replies: 158
    Last Post: 04-17-2010, 02:18 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts