Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


kev_147

Automatic creation of oeminfo.ini

Recommended Posts

Vista has a new way to do Oeminfo etc. It's all through the registry now...Does this sfx work for Vista as well?

EDIT: I get the same error on XP as mentioned above.

I wrote this script on Vista, when I get a chance to install XP I will re do the script so it will work on XP.

Hi there,

Have you had a chance to check the script on XP? Also something i have noticed when testing WMI queries on OEM systems is that by extracting model and manufacturer from Win32_ComputerSystem will often give unwanted results... from example if i check a gigabyte motherboard based system i get - Model: AWRDACPI and Manufacturer: GBT___ however if i query Win32_BaseBoard i get Model: 965P-S3 and Manufacturer: Gigabyte Technology Co., Ltd. which is correct. I have done the same tests on a dell and using the Win32_BaseBoard seems to give the best results for these 2 specific fields.

Look forward to your XP based version...

PS the only issue with v5 script is the PCSystemType Section - i have had a look using WMI Code creator and it appears that XP has SystemType not PCSystemType (seems to be new with Vista). so if you change:

	  If objItem.CSystemType = 0 Then PCType = "Unspecified"
If objItem.PCSystemType = 1 Then PCType = "Desktop"
If objItem.PCSystemType = 2 Then PCType = "Mobile"
If objItem.PCSystemType = 3 Then PCType = "Work Station"
If objItem.PCSystemType = 4 Then PCType = "Enterprise Server"
If objItem.PCSystemType = 5 Then PCType = "Small Office and Home Office (SOHO) Server"
If objItem.PCSystemType = 6 Then PCType = "Appliance PC"
If objItem.PCSystemType = 7 Then PCType = "Performance Server"
If objItem.PCSystemType = 8 Then PCType = "Maximum"

to

PCType = objItem.SystemType

This provides a simple work around until you get a change to update the code in a better way... (am a novice and am just experimenting :) )

Update: I am working on an updated version at the moment using all the nice code that you have worked so hard on and adding some other things. Will be testing on Windows XP, Vista and 2003. I am hoping to have a version that will run on all. Hope to have something up here in the next few days - have been having to teach myself VBScript as i go :)

Cheers,

Darren

Edited by `Felix`

Share this post


Link to post
Share on other sites

I have made some changes so it should run on XP I

1:\ Made some changes to the network adapter output

2:\ Made changes to the mother board output

'/-> Script By Gunsmokingman
Option Explicit
'/->
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
'/->
Dim objFolder, Ts, objFile
Dim ObjWMI, objItem, colItems
Dim dtmDate, dtm
Dim C1, Cnt, i, IP
'/->
Dim Act : Set Act = CreateObject("Wscript.Shell")
Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Sys32 : Sys32 = act.ExpandEnvironmentStrings("%Windir%\System32")
Dim Ini : Ini = "\oeminfo.ini"
Dim strComputer : strComputer = "."
Dim VBS : VBS = Act.ExpandEnvironmentStrings("%Temp%\" & Fso.GetFile(WScript.ScriptFullName).Name)
'/->
Dim MB : MB = 1024 * 1024
Dim GB : GB = 1024 * 1024 * 1024
Dim Line : Line = "Line" & C1
Dim S_3 : S_3 = Space(3)
Dim S_5 : S_5 = Space(5)
Dim TitleL : TitleL = S_5 & Chr(171) & S_3
Dim TitleR : TitleR = S_3 & Chr(187) & S_5
Dim WmiVar : WmiVar = wbemFlagReturnImmediately + wbemFlagForwardOnly
'/->
Set Ts = Fso.OpenTextFile(Sys32 & Ini, 2, True)
'/->
' WMI Section
'/->
Set ObjWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
'/->
' Check For What OS This Is Running On
'/->
Dim Os_Name
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", WmiVar)
For Each objItem In colItems
Os_Name = objItem.Caption
Next
'/->
' Separate The Output For Either XP Or Vita
'/->
Dim PCType, RamTotal
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", WmiVar)
'/-> Vista
If Instr(LCase(Os_Name),"vista") Then
For Each objItem In colItems
RamTotal = FormatNumber(objItem.TotalPhysicalMemory/1048576) & " MB"
If objItem.PCSystemType = 0 Then PCType = "Unspecified"
If objItem.PCSystemType = 1 Then PCType = "Desktop"
If objItem.PCSystemType = 2 Then PCType = "Mobile"
If objItem.PCSystemType = 3 Then PCType = "Work Station"
If objItem.PCSystemType = 4 Then PCType = "Enterprise Server"
If objItem.PCSystemType = 5 Then PCType = "Small Office and Home Office (SOHO) Server"
If objItem.PCSystemType = 6 Then PCType = "Appliance PC"
If objItem.PCSystemType = 7 Then PCType = "Performance Server"
If objItem.PCSystemType = 8 Then PCType = "Maximum"
Ts.WriteLine "[General]"
Ts.WriteLine "Manufacturer = " & objItem.Manufacturer
Ts.WriteLine "Model Type = " & objItem.Model
Ts.WriteLine ""
Next
End If
'/-> XP
Dim XpType
If Instr(LCase(Os_Name),"xp") Then
For Each objItem In colItems
XpType = objItem.SystemType
RamTotal = FormatNumber(objItem.TotalPhysicalMemory/1048576) & " MB"
Ts.WriteLine "[General]"
Ts.WriteLine "Manufacturer = " & objItem.Manufacturer
Ts.WriteLine "Model Type = " & objItem.Model
Ts.WriteLine ""
Next
End If
'/----------------------------------------------------------------------->
Ts.WriteLine "[Support Information]"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= For Technical Support:"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= to obtain updated drivers or for information on frequently"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= asked questions, visit the MyCompany technical"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= support web site at:"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= http://www.mycompany.com/techsupport."
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "OPERATING SYSTEM INFORMATION" & TitleR
C1 = C1 +1
If Len(PCType) > 1 Then
Ts.WriteLine "Line" & C1 & "=" & S_3 & " PC Type " & vbTab & PCType
Else
Ts.WriteLine "Line" & C1 & "=" & S_3 & " PC Type " & vbTab & XpType
End If
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Total Memory " & vbTab & RamTotal
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "OS Name " & vbTab & objItem.Caption
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "OS Version " & vbTab & objItem.Version
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Install Date " & vbTab & WMIDateStringToDate(objItem.InstallDate)
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Computer Name " & vbTab & objItem.CSName
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Organization " & vbTab & objItem.Organization
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "MOTHERBOARD INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "System Type " & vbTab & objItem.SystemType
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_BaseBoard", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Product " & vbTab & objItem.Product
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_Processor", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "CPU INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "CPU Name " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Processor Speed " & vbTab & objItem.CurrentClockSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Size " & vbTab & objItem.L2CacheSize
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Speed " & vbTab & objItem.L2CacheSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
Cnt = Cnt + 1
If Cnt = 1 Then
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "GRAPHICS CARD INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Driver Version " & vbTab & objItem.DriverVersion
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter Ram " & vbTab & objItem.AdapterRAM /MB & " MB"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter DAC Type" & vbTab & objItem.AdapterDACType
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
'/-> Reset Cnt To Zero
Cnt = 0
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_SoundDevice", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
If InStr(objItem.DeviceID, "PCI") Then
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "SOUND CARD INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer By " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
Dim Adapter, Card, Ip1, Ip2, NetMadeBy
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each ObjItem in ColItems
If isNull(ObjItem.IPAddress) Then
Else
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "NETWORK ADAPTER INFORMATION" & TitleR
NetMadeBy = Split(ObjItem.Description," ")
Card = Len(NetMadeBy(0))
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter Name " & vbTab & ObjItem.Description
Ip = Join(ObjItem.IPAddress, ",")
Ip1 = Split(IP,",")
For Each Ip2 in Ip1
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Ip Address " & vbTab & Ip2
C1 = C1 +1
Adapter_Info1()
Ts.WriteLine "Line" & C1 & "="
Exit For
Next
End If
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_PnPEntity where ClassGuid = '{4D36E966-E325-11CE-BFC1-08002BE10318}'",,48)
'/----------------------------------------------------------------------->
For Each objItem in colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "HARDWARE ABSTRACTION LAYER INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Hal Details " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", WmiVar)
'/----------------------------------------------------------------------->
Dim DrvType, Rpt
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & Ucase("Disk Drive Information") & TitleR
For Each objItem in colItems
DrvType = objItem.MediaType
C1 = C1 +1
CheckDrvType()
Ts.WriteLine "Line" & C1 & "=" & Rpt
Rpt = ""
Next
'/----------------------------------------------------------------------->
Function WMIDateStringToDate(dtmDate)
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
'/----------------------------------------------------------------------->
Function Adapter_Info1()
Dim ColNet, M1, NetItem
Set ColNet = ObjWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapter",,48)
For Each NetItem in ColNet
If Instr(Lcase(NetItem.Manufacturer),LCase("Microsoft")) Then
Else
M1 = Left(NetItem.Manufacturer,Card)
M1 = M1
If InStr(NetMadeBy(0),M1) Then
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer " & vbTab & NetItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "MAC Address " & vbTab & NetItem.MACAddress
End If
End If
Next
End Function
'/----------------------------------------------------------------------->
Dim DrvDetails
Function CheckDrvType()
DrvDetails = objItem.Description
'/-> Floppy Disk Check
If DrvType = 5 then
Rpt = S_3 & "FloppyDisk " & vbTab & objItem.Name & "\"
End If
'/-> CD Or DVD Check
If DrvType = 11 Then
If InStr(DrvDetails,"CD") Or InStr(DrvDetails,"Cd") Or InStr(DrvDetails,"cd") Then
Rpt = S_3 & "Disk Drive " & vbTab & objItem.Name & "\" & vbTab & "Disk Type" & Space(2) &_
Chr(187) & Space(2) & DrvDetails
End If
If InStr(DrvDetails,"Dvd") Or InStr(DrvDetails,"DVD") Or InStr(DrvDetails,"dvd") Then
Rpt = S_3 & "Disk Drive " & vbTab & objItem.Name & "\" & vbTab & "Disk Type" & Space(2) &_
Chr(187) & Space(2) & DrvDetails
End If
End If
'/-> Hard Drive Check
If DrvType = 12 Then
Rpt = S_3 & "Hard Drive " & vbTab & objItem.Name & "\" & vbTab & "Disk Size" & Space(2) &_
Chr(187) & Space(2) & (Left(Round(objItem.Size /GB, 5),5)) & " GB"
End If
End Function
'/----------------------------------------------------------------------->
Ts.Close
Act.Run("Notepad.exe " & Sys32 & Ini)

MkOem_v6.exe

Share this post


Link to post
Share on other sites

Hi Gunsmokingman,

Yes your updated script does work on XP now - thanks for your hard work and update. Just some feedback on things i notice with it;

1. If you have more than 1 sound/multimedia card installed - say a tv tuner card and a voice modem, the sound card section only picks up the last sound card in the list.

2. PCtype is correct, however because i am a pain in the bum i like to know if it is a portable, laptop, server, desktop or workstation... :)

3. If you have VMware installed on the computer - the network section picks up all the vmware network adaptors..

I liked what you did with v5 and have been researching WMI and VBScripting (and learning how to write some) really for the first time of the last 3 days as a result of your script to see what i could do with it and make it XP compatiable whilst waiting on your update as i know people don't always have the time to spend updating scripts etc.

What i found was fantastic on what you can do with WMI and i thankyou for piquing my interest! :D

I have made a number of changes and i hope improvements to the v5 script base you had provided to all. I have tested this version on both XP and Vista on 4 different machines including Vmware and it works wonderfully. The issues i raised above i beleive i have resolved in the updates i have made. In addition i have put in some changes that will allow anyone to just change some simple variables at the top of the script to tweak their informational requirements - specifically; Modifying the "Company Name" and "Support URL"

Anyway here is my version (I will call 6.1.(date of build)) for all to have a look at and use if they wish. I am working on a further update that will also copy the OEMLogo.bmp to the %windir%\system32 folder and a command line switch to enable the notepad option to open the file on creation as i personally would not have this happen as i would be running in a completely unattended environment.

 '/-> Original script By Gunsmokingman
'/-> modified and updated by FeLix
'/-> Tested with Windows XP & Vista.
'/-> Version 6.1.20080519
'/->
Option Explicit
'/----------------------------------------------------------------------->
'/-> Change the variables below to reflect your Company information.
Dim sURL : sURL = "http://www.mycompany.com/techsupport."
Dim mCompany : mCompany = "My Company Name"
'/-> End of Company Information changes
'/----------------------------------------------------------------------->
'/->
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
'/->
Dim objFolder, Ts, objFile
Dim ObjWMI, objItem, colItems
Dim dtmDate, dtm
Dim C1, Cnt, i, objItemConfig, strIP, strIPAddr
'/->
Dim Act : Set Act = CreateObject("Wscript.Shell")
Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Sys32 : Sys32 = act.ExpandEnvironmentStrings("%Windir%\System32")
Dim Ini : Ini = "\oeminfo.ini"
Dim strComputer : strComputer = "."
Dim VBS : VBS = Act.ExpandEnvironmentStrings("%Temp%\" & Fso.GetFile(WScript.ScriptFullName).Name)
'/->
Dim MB : MB = 1024 * 1024
Dim GB : GB = 1024 * 1024 * 1024
Dim Line : Line = "Line" & C1
Dim S_3 : S_3 = Space(3)
Dim S_5 : S_5 = Space(5)
Dim TitleL : TitleL = S_5 & Chr(171) & S_3
Dim TitleR : TitleR = S_3 & Chr(187) & S_5
Dim WmiVar : WmiVar = wbemFlagReturnImmediately + wbemFlagForwardOnly
'/->
Set Ts = Fso.OpenTextFile(Sys32 & Ini, 2, True)
'/->
' WMI Section
'/->
Set ObjWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", WmiVar)
'/----------------------------------------------------------------------->
Dim PCType, RamTotal, sType
For Each objItem In colItems
RamTotal = FormatNumber(objItem.TotalPhysicalMemory/1048576) & " MB"
Ts.WriteLine "[General]"
Ts.WriteLine "Manufacturer = " & objItem.Manufacturer
Ts.WriteLine "Model = " & objItem.Model
Ts.WriteLine "SupportURL = " & sURL
Ts.WriteLine ""
sType = objItem.Description
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_SystemEnclosure", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
PCType = "Computer Type Unknown"
If Join(objItem.ChassisTypes, ",") = 1 Then PCType = "Virtual PC Environment"
If Join(objItem.ChassisTypes, ",") = 2 Then PCType = "Unknown"
If Join(objItem.ChassisTypes, ",") = 3 Then PCType = "Desktop"
If Join(objItem.ChassisTypes, ",") = 4 Then PCType = "Low Profile Desktop"
If Join(objItem.ChassisTypes, ",") = 5 Then PCType = "Pizza Box"
If Join(objItem.ChassisTypes, ",") = 6 Then PCType = "Mini Tower"
If Join(objItem.ChassisTypes, ",") = 7 Then PCType = "Tower"
If Join(objItem.ChassisTypes, ",") = 8 Then PCType = "Portable"
If Join(objItem.ChassisTypes, ",") = 9 Then PCType = "Laptop"
If Join(objItem.ChassisTypes, ",") = 10 Then PCType = "Notebook"
If Join(objItem.ChassisTypes, ",") = 11 Then PCType = "Handheld"
If Join(objItem.ChassisTypes, ",") = 12 Then PCType = "Docking Station"
If Join(objItem.ChassisTypes, ",") = 13 Then PCType = "All-in-One"
If Join(objItem.ChassisTypes, ",") = 14 Then PCType = "Sub-Notebook"
If Join(objItem.ChassisTypes, ",") = 15 Then PCType = "Space Saving"
If Join(objItem.ChassisTypes, ",") = 16 Then PCType = "Lunch Box"
If Join(objItem.ChassisTypes, ",") = 17 Then PCType = "Main System Chassis"
If Join(objItem.ChassisTypes, ",") = 18 Then PCType = "Expansion Chassis"
If Join(objItem.ChassisTypes, ",") = 19 Then PCType = "Sub-Chassis"
If Join(objItem.ChassisTypes, ",") = 20 Then PCType = "Bus Expansion Chassis"
If Join(objItem.ChassisTypes, ",") = 21 Then PCType = "Peripheral Chassis"
If Join(objItem.ChassisTypes, ",") = 22 Then PCType = "Storage Chassis"
If Join(objItem.ChassisTypes, ",") = 23 Then PCType = "Rack Mount Chassis"
If Join(objItem.ChassisTypes, ",") = 24 Then PCType = "Sealed-Case PC"
Next
'/----------------------------------------------------------------------->
Ts.WriteLine "[Support Information]"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= For Technical Support:"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= to obtain updated drivers or for information on frequently"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= asked questions, visit the " & mCompany & " technical"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "= support web site at: " & sURL
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_BaseBoard", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
If Trim(objItem.SerialNumber) = "" Then
Ts.WriteLine "Line" & C1 & "=" & vbTab & " SERIAL NUMBER:: No serial number found"
Else
Ts.WriteLine "Line" & C1 & "=" & vbTab & " SERIAL NUMBER: " & objItem.SerialNumber
End If
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "OPERATING SYSTEM INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & " PC Type " & vbTab & PCType
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Total Memory " & vbTab & RamTotal
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "OS Name " & vbTab & objItem.Caption
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "OS Version " & vbTab & objItem.Version
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Install Date " & vbTab & WMIDateStringToDate(objItem.InstallDate)
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Computer Name " & vbTab & objItem.CSName
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Organization " & vbTab & objItem.Organization
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_BaseBoard", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "MOTHERBOARD INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & sType
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Model Type " & vbTab & objItem.Product
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "System Type " & vbTab & PCType
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_Processor", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "CPU INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "CPU Name " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Processor Speed " & vbTab & objItem.CurrentClockSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Size " & vbTab & objItem.L2CacheSize
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Speed " & vbTab & objItem.L2CacheSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
Cnt = Cnt + 1
If Cnt = 1 Then
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "GRAPHICS CARD INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Driver Version " & vbTab & objItem.DriverVersion
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter Ram " & vbTab & objItem.AdapterRAM /MB & " MB"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter DAC Type" & vbTab & objItem.AdapterDACType
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
'/-> Reset Cnt To Zero
Cnt = 0
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_SoundDevice", "WQL", WmiVar)
'/----------------------------------------------------------------------->
' Cnt = Cnt + 1
' If Cnt = 1 Then
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "MULTIMEDIA/SOUND CARD INFORMATION" & TitleR
C1 = C1 +1
For Each objItem In colItems
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer By " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
' End If
Next
'/-> Reset Cnt To Zero
' Cnt = 0
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("Select * From Win32_NetworkAdapter " & "Where NetConnectionID = 'Local Area Connection'")
'/----------------------------------------------------------------------->
For Each objItem in colItems
Set objItemConfig = objWMI.Get("Win32_NetworkAdapterConfiguration.Index=" & objItem.Deviceid)
If Not IsNull (objItemConfig.IPAddress) Then
For Each strIPAddr In objItemConfig.IPAddress
strIP = strIP & strIPAddr & " "
Next
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "NETWORK ADAPTER INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter Name " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer By " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "MAC Address " & vbTab & objItem.MACAddress
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "IP Address " & vbTab & strIP
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("Select * From Win32_NetworkAdapter " & "Where NetConnectionID = 'Wireless Network Connection'")
'/----------------------------------------------------------------------->
For Each objItem in colItems
Set objItemConfig = objWMI.Get("Win32_NetworkAdapterConfiguration.Index=" & objItem.Deviceid)
strIP = ""
For Each strIPAddr In objItemConfig.IPAddress
strIP = strIP & strIPAddr & " "
Next
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "WIRELESS NETWORK ADAPTER INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Adapter Name " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer By " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "MAC Address " & vbTab & objItem.MACAddress
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "IP Address " & vbTab & strIP
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_PnPEntity where ClassGuid = '{4D36E966-E325-11CE-BFC1-08002BE10318}'",,48)
'/----------------------------------------------------------------------->
For Each objItem in colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "HARDWARE ABSTRACTION LAYER INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Hal Details " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", WmiVar)
'/----------------------------------------------------------------------->
Dim DrvType, Rpt
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & Ucase("Disk Drive Information") & TitleR
For Each objItem in colItems
DrvType = objItem.MediaType
C1 = C1 +1
CheckDrvType()
Ts.WriteLine "Line" & C1 & "=" & Rpt
Rpt = ""
Next
'/----------------------------------------------------------------------->
Function WMIDateStringToDate(dtmDate)
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
'/----------------------------------------------------------------------->
Dim DrvDetails
Function CheckDrvType()
DrvDetails = objItem.Description
'/-> Floppy Disk Check
If DrvType = 5 then
Rpt = S_3 & "FloppyDisk " & vbTab & objItem.Name & "\"
End If
'/-> CD Or DVD Check
If DrvType = 11 Then
If InStr(DrvDetails,"CD") Or InStr(DrvDetails,"Cd") Or InStr(DrvDetails,"cd") Then
Rpt = S_3 & "Disk Drive " & vbTab & objItem.Name & "\" & vbTab & "Disk Type" & Space(2) &_
Chr(187) & Space(2) & DrvDetails
End If
If InStr(DrvDetails,"Dvd") Or InStr(DrvDetails,"DVD") Or InStr(DrvDetails,"dvd") Then
Rpt = S_3 & "Disk Drive " & vbTab & objItem.Name & "\" & vbTab & "Disk Type" & Space(2) &_
Chr(187) & Space(2) & DrvDetails
End If
End If
'/-> Hard Drive Check
If DrvType = 12 Then
Rpt = S_3 & "Hard Drive " & vbTab & objItem.Name & "\" & vbTab & "Disk Size" & Space(2) &_
Chr(187) & Space(2) & (Left(Round(objItem.Size /GB, 5),5)) & " GB"
End If
End Function
'/----------------------------------------------------------------------->
Ts.Close
Act.Run("Notepad.exe " & Sys32 & Ini)
If Fso.FileExists(VBS) Then Fso.DeleteFile(VBS) End If

And here attached is a runtime version as you have also supplied.

MkOem_v6.1.20080519.exe

Share this post


Link to post
Share on other sites
Felix thank you for finding a way to get the PCType.

No problems - my pleasure, was happy to learn some new stuff myself. And you HTA version looks good BTW :D

Share this post


Link to post
Share on other sites

Hi all, :hello:

Well after a great learning curve and lots of research, trial and error, testing and hard work i am pleased to present you all with my flavoured update of Gunsmokingman's mkoem.

Features;

  • New Updated runtime module - now using 7zip with Oleg Scherbakov's 7z SFX Modified Module.
  • New Command-line options
    283m7865se85np0zt9.jpg
  • New Support for Windows 2000, XP, 2003, Vista and 2008.
  • New OEMLogo included. (2 types - 2000/XP/2003 and Vista/2008)
  • New Wireless Network Card now Supported
  • New Support/Helpdesk hours entry
  • New Support/Helpdesk phone number entry
  • New Machine Serial number inclusion (If computer motherboard supports it)
  • Updated Cleaner more accurate code with some checks and balances
  • Updated Correct Machine type support.
  • Updated Support for Multiple Sound/Multimedia Cards
  • Updated Operating System version now includes Service Pack version

Q&A

Q. How do i change the OEMlogo.bmp files that are included to my files?

A. The Installer is created with 7-zip - simply open the archive and replace the *.bmp files with your own. (xplogo.bmp & vistalogo.bmp) The correct file will be installed based on your operating system.

Q. What is the correct image sizes for each oemlogo.bmp file?

A. xplogo.bmp - 180x114 pixels

vistalogo.bmp - 120 x 120 pixels

Q. When I use /c:Your Company Name, the company name is not completely added to my OEM information - how do I fix this?

A. Make sure that the Company Name is in "quotes". Same answer applies for /u:["Your Company Support URL"].

Q. How do I stop the installer adding oemlogo.bmp file to my system?

A. The Installer is created with 7-zip - simply open the archive and remove the *.bmp file.

Well I think that about covers it, however if you have any questions or ideas/suggestions for further updates, please let me know, i certainly have had a lot of fun and enjoyment learning more about vbscript and the power of WMI.

Add-OEM Source Code

add_oem_v7.1.20080608.exe

Edited by `Felix`

Share this post


Link to post
Share on other sites

Felix, since I build/modify boxes on the side, I've been looking for something exactly like this. It's really great but I have a challenge for you. I tried using it on this upgrade I was doing and came across the problem described in "The L2CacheSize property of the Win32_Processor WMI class may not be populated correctly on specific types of processors".

I tried this hack:

'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_Processor", "WQL", WmiVar)
'/----------------------------------------------------------------------->
For Each objItem In colItems
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & TitleL & "CPU INFORMATION" & TitleR
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Manufacturer " & vbTab & objItem.Manufacturer
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "CPU Name " & vbTab & objItem.Name
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Description " & vbTab & objItem.Description
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "Processor Speed " & vbTab & objItem.CurrentClockSpeed & " MHZ"
C1 = C1 +1
'/-> workaround for [url="http://support.microsoft.com/kb/894569"]http://support.microsoft.com/kb/894569[/url]
If IsNull (objItem.L2CacheSpeed) Then
Exit For
Else
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Size " & vbTab & objItem.L2CacheSize
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Speed " & vbTab & objItem.L2CacheSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
If IsNull (objItem.L2CacheSpeed) Then
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_CacheMemory", "WQL", WmiVar)
For Each objItem In colItems
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Size " & vbTab & objItem.MaxCacheSize
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Speed " & vbTab & objItem.CacheSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
Next
End If

But came up with a slight problem. As you see, the workaround reports both L1 & L2 but the cache speed doesn't get reported at all.

Line23= « CPU INFORMATION »

Line24= Manufacturer GenuineIntel

Line25= CPU Name Intel® Pentium® 4 CPU 2.80GHz

Line26= Description x86 Family 15 Model 4 Stepping 1

Line27= Processor Speed 2794 MHZ

Line28= L2 Cache Size 16

Line29= L2 Cache Speed MHZ

Line30=

Line30= L2 Cache Size 1024

Line31= L2 Cache Speed MHZ

I am not going to pretend to understand WMI & VB as well as you and the other contributors do. Got a workaround? I'd appreciate it.

Share this post


Link to post
Share on other sites

Perhaps try changing the code to be more like this. This is just an example.

Dim Cache, colItems, objItem, ObjWMI
Set ObjWMI = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_Processor",,48)

For Each objItem in colItems
'/-> L2 Cache Size And Speed
If objItem.L2CacheSize = 0 Then
Cache = Cache & "L2CacheSize" & vbtab & "No Information" & vbCrLf
Else
Cache = Cache & "L2CacheSize" & vbtab & objItem.L2CacheSize & vbCrLf
End If
If objItem.L2CacheSpeed = 0 Then
Cache = Cache & "L2CacheSize" & vbtab & "No Information" & vbCrLf
Else
Cache = Cache & "L2CacheSpeed" & vbtab & objItem.L2CacheSpeed & vbCrLf
End If
'/-> L3 Cache Size And Speed
If objItem.L3CacheSize = 0 Then
Cache = Cache & "L3CacheSize" & vbtab & "No Information" & vbCrLf
Else
Cache = Cache & "L3CacheSize" & vbtab & objItem.L3CacheSize & vbCrLf
End If
If objItem.L3CacheSpeed = 0 Then
Cache = Cache & "L3CacheSize" & vbtab & "No Information" & vbCrLf
Else
Cache = Cache & "L3CacheSpeed" & vbtab & objItem.L3CacheSpeed & vbCrLf
End If
Next
Wscript.Echo Cache

Share this post


Link to post
Share on other sites

Thanks gunsmokingman, after a little messing around I settled on a mix of both. I figure I might as well make an attempt to get information if there's a work-around (I'm anal like that):

'/
-> workaround for [url="http://support.microsoft.com/kb/894569"]http://support.microsoft.com/kb/894569[/url]
If objItem.L2CacheSize = 0 Then
Exit For
Else
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Size " & vbTab & objItem.L2CacheSize
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Speed " & vbTab & objItem.L2CacheSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
If objItem.L2CacheSize = 0 Then
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT Description, MaxCacheSize, CacheSpeed FROM Win32_CacheMemory", "WQL", WmiVar)
'/----------------------------------------------------------------------->
Dim Ln
Ln = 1
For Each objItem In colItems
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L" & Ln & " " & objItem.Description & vbTab & objItem.MaxCacheSize
C1 = C1 +1
If Not IsNull(objItem.CacheSpeed) Then
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L" & Ln & " Cache Speed " & vbTab & objItem.CacheSpeed
Else
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L" & Ln & " Cache Speed " & vbTab & "No Information"
End If
C1 = C1 +1
Ln = Ln +1
Ts.WriteLine "Line" & C1 & "="
Next
End If

And on the same machine, this yields:

Line23= « CPU INFORMATION »

Line24= Manufacturer GenuineIntel

Line25= CPU Name Intel® Pentium® 4 CPU 2.80GHz

Line26= Description x86 Family 15 Model 4 Stepping 1

Line27= Processor Speed 2794 MHZ

Line28= L1 Cache Memory 16

Line29= L1 Cache Speed No Information

Line30=

Line30= L2 Cache Memory 1024

Line31= L2 Cache Speed No Information

Share this post


Link to post
Share on other sites
Thanks gunsmokingman, after a little messing around I settled on a mix of both. I figure I might as well make an attempt to get information if there's a work-around (I'm anal like that):

'/
-> workaround for [url="http://support.microsoft.com/kb/894569"]http://support.microsoft.com/kb/894569[/url]
If objItem.L2CacheSize = 0 Then
Exit For
Else
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Size " & vbTab & objItem.L2CacheSize
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L2 Cache Speed " & vbTab & objItem.L2CacheSpeed & " MHZ"
C1 = C1 +1
Ts.WriteLine "Line" & C1 & "="
End If
Next
If objItem.L2CacheSize = 0 Then
'/----------------------------------------------------------------------->
Set colItems = ObjWMI.ExecQuery("SELECT Description, MaxCacheSize, CacheSpeed FROM Win32_CacheMemory", "WQL", WmiVar)
'/----------------------------------------------------------------------->
Dim Ln
Ln = 1
For Each objItem In colItems
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L" & Ln & " " & objItem.Description & vbTab & objItem.MaxCacheSize
C1 = C1 +1
If Not IsNull(objItem.CacheSpeed) Then
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L" & Ln & " Cache Speed " & vbTab & objItem.CacheSpeed
Else
Ts.WriteLine "Line" & C1 & "=" & S_3 & "L" & Ln & " Cache Speed " & vbTab & "No Information"
End If
C1 = C1 +1
Ln = Ln +1
Ts.WriteLine "Line" & C1 & "="
Next
End If

And on the same machine, this yields:

Line23= « CPU INFORMATION »

Line24= Manufacturer GenuineIntel

Line25= CPU Name Intel® Pentium® 4 CPU 2.80GHz

Line26= Description x86 Family 15 Model 4 Stepping 1

Line27= Processor Speed 2794 MHZ

Line28= L1 Cache Memory 16

Line29= L1 Cache Speed No Information

Line30=

Line30= L2 Cache Memory 1024

Line31= L2 Cache Speed No Information

Thanks for your message and input... i have read the MS KB and added changes to address this issue.

Share this post


Link to post
Share on other sites

Can anyone help me with the following ideas I'm having with this...

First of all I am actually not at all familiar with programming, but I am actually very find of this "solution" you guys provide here with the VBS script.

Now I have a few questions regarding this...

  1. How can one actually implement this into a install source, install CD if you like?
    In other words, can it be implemented during setup, and if yes how?
  2. Most important one here: if someone uses nLite to customise his/her install source, you can choose to make such oeminfo as well...
    Now is it possible for example to combine both outputs to one single oeminfo.ini file?
    I know one can edit it manually, but would it be possible to to it automated/unattended?

Thank you for your thoughts & help in advance!

Share this post


Link to post
Share on other sites
Can anyone help me with the following ideas I'm having with this...

First of all I am actually not at all familiar with programming, but I am actually very find of this "solution" you guys provide here with the VBS script.

Now I have a few questions regarding this...

  1. How can one actually implement this into a install source, install CD if you like?
    In other words, can it be implemented during setup, and if yes how?
  2. Most important one here: if someone uses nLite to customise his/her install source, you can choose to make such oeminfo as well...
    Now is it possible for example to combine both outputs to one single oeminfo.ini file?
    I know one can edit it manually, but would it be possible to to it automated/unattended?

Thank you for your thoughts & help in advance!

1. Yes you can implement/run it during installation - you can use one of two methods; a. run from the SVCPack.ini file or b. run from Runonce. See information here on how to do it... RunOnce Method

2. Nlite can create oeminfo.ini for you, however if you use this tool, the information that Nlite will write to oeminfo.ini will be overwritten. Having said that, this tool provides far more informative information than the basic stuff that Nlite adds. You could combine the two manually, or if you really wanted to - you could modify the script to append the additional information to oeminfo, however personally i think that would defeat the purpose of the tool.

Hope this answers your questions.

Enjoy!

Share this post


Link to post
Share on other sites
1. Yes you can implement/run it during installation - you can use one of two methods; a. run from the SVCPack.ini file or b. run from Runonce. See information here on how to do it... RunOnce Method

2. Nlite can create oeminfo.ini for you, however if you use this tool, the information that Nlite will write to oeminfo.ini will be overwritten. Having said that, this tool provides far more informative information than the basic stuff that Nlite adds. You could combine the two manually, or if you really wanted to - you could modify the script to append the additional information to oeminfo, however personally i think that would defeat the purpose of the tool.

Hope this answers your questions.

Enjoy!

Thank you for answering my questions!

Was helpful indeed ;)

Edited by Mindwarper

Share this post


Link to post
Share on other sites

Sorry, my english is bad.

I thinking about insert a function to auto search oemlogo by Manufacturer ou Motherboard.

This is possible?

I am Braziliam.

--------------------------------------------------------------------

I done.

Edited by jjunior

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...