Jump to content

OEMScan - Automated Multi Manufacture Pre-Activation Utility


Recommended Posts


Thanks Bilou but the snag there is that the path for oemscan.bat (or oemscan.cmd as I'm calling it now) needs to be set first and this needs the cdrom detection.

The line in winnt.sif would need to read something like this:

Detachedprogram=cmd.exe (or can nircmd be used here instead?)

Arguments= /q /c /start /min (detect cd-rom drive letter and set %cdrom% variable) (%cdrom%\oem\oemscan.cmd)

Link to comment
Share on other sites

If you use this command in winnt.sif [GuiUnattended] section, your batch is run from the CD

both nircmd.exe and oemscan.bat are in your CD-ROM drive $oem$ folder.

DetachedProgram=".\system32\cmd.exe"
;CD Based install
Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J (start /min /D%J NirCmd.exe exec hide oemscan.bat)))"

(not sure if .bat works, maybe you have to rename it to .cmd)

you canno't run whatever you want with the DetachedProgam and we canno't use quotes in the Arguments string.

The best solution is to launch a script (.cmd) and put all the commands in this script.

Previous posted cdromxp.cmd may works at early stage of install if you this line line:

rem IF NOT "%OS%"=="Windows_NT" GOTO Syntax

and you get the CDROM variable.

Post your current script to get more help.

Edited by Bilou_Gateux
Link to comment
Share on other sites

[uPDATE 23-12]

Thanks to all the help I now have this disc working exactly how I want. Instead of posting another big long thread with code snippets, I'm just gonna edit this one showing the final code.

Thanks for all this help Bilou! (path issue fixed ->)I just tried it there but although oemscan was run I was asked for a product key. When I checked the oemscan.log is showed that the cmd file had been run. I think I might know why it didn't work (see setkey.cmd below) but here's everything I have so far:

WINNT.SIF:

[Data]
MSDosInitiated=0
UnattendedInstall=Yes

[GuiUnattended]
DetachedProgram=".\system32\cmd.exe"
;CD Based install
Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%IOEM) DO (IF EXIST %J (start /min /D%J NirCmd.exe exec hide oemscan.cmd)))"

Is the part with $winnt$.inf needed for this stage? (<- yes it is) Also I took the $ symbols out from either side of the OEM part as the folder is called OEM on the CD not $OEM$. The detection routine worked fine though as oemscan was ran from the CD :)

OEMSCAN.CMD

@ECHO OFF 
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\WIN51 set CDROM=%%i

%CDROM%\OEM\OEMSCAN.EXE > "%SystemRoot%\Temp\oemscan.log"

exit

OEMSCAN.INI

[Hewlett]
PATH=".\HPQ\"
CMD=".\HPQ\SETKEY.CMD"

SETKEY.CMD

@ECHO OFF 
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\WIN51 set CDROM=%%i

%CDROM%\OEM\NirCmd.exe inisetval %SystemRoot%\SYSTEM32\$WINNT$.INF "UserData" "ProductKey" "~qXXXXX-XXXXX-XXXXX-XXXXX-XXXXX~q"

exit

The only visible difference between this setup procedure and a regular Windows one is that even though I'm shown (and accept) the EULA in text mode setup, it's shown again in GUI mode setup (minor glitch really). And of course the product key dialog isn't shown if a supported royalty oem bios is detected :)

Edited by Protocol7
Link to comment
Share on other sites

@xehqter

Please can you check your tool under 2003 Server OS

I'm unable to make it work through UA install or from command prompt after install.

OEMBIOS Scanner v1.3.1 by Jeremy (xehqter)

Reading BIOS Memory

Could not open \device\physicalmemory: Accès refusé.

French 'Accès refusé'

English 'Access denied'

OS is Windows 2003 Server Standard R2

Microsoft Windows [version 5.2.3790]
Link to comment
Share on other sites

http://technet2.microsoft.com/WindowsServe...3.mspx?mfr=true

In Windows Server 2003 SP1, user-mode access to the \Device\PhysicalMemory object is not permitted. All forms of access (read, write) are refused when the \Device\PhysicalMemory object is accessed from a user-mode application. Access to the \Device\PhysicalMemory object is refused regardless of the user context (Administrators, Users, Local System, etc.) the application is running in.

Kernel-mode (driver) access to the \Device\PhysicalMemory object is unchanged for Windows Server 2003 SP1.

There are no means to revert this changed behavior in Windows Server 2003 SP1.

Seems oemscan would have to run in kernel-mode for a Server 2003 fix.

Link to comment
Share on other sites

OEMSCAN isn’t compatible w/ Windows 2003 server yet for a few reasons.

Time is the big one; I have no time to code on the weekends. Secondly I rarely need to install W2K3 server since it’s pre-installed on the boxes we order. OEMSCAN won’t work with vista so I’m forced to update it but things need to slow down @ work first.

Link to comment
Share on other sites

Hi,

I seem to be having the same problem as sn3ak where when I try to run oemscan it starts to read the bios and then fails. Using v1.31:

OEMBIOS Scanner v1.3.1 by Jeremy (xehqter)

Reading BIOS Memory

(crash with windows dialog)

It works just fine on some PCs but it will randomly crash on others. These are all fresh images and it normally gets executed from cmdlines.txt but later when Windows loads (un-activated) and I try to run it manually it fails.

Could someone do me a favor and post the older version (v1.21) on here or e-mail it to me so I can see if it works (which was sn3ak's solution I believe.)

Thanks!

Here's my .ini file:

[Dell System]
PATH=".\Dell\"

[Dell Computer]
PATH=".\Dell\"

[Dell Inc]
PATH=".\Dell\"

[Gatewa]
PATH=".\Gateway\A04597C6\"
RANGE="0xF32F0:20,0xF3310:20"

[Gateway]
PATH=".\Gateway\C86378C7\"

[EMACHINES]
PATH=".\Gateway\C86378C7\"

[Compaq]
PATH=".\HPQ\"

[Hewlett]
PATH=".\HPQ\"

[HP PAVILION]
PATH=".\Pavilion\"

[Sony Corporation]
PATH=".\Sony\"

[Lenovo]
PATH=".\Lenovo\"

[IBM CORPORATION]
PATH=".\IBM\"

[TOSHIBA]
PATH=".\Toshiba\"

[SM]
PATH=".\OEM\"

Edited by boba001
Link to comment
Share on other sites

This is running off a flat RIS install of Windows XP SP2 with all the current hotfixes. No third-party programs have been installed at the time it gets executed during the windows setup. It only happens on random machines and when it does happen it will always happen on that machine. This machine happens to be a HP Pavillion but I've had the same thing happen on 2 IBMs.

I don't have any debugging tools on the freshly imaged boxes that it errors on so here's what I can get from the windows crash tool (It doesn't allow copy and paste and it's a real hassle to extract the text out of it.) Can you let me try the old version to see if it fixes the issue for the moment?

Exception Information
Code: 0xc0000005 Flags: 0x00000000
Record: 0x0000000000000000 Address: 0x00000000004014e4

System Information
Windows NT 5.1 Build: 2600
CPU Vendor Code: 756E6547 - 49656E69 - 6C65746E
CPU Version: 00000F27 CPU Feature Code: BFEBFBFF
CPU AMD Feature Code: 00B1E824

Module 1
oemscan.exe
Image Base: 0x00400000 Image Size: 0x00000000
Checksum: 0x00000000 Time Stamp: 0x45418574
Version Information

Signature: 00000000
StrucVer: 00000000
FileVer: (0.0:0.0)
ProdVer: (0.0:0.0)
FlagMask: 00000000
Flags: 00000000
OS: 00000000
FileType: 00000000
SubType: 00000000
FileDate: 00000000:00000000

Module 2
ntdll.dll
Image Base: 0x7c900000 Image Size: 0x00000000
Checksum: 0x000af2f7 Time Stamp: 0x411096b4
Version Information
Signature: feef04bd
StrucVer: 00010000
FileVer: (5.1:2600.2180)
ProdVer: (5.1:2600.2180)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004
FileType: 00000002
SubType: 00000000
FileDate: 00000000:00000000

Module 3
kernel32.dll
Image Base: 0x7c800000 Image Size: 0x00000000
Checksum: 0x000f724d Time Stamp: 0x44ab9a84
Version Information
Signature: feef04bd
StrucVer: 00010000
FileVer: (5.1:2600.2945)
ProdVer: (5.1:2600.2945)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004
FileType: 00000002
SubType: 00000000
FileDate: 00000000:00000000

Module 4
SHLWAPI.dll
Image Base: 0x77f60000 Image Size: 0x00000000
Checksum: 0x00074bd7 Time Stamp: 0x45091559
Version Information
Signature: feef04bd
StrucVer: 00010000
FileVer: (6.0:2900.2995)
ProdVer: (6.0:2900.2995)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004
FileType: 00000002
SubType: 00000000
FileDate: 00000000:00000000

Module 5
ADVAPI32.dll
Image Base: 0x77dd0000 Image Size: 0x00000000
Checksum: 0x000a0de4 Time Stamp: 0x411096a7
Version Information
Signature: feef04bd
StrucVer: 00010000
FileVer: (5.1:2600.2180)
ProdVer: (5.1:2600.2180)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004
FileType: 00000002
SubType: 00000000
FileDate: 00000000:00000000

Module 6
RPCRT4.dll
Image Base: 0x77e70000 Image Size: 0x00000000
Checksum: 0x0009c482 Time Stamp: 0x411096ae
Version Information
Signature: feef04bd
StrucVer: 00010000
FileVer: (5.1:2600.2180)
ProdVer: (5.1:2600.2180)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004
FileType: 00000002
SubType: 00000000
FileDate: 00000000:00000000

... snipped ...

Thread 1
Thread ID: 0x00000e10
Context:
EDI: 0x7ffda000 ESI: 0x00000000 EAX: 0x009b0000
EBX: 0x0012b640 ECX: 0x00001000 EDX: 0x7c90eb94
EIP: 0x7c90eb94 EBP: 0x0012b6b4 SegCs: 0x0000001b
EFlags: 0x00000246 ESP: 0x0012b618 SegSs: 0x00000023
Stack:
0x0012b614: 7c80abf7 7c90e9ab 7c8094e2 00000002 ...|...|...|....
0x0012b624: 0012b640 00000001 00000000 0012b674 @...........t...
0x0012b634: 7c802520 00980000 7c910331 00000754 %.|....1..|T...
0x0012b644: 00000738 00610020 0064006e 00530020 8... .a.n.d. .S.
0x0012b654: 00740065 00690074 00000000 00000014 e.t.t.i.........
0x0012b664: 00000001 00000000 00000000 00000010 ................
0x0012b674: 4d2fa200 ffffffff 7c910331 7ffda000 ../M....1..|....
0x0012b684: 7ffdf000 00000000 0012b674 0012b640 ........t...@...
0x0012b694: 00000000 00000002 0012b634 7ffdf000 ........4.......
0x0012b6a4: 0012c054 7c839aa8 7c8095d8 00000000 T......|...|....
0x0012b6b4: 0012b6d0 7c80a075 00000002 0012b7e4 ....u..|........
0x0012b6c4: 00000000 000493e0 00000000 0012c064 ............d...
0x0012b6d4: 6945763c 00000002 0012b7e4 00000000 <vEi............
0x0012b6e4: 000493e0 003a0043 0057005c 004e0049 ....C.:.\.W.I.N.
0x0012b6f4: 004f0044 00530057 0073005c 00730079 D.O.W.S.\.s.y.s.
0x0012b704: 00650074 0033006d 005c0032 00770064 t.e.m.3.2.\.d.w.
0x0012b714: 00690077 002e006e 00780065 00200065 w.i.n...e.x.e. .
0x0012b724: 0078002d 002d0020 00200073 00380031 -.x. .-.s. .1.8.
0x0012b734: 00380036 77b40000 77b5aa51 0012b6c8 6.8....wQ..w....
0x0012b744: 00000001 ffffffff 0012bc38 00000104 ........8.......
0x0012b754: 0012b76c 7c831dee 0012bc38 7f6f2190 l......|8....!o.
0x0012b764: 00000026 00980000 0012c064 0012c064 ........d...d...
0x0012b774: 694574d7 694574f3 00000001 0012cf24 .tEi.tEi....$...
0x0012b784: 00000000 00000044 00000000 69451b5c ....D.......\.Ei
0x0012b794: 00000000 00000000 00000000 00000000 ................
0x0012b7a4: 00000000 00000000 00000000 00000000 ................
0x0012b7b4: 00000000 00000000 00000000 00000000 ................
0x0012b7c4: 00000000 00000000 00000738 00000734 ........8...4...
0x0012b7d4: 00000e0c 00000e14 0012cdb0 000e02ea ................
0x0012b7e4: 00000754 00000738 00980000 0000000c T...8...........
0x0012b7f4: 00000000 00000001 0012d7b8 0012b828 ............(...
0x0012b804: 00000013 0012b6e8 00000750 0000074c ........P...L...
0x0012b814: 00000754 00000001 0000075c 00000758 T.......\...X...
0x0012b824: 00000000 003a0043 0044005c 0063006f ....C.:.\.D.o.c.
0x0012b834: 006d0075 006e0065 00730074 00610020 u.m.e.n.t.s. .a.
0x0012b844: 0064006e 00530020 00740065 00690074 n.d. .S.e.t.t.i.
0x0012b854: 0067006e 005c0073 00640041 0069006d n.g.s.\.A.d.m.i.

... snipped ...

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="oemscan.exe" FILTER="GRABMI_FILTER_PRIVACY">
<MATCHING_FILE NAME="oemscan.exe" SIZE="49152" CHECKSUM="0xA97E2756" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="10/27/2006 04:05:08" UPTO_LINK_DATE="10/27/2006 04:05:08" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="kernel32.dll" SIZE="984064" CHECKSUM="0xF12E1D4A" BIN_FILE_VERSION="5.1.2600.2945" BIN_PRODUCT_VERSION="5.1.2600.2945" PRODUCT_VERSION="5.1.2600.2945" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.1.2600.2945 (xpsp_sp2_gdr.060704-2349)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xF724D" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2945" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2945" LINK_DATE="07/05/2006 10:55:00" UPTO_LINK_DATE="07/05/2006 10:55:00" VER_LANGUAGE="English (United States) [0x409]" />
</EXE>
</DATABASE>

Edited by boba001
Link to comment
Share on other sites

Thanks for the crash dump. I think I found the bug, try this new version (1.3.2) out and tell me if it still crashes. If its fixed i'll make it the new official release.

Edit: Official Version is updated to 1.3.2 download it from 1st post

Edited by xehqter
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...