Vista_OEM


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

Vista_OEM

Postby laddanator » Fri Jun 20, 2008 5:21 am

Hello I am working on a oemscan for Vista I know vista is some what easy to activate on Dell,Hp...ect but I am working on a scan tool that will install the cert.XRM-MS file and slp key for you so you want have to run the slmgr command manually.Will post my commands here and feel free to let me know if you guys see anything that may be better I could add to it
User avatar
laddanator
Member

Posts: 40
Users Information
Joined: Tue Feb 27, 2007 2:23 pm

Postby Siginet » Fri Jun 20, 2008 9:07 am

Thanks laddanator. :) I will be looking forward 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

So far

Postby laddanator » Fri Jun 20, 2008 11:16 am

Code: Select all
Option Explicit
TITLE:Laddanator Beta Vista
Dim Wshell, strRoot, EditionID, slmgr, ScriptPath
Set Wshell = CreateObject("WScript.Shell")


Dim i
Dim choice
Dim oemName
choice = ""

'to add more brands, continue this pattern, brands(x) = "oemname" and change the number
'in Dim brands(x) to whatever the last number is

Dim brands(10)
brands(0) = "Acer"
brands(1) = "Asus"
brands(2) = "Compaq"
brands(3) = "Dell"
brands(4) = "Emachines"
brands(5) = "Gateway"
brands(6) = "Hewlett Packard"
brands(7) = "Lenovo"
brands(8) = "Sony"
brands(9) = "Toshiba"
brands(10) = "IF NOT INSTALLING VISTA ON NAME BRAND MACHINE PLEASE CLOSE THIS WINDOW"
Wscript.Echo "Choose the type of computer:"
For i = 0 to UBound(brands)
Wscript.Echo i & ". " & brands(i)
Next

Wscript.Echo "Enter a Number: "
choice = Wscript.StdIn.Read(2)

'get editionID from registry
strRoot = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EditionID"
EditionID = Wshell.RegRead(strRoot)
slmgr = "wscript " & Wshell.ExpandEnvironmentStrings("%windir%") & "\system32\slmgr.vbs"
ScriptPath = Left(WScript.ScriptFullName, _
    Len(WScript.ScriptFullName) - Len(WScript.ScriptName))


Select Case EditionID

'change these to the right codes
Case "Home Basic"   
   Wshell.exec(slmgr & " -ipk xxxxx-xxxxx-xxxxx-xxxxx")
Case "Home Premium"
   Wshell.exec(slmgr & " -ipk xxxxx-xxxxx-xxxxx-xxxxx")
Case "Business"   
   Wshell.exec(slmgr & " -ipk xxxxx-xxxxx-xxxxx-xxxxx")
Case "Ultimate"
   Wshell.exec(slmgr & " -ipk xxxxx-xxxxx-xxxxx-xxxxx")
End Select


'install cert.XRM-MS based on choice made

oemName = brands(choice)
Wshell.exec(slmgr & " -ilc " & Chr(34) & ScriptPath & oemName & Chr(92) & oemName & ".XRM-MS" & Chr(34))


This works, I run this script with cscript manually but I made a bat file that when vista first boots up it will run this script auto,and you will get this menu

0. Acer
1. Asus
2. Compaq
3. Dell
4. Emachines
5. Gateway
6. Hewlett Packard
7. Lenovo
8. Sony Corporation
9. Toshiba
10. IF NOT INSTALLING VISTA ON NAME BRAND MACHINE PLEASE

Have not got to the point where it will scan bios and return value for proper machine.When Vista boots up runonce will run my bat,menu pops up hit the number for the machine you are installing on,then my script auto returns value for the right os(ultimate,buisness,premium,basic,)then install right slp key and cert file.Bat file reads

Code: Select all
@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\OEM set CDROM=%%i

cscript %CDROM%\OEM\vista_act.vbs


need to make oem folder on vista disc and sub-files for the oem machines
example(OEM\DELL\CERT.XRM-MS)NO NEED FOR SLP KEY IN THAT FOLDER IT WILL BE IN THE VBS SCRIPT.

I have tested this on an Acer as long as I run my script manually with cscript works fine.

If anything could be change to run better please let me know and I will try it.

Heres my problem not sure how to runonce on vista yet,all I need is to run that bat file on first login.
User avatar
laddanator
Member

Posts: 40
Users Information
Joined: Tue Feb 27, 2007 2:23 pm

Postby TwoJ » Sat Jun 21, 2008 6:16 am

Thanks laddanator

Its good someones looking forward, i still feel still stuck in getting through XP!

A few quick questions if you could since i'm still trying to make sense of all this;

1) Is your program using VBS?

2) Does the origial oemscan.exe from xehqter use vbs, if not what did he write it in?

3) Do you know what languages, scripts can run at that time (T39)? From what i read from siginet the problem of setting the product key at t39 is determing the OS at T39 and since wmi seems not to be available at the time the key needs to be entered there is no easy way of determining the OS being installed

4) what do you think the chanhces are of having a oemscan that can do both vista & XP? a universal oemscan that is a bit more opensource that can be modified for allowing additions?

maybe thats enough for the moment - allow information to absorb slowly into the little grey cells
TwoJ
Senior Member

Posts: 465
Users Information
Joined: Fri Apr 06, 2007 1:09 pm

VBS

Postby laddanator » Sat Jun 21, 2008 9:05 am

Yes as for now I am using a bat file to run my vbs file for now going to make it an exe but in test mode right now,as far as a key there are no values at the time Vista as for a key since the key determines the os(ultimate,basic,premium,buisness).The method that works for now is that that when Vista ask for a key dont enter one and uncheck auto activate box, will give you a warning click no,then on next screen pick the OS that is labled on the manufactures product sticker and agree to the terms. I used WAIK program to create an Autounattend.xml file that goes on the root of the drive and looks something like this.
Code: Select all
<RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\AppsRoot.txt SETX AppsRoot %i: -m"</Path>
                    <WillReboot>OnRequest</WillReboot>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Order>2</Order>
                    <Path>%WINDIR%\system32\sysprep\sysprep.exe /quiet /audit</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Order>3</Order>
                    <Path>cmd /c %AppsRoot%\Install\Vistaoemscan\vistaoemscan.bat</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Order>4</Order>
                    <Path>cmd /c %AppsRoot%\Install\Spybot\Spybot152.exe</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Order>5</Order>
                    <Path>cmd /c %AppsRoot%\Install\Adobe\AdobeReader812.exe /sAll /rs</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Order>6</Order>
                    <Path>cmd /c %AppsRoot%\Install\Openoffice\OpenOffice.exe -ai2</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Order>7</Order>
                    <Path>%WINDIR%\system32\sysprep\sysprep.exe /quiet /oobe /reboot</Path>
                    <WillReboot>Never</WillReboot>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </settings>
    <cpi :o fflineImage cpi:source="wim:G:/VISTA_SP1_CD/sources/install.wim#Windows Vista HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>



After Vista reboots from loading file the Autounattend.xml file goes to work but you have to use the command in you auto file

Code: Select all
<Path>%WINDIR%\system32\sysprep\sysprep.exe /quiet /audit</Path>


to start file,and the command

Code: Select all
<Path>%WINDIR%\system32\sysprep\sysprep.exe /quiet /oobe /reboot</Path>\sysprep\sysprep.exe /quiet /oobe /reboot</Path>


to end it,what happens is that my bat file gets run at this point so now there is a value of the OS to be returned,choose the manufacture from the menu by entering the right number choose and seat back and relax the rest is taken care of,the right cert file is copy along with the return value,the key is installed.Hope to soon figure out how to return the value of the manufacture then you want have to enter a number it all will be auto done,the good thing about this method is that it will run after the files have been copied and the values will return the proper OS.Vista wants a key to early into install no way to auto enter a key at this point.
User avatar
laddanator
Member

Posts: 40
Users Information
Joined: Tue Feb 27, 2007 2:23 pm

Progress 2

Postby laddanator » Fri Jun 27, 2008 5:21 pm

Ok making some really good progress decided not use the sysprep command to run this,changed to first log on command and then added a line to vbs script to turn off Admin account one process was complete you dont want everyone logging in as admin,if you dont use that line you will have two log in accounts on boot up the owner then admin

Wshell.exec("net user administrator /active:no")

its pretty nice when computer boots up my menu pops up enter the number for the manfacture and the the os type is returned inserts proper key and cert file auto,going to do a write up before long and upload my 7z file with the vbs file,oemscan.cmd file,and example folders .I have loaded Vista 20times and this has worked everytime.
User avatar
laddanator
Member

Posts: 40
Users Information
Joined: Tue Feb 27, 2007 2:23 pm

Still Going

Postby laddanator » Mon Jul 28, 2008 5:53 pm

Hello everyone havent forgot about you guys I tell you the menu thing I got going works so good I havent really been trying to change anything the hard part is trying to scan for a bios string and returning a value heres and update

this is the unattended.xlm goes on root of cd

Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
- <unattend xmlns="urn:schemas-microsoft-com:unattend">
- <settings pass="oobeSystem">
- <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <AutoLogon>
  <Username>Administrator</Username>
  <LogonCount>1</LogonCount>
  <Enabled>true</Enabled>
  </AutoLogon>
- <FirstLogonCommands>
- <SynchronousCommand wcm:action="add">
  <Order>1</Order>
  <CommandLine>%WINDIR%\system32\menu\oemscan.cmd</CommandLine>
  </SynchronousCommand>
  </FirstLogonCommands>
  </component>
  </settings>
  <cpi:offlineImage cpi:source="wim:h:/vista_all/june_vista_test_1/sources/install.wim#Windows Vista HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
  </unattend>

this is my updated vscript goes in oem folder along with cert files on root of cd

Code: Select all
Option Explicit

Dim Wshell, strRoot, EditionID, slmgr, ScriptPath
Set Wshell = CreateObject("WScript.Shell")

Wshell.exec("net user administrator /active:no")

Dim i
Dim choice
Dim oemName
choice = ""

'to add more brands, continue this pattern, brands(x) = "oemname" and change the number
'in Dim brands(x) to whatever the last number is

Wscript.Echo "IF NOT INSTALLING VISTA ON NAME BRAND MACHINE PLEASE CLOSE THIS WINDOW: "

Dim brands(9)
brands(0) = "ACER"
brands(1) = "ASUS"
brands(2) = "COMPAQ"
brands(3) = "DELL"
brands(4) = "eMACHINES"
brands(5) = "GATEWAY"
brands(6) = "HP"
brands(7) = "LENOVO"
brands(8) = "SONY"
brands(9) = "TOSHIBA"
Wscript.Echo "Choose the type of computer:"
For i = 0 to UBound(brands)
Wscript.Echo i & ". " & brands(i)
Next

Wscript.Echo "Enter a Number: "
choice = Wscript.StdIn.Read(2)

'get editionID from registry
strRoot = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EditionID"
EditionID = Wshell.RegRead(strRoot)
slmgr = "wscript " & Wshell.ExpandEnvironmentStrings("%windir%") & "\system32\slmgr.vbs"
ScriptPath = Left(WScript.ScriptFullName, _
    Len(WScript.ScriptFullName) - Len(WScript.ScriptName))


Select Case EditionID

'change these to the right codes
Case "HomeBasic"   
   Wshell.exec(slmgr & " -ipk 12345-12345-12345-12345-12345")
Case "HomePremium"
   Wshell.exec(slmgr & " -ipk 12345-12345-12345-12345-12345")
Case "Business"   
   Wshell.exec(slmgr & " -ipk 12345-12345-12345-12345-12345")
Case "Ultimate"
   Wshell.exec(slmgr & " -ipk 12345-12345-12345-12345-12345")
End Select


'install cert.XRM-MS based on choice made

oemName = brands(choice)
Wshell.exec(slmgr & " -ilc " & Chr(34) & ScriptPath & oemName & Chr(92) & oemName & ".XRM-MS" & Chr(34))


msgbox "IMPORTANT_REBOOT_PC_AFTER_LAST_FILE_HAS_BEEN_COPIED.Please Wait 1 Minute Or So For The Activation Process To Complete,And Two Message Boxes To Appear(Oemname.xrm-ms File Copied And Product Key Copied Completed Boxes),Superman Thanks You For Your Patience."


(My nick name at work is Superman crazy I know)

Then I mount install.wim file with imagex
place a folder in system32 folder called menu(you have to mount each version and do this)inside the menu folder I put this oemscan.cmd

Code: Select all
@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\OEM set CDROM=%%i

cscript %CDROM%\OEM\vista_act.vbs


BOOTS INTO ADMIN ACCOUNT PICK THE NUMBER FROM MENU YOU NEED WHEN FILES COPY REBOOT (IN THE BEGINNING OF MY SCRIPT TURNS ADMIN ACCOUNT OFF) REBOOT AND YOU ARE DONE.

Going to make this an exe soon I hope,but really this is a fail safe way to do this,I have had oemscan for XP return the wrong machine some like when installing Pro on after market Asus oemscan returns IBM value for some reason but other than that the oemscan is a great program and it has come in handy
User avatar
laddanator
Member

Posts: 40
Users Information
Joined: Tue Feb 27, 2007 2:23 pm

Postby TwoJ » Tue Jul 29, 2008 3:50 am

laddanator - great stuff!

what do you think about question 4 from my last post?
About having an oemscan that can do XP & Vista? a replacement for oemscan that can be customized more.

I like the idea of choosing the OEM, i too have had a 'false positive' detection, what do you think of the program automatically detecting the oem, like the present oemscan, but it presents the option to change the oem?
TwoJ
Senior Member

Posts: 465
Users Information
Joined: Fri Apr 06, 2007 1:09 pm

Maybe

Postby laddanator » Tue Jul 29, 2008 8:21 am

what do you think about question 4 from my last post?
About having an oemscan that can do XP & Vista? a replacement for oemscan that can be customized more.


I like the idea of choosing the OEM, i too have had a 'false positive' detection, what do you think of the program automatically detecting the oem, like the present oemscan, but it presents the option to change the oem?


Good idea will work on it to give you a better answer

That may can be done,let me tell you what I found today I downgraded a Acer laptop with Vista to XP Pro and oemscan pickup the bios string and preactivated that Acer I was really shocked being Visata has the slp 2.0
and the only reason I used that pro disc is because it was already made and didnt expect oem scan to find a match,so now(with permission from xehqter to build on his great program)I may be able to get something good together that will scan both.

The code above I hope to put it all together and zip file each part with instructions on all and get permission to upload it here with example folder and where to put this stuff
User avatar
laddanator
Member

Posts: 40
Users Information
Joined: Tue Feb 27, 2007 2:23 pm

Postby mr_smartepants » Tue Jul 29, 2008 9:21 am

Wow, great job!
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

Next

Return to The OEM A.C.T.

Who is online

Users browsing this forum: No registered users and 3 guests

cron