Wingens Posted September 13, 2014 Share Posted September 13, 2014 (edited) Hello, I am struggeling (3 weeks now) with reading out the disc drives that are in a system and finding out the diskpart numbers that go with the specific found drives. I need this for our unattended Windows installation using WinPE. I have created an example script wich demonstrates how far i have come and it shows what i want to create. Hope you guys can help me fix this. expandcollapse popup;===================================================================================================================================================================== ; START READING DRIVE MODEL + SIZE ;===================================================================================================================================================================== Dim $sResult $strComputer = "." $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2") $colItems = $objWMIService.ExecQuery("Select * from Win32_DiskDrive") For $objItem In $colItems $sResult &= "" & $objItem.Caption & @LF & " (" & Int($objItem.Size / 1024 ^ 3) & "GB) |" Next ;===================================================================================================================================================================== ; END READING DRIVE MODEL + SIZE ;===================================================================================================================================================================== ; START READING DRIVE NUMBER ;===================================================================================================================================================================== Dim $sResult2 $oWMISvc = ObjGet("winmgmts:\\" & @ComputerName & "\root\cimv2") $colDiskDrives = $oWMISvc.ExecQuery("SELECT * FROM Win32_DiskDrive") For $oDiskDrive In $colDiskDrives $sQuery = "ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" & $oDiskDrive.DeviceId & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition" $colPartitions = $oWMISvc.ExecQuery($sQuery) For $oPartition In $colPartitions $sResult2 &= "" & $oPartition.DeviceId & " |" Next Next ;===================================================================================================================================================================== ; END READING DRIVE NUMBER ;===================================================================================================================================================================== #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> GUICreate("Reading Disc model + Diskpart number", 615, 438, -1, -1) GUICtrlCreateLabel("Disc drive model + size that are in the system.", 135, 85) $Combo1 = GUICtrlCreateCombo("Choose drive...", 128, 100, 250, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($Combo1, "===============================") GUICtrlSetData($Combo1, $sResult) GUICtrlCreateLabel("Diskpart numbers and paritions that are in the system.", 135, 135) $Combo2 = GUICtrlCreateCombo("Choose drive...", 128, 150, 250, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($Combo2, "===============================") GUICtrlSetData($Combo2, $sResult2) GUICtrlCreateLabel("Example of how the pulldown menu should be.", 135, 185) $Combo3 = GUICtrlCreateCombo("Choose Drive...", 128, 200, 250, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($Combo3, "===============================") GUICtrlSetData($Combo3, "Disk 0 : Samsung SSD 840 Series (111GB)") GUICtrlSetData($Combo3, "Disk 1 : WDC WD10EZRX (931GB)") GUICtrlSetData($Combo3, "Disk 2 : Seagate ST3100LPMN (931GB)") $START = GUICtrlCreateButton("START", 60, 300) $CLOSE = GUICtrlCreateButton("CLOSE", 105, 300) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $CLOSE Exit Case $START START() EndSwitch WEnd Func START() $VAR = GUICtrlRead($Combo3) & @CRLF MsgBox(4096, "Read", "Chosen drive model + number + size: " & @CRLF & @CRLF & $VAR) EndFunc Uitlezen hdd + size in combobox.au3 Edited September 13, 2014 by Wingens Link to comment Share on other sites More sharing options...
mikell Posted September 13, 2014 Share Posted September 13, 2014 (edited) To get the connection you need Win32_LogicalDiskToPartition #Include <Array.au3> $myinfos = _GetDriveInfos() _ArrayDisplay($myinfos) Func _GetDriveInfos() Local $var = DriveGetDrive( "FIXED" ) Local $specifs[$var[0]][3] Local $Services = ObjGet('winmgmts:\\.\root\cimv2') $colItems = $Services.ExecQuery("SELECT * FROM Win32_LogicalDiskToPartition", "WQL", 0x10 + 0x20) If IsObj($colItems) then For $objItem In $colItems $Dependent = StringRegExpReplace($objItem.Dependent, '.*"(\w:)".*', "$1") For $i = 1 to $var[0] If $Dependent = $var[$i] Then $specifs[$i-1][0] = $Dependent $Antecedent = StringRegExpReplace($objItem.Antecedent, '.*"([^"]+)".*', "$1") $split = StringSplit($Antecedent, ",") $specifs[$i-1][1] = StringReplace($split[1], "#", "") $specifs[$i-1][2] = StringReplace($split[2], "#", "") Exitloop EndIf Next Next EndIf Return $specifs EndFunc Edited September 13, 2014 by mikell Link to comment Share on other sites More sharing options...
Wingens Posted September 15, 2014 Author Share Posted September 15, 2014 I don't know how to get if you check my code i posted, not the file. How i am able to get the third pulldown menu from the code you suggest... Link to comment Share on other sites More sharing options...
mikell Posted September 15, 2014 Share Posted September 15, 2014 Getting the connections takes a little time Maybe something like this expandcollapse popup#Include <Array.au3> #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> GUICreate("Reading Disc model + Diskpart number", 615, 438, -1, -1) GUICtrlCreateLabel("Disc drive model + size that are in the system.", 135, 85) $Combo1 = GUICtrlCreateCombo("Choose drive...", 128, 100, 250, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($Combo1, "===============================") GUICtrlSetState($Combo1, $GUI_DISABLE) GUICtrlCreateLabel("Diskpart numbers and paritions that are in the system.", 135, 135) $Combo2 = GUICtrlCreateCombo("Choose drive...", 128, 150, 250, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($Combo2, "===============================") GUICtrlSetState($Combo2, $GUI_DISABLE) GUICtrlCreateLabel("Example of how the pulldown menu should be.", 135, 185) $Combo3 = GUICtrlCreateCombo("Choose Drive...", 128, 200, 250, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($Combo3, "===============================") GUICtrlSetState($Combo3, $GUI_DISABLE) $START = GUICtrlCreateButton("START", 60, 300) $CLOSE = GUICtrlCreateButton("CLOSE", 105, 300) GUISetState(@SW_SHOW) $myinfos = _GetDriveInfos() ;_ArrayDisplay($myinfos) Local $sResult = "", $sResult2 = "", $sResult3 = "" For $i = 0 to UBound($myinfos)-1 $sResult &= $myinfos[$i][0] & " " & $myinfos[$i][1] & " : " & $myinfos[$i][4] & " GB|" $sResult2 &= $myinfos[$i][0] & " " & $myinfos[$i][2] & " " & $myinfos[$i][3] & "|" $sResult3 &= $myinfos[$i][2] & " " & $myinfos[$i][3] & " : " & $myinfos[$i][1] & "|" Next GUICtrlSetData($Combo1, $sResult) GUICtrlSetData($Combo2, $sResult2) GUICtrlSetData($Combo3, $sResult3) GUICtrlSetState($Combo1, $GUI_ENABLE) GUICtrlSetState($Combo2, $GUI_ENABLE) GUICtrlSetState($Combo3, $GUI_ENABLE) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $CLOSE Exit Case $START START() EndSwitch WEnd Func START() $VAR = GUICtrlRead($Combo3) & @CRLF MsgBox(4096, "Read", "Chosen drive model + number + size: " & @CRLF & @CRLF & $VAR) EndFunc Func _GetDriveInfos() Local $var = DriveGetDrive( "FIXED" ) , $specifs[$var[0]][5] For $i = 1 to $var[0] Dim $Services = ObjGet('winmgmts:\\.\root\cimv2') Dim $DiskDrives = $Services.ExecQuery("Select Caption, DeviceID, Size From Win32_DiskDrive") For $DiskDrive In $DiskDrives $query = "Associators of {Win32_DiskDrive.DeviceID='" & $DiskDrive.DeviceID & "'} Where AssocClass = Win32_DiskDriveToDiskPartition" Dim $DiskPartitions = $Services.ExecQuery($query) For $DiskPartition In $DiskPartitions Dim $LogicalDisks = $Services.ExecQuery ("Associators of {Win32_DiskPartition.DeviceID='" & $DiskPartition.DeviceID & "'} Where AssocClass = Win32_LogicalDiskToPartition") For $LogicalDisk In $LogicalDisks If $LogicalDisk.DeviceID = $var[$i] Then $specifs[$i-1][0] = StringUpper($var[$i]) $specifs[$i-1][1] = $DiskDrive.Caption Local $split = StringSplit($DiskPartition.DeviceID, ",") $specifs[$i-1][2] = StringReplace($split[1], "#", "") ; disk $specifs[$i-1][3] = StringReplace($split[2], "#", "") ; part $specifs[$i-1][4] = Int($DiskDrive.Size / 1024^3) ;& "GB" EndIf Next Next Next Next Return $specifs EndFunc Link to comment Share on other sites More sharing options...
Wingens Posted September 17, 2014 Author Share Posted September 17, 2014 Thx, i got it to work now even managed to read the disk 0 /1 /2 /3 into my script and edit the answer file for our unattend Windows installation. Exept that now when i boot into WinPE i get an error: Variable must be of type "Object" But when i run it in Windows 7 / 8 it works nicely, can anyone help me? expandcollapse popup#include <WindowsConstants.au3> #include <GUIConstants.au3> #include <Constants.au3> #include <GuiEdit.au3> #include <GuiComboBox.au3> #include <GUIConstantsEx.au3> #include <file.au3> #include <Array.au3> #NoTrayIcon WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_HIDE) ;-----------------------------------------------------Wordt gebruikt om de command-prompt te verbergen ;=====================================START CREATING GUI============================================================== $GUI = GUICreate("", 476, 562, -1, -1, $WS_POPUPWINDOW) ;-----------------------------------------------------$WS_POPUPWINDOW zorgt ervoor dat er geen randen zijn en geen titelbalk. Om te sluiten druk op: Esc GUISetBkColor(0xF0F0F0) ;---------------------------------------------------------------------------------Zorgt voor de juiste achtergrond kleur. GUISetIcon("", -134);-------------------------------------------------------------------------------------Zorgt ervoor, mocht er toch een titelbalk zijn dat er geen icoon in zichtbaar is. GUISetFont(9, 400, 0, "") ;-------------------------------------------------------------------------------Zorgt dat overal in dit script hetzelfde lettertype gebruikt wordt, tenzij anders vermeld. $OS = GUICtrlCreateLabel("Besturingssysteem:", 24, 16, 115, 17) $OSLIST = GUICtrlCreateCombo("", 24, 40, 201, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL));---------------------$CBS_DROPDOWNLIST & $WS_VSCROLL maken de dropdown list als een dropdown menu GUICtrlSetTip($OSLIST, "Kies hier het juiste besturingssysteem") GUICtrlSetData($OSLIST, "Windows Vista") ;------------------------------------------------------------Waarde van het OS pulldown menu GUICtrlSetData($OSLIST, "Windows 7") ; ---------------------------------------------------------------Waarde van het OS pulldown menu GUICtrlSetData($OSLIST, "Windows 8.1", ""); ----------------------------------------------------------Waarde van het OS pulldown menu $VERSION = GUICtrlCreateLabel("Windows versie:", 248, 16, 115, 17) $VERSIONLIST = GUICtrlCreateCombo("", 248, 40, 201, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL));---------------$CBS_DROPDOWNLIST & $WS_VSCROLL maken de dropdown list als een dropdown menu GUICtrlSetTip($VERSIONLIST, "Kies hier de versie van Windows die geïnstalleerd moet worden") GUICtrlSetState($VERSIONLIST, $GUI_DISABLE) $MANUFACTURER = GUICtrlCreateLabel("Activatie en Software:", 24, 72, 115, 17) $MANULIST = GUICtrlCreateCombo("", 24, 96, 201, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL));------------------$CBS_DROPDOWNLIST & $WS_VSCROLL maken de dropdown list als een dropdown menu GUICtrlSetTip($MANULIST, "Kies hier de fabrikant") GUICtrlSetData($MANULIST, "Levix - Zelfbouw") GUICtrlSetState($MANULIST, $GUI_DISABLE) $LICENCE = GUICtrlCreateLabel("Licentie sleutel:", 248, 72, 115, 17) $LICENCEINPUT = GUICtrlCreateInput("", 248, 96, 201, 21, $ES_UPPERCASE) GUICtrlSetTip($LICENCEINPUT, "Vul hier de licentie sleutel in") GUICtrlSetLimit($LICENCEINPUT,29,29) ;--------------------------------------------------------------------Zorgt ervoor dat er minimaal en maximaal 29 characters ingevuld kunnen worden in het veld. GUICtrlSetFont($LICENCEINPUT, 8.5,"","","Consolas","") ;--------------------------------------------------Zorgt ervoor dat het lettertype veranderd in Consolas (de standaard van kladblok) en dat deze op lettergrote: 8.5 wordt weer gegeven. Global $LastInput = "" ;------------------------------------------------------------------------------Waarde nodig voor het stukje script die zorgt voor de - tekens tussen de licentie sleutel. Local $Temp, $LenPart = 5 ;---------------------------------------------------------------------------Waarde die ervoor zorgt dat het - na elke 5 characters wordt geplaatst. $HOSTNAMELABEL = GUICtrlCreateLabel("Computernaam: (optioneel)", 24, 128) $DEBITINPUT = GUICtrlCreateInput("", 24, 152, 73, 21, $ES_NUMBER) GUICtrlSetTip($DEBITINPUT, "Vul hier het debiteurnummer in") $HOSTNAMEINPUT = GUICtrlCreateInput("", 104, 152, 121, 21) GUICtrlSetTip($HOSTNAMEINPUT, "Vul hier de achternaam van de klant in") GUICtrlSetState($DEBITINPUT, $GUI_DISABLE) GUICtrlSetState($HOSTNAMEINPUT, $GUI_DISABLE) $USERLABEL = GUICtrlCreateLabel("Gebruikersnaam: (optioneel)", 248, 128) $USERINPUT = GUICtrlCreateInput("", 248, 152, 201, 21) GUICtrlSetTip($USERINPUT, "Vul hier de Windows gebruikersnaam in") GUICtrlSetState($USERINPUT, $GUI_DISABLE) $OFFICE = GUICtrlCreateLabel("Microsoft Office:", 24, 184, 115, 17) $OFFICELIST = GUICtrlCreateCombo("", 24, 208, 201, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL));---------------$CBS_DROPDOWNLIST & $WS_VSCROLL maken de dropdown list als een dropdown menu GUICtrlSetTip($OFFICELIST, "Kies hier de de juiste Office versie") GUICtrlSetState($OFFICELIST, $GUI_DISABLE) $PARTITION = GUICtrlCreateLabel("Partitie indeling:", 24, 248, 115, 17) $PARTITIONLIST = GUICtrlCreateCombo("", 24, 272, 201, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL));-------------$CBS_DROPDOWNLIST & $WS_VSCROLL maken de dropdown list als een dropdown menu GUICtrlSetTip($PARTITIONLIST, "Kies hier de partitie indeling") $WIPE = GUICtrlSetData($PARTITIONLIST, "Wipe" & " l één partitie", "") ;--------------------------Waarde van het Partitie Indeling pulldown menu $CUSTOM = GUICtrlSetData($PARTITIONLIST, "Custom" & " l aangepaste partitie", "") ;--------------------Waarde van het Partitie Indeling pulldown menu $PARTITION = 1 ;------------------------------------------------------------------------------------------Waarde voor het afvangen van het activeren: Pulldown menu Partitie Groote GUICtrlSetState($PARTITIONLIST, $GUI_DISABLE) $PARTITIONSIZE = GUICtrlCreateLabel("Partitie groote:", 248, 248, 115, 17) $PARTITIONSIZELIST = GUICtrlCreateCombo("", 248, 272, 201, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL));---------$CBS_DROPDOWNLIST & $WS_VSCROLL maken de dropdown list als een dropdown menu GUICtrlSetTip($PARTITIONSIZELIST, "Kies hier het formaat voor de boot partitie") $HDDSIZE = GUICtrlSetData($PARTITIONSIZELIST, "60 GB|80 GB|100 GB|120 GB|160 GB|200 GB|250 GB|300 GB|350 GB|400 GB|450 GB|500 GB|750 GB|1000 GB|1500 GB", "") ;---Waarden van het Partitie-grootte pulldown menu GUICtrlSetState( $PARTITIONSIZELIST, $GUI_DISABLE) $DISK = GUICtrlCreateCombo("Kies schijf...", 24, 304, 425, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) GUICtrlSetData($DISK, "==============================================================") $myinfos = _GetDriveInfos() Local $sResult = "" For $i = 0 to UBound($myinfos) - 1 $sResult &= $myinfos[$i][2] & " : " & $myinfos[$i][1] & " : " & $myinfos[$i][4] & " GB|" Next GUICtrlSetData($DISK, $sResult) GUICtrlSetState($DISK, $GUI_DISABLE) $AMD64 = GUICtrlCreateCheckbox("64-Bit", 24, 336, 55, 17) $X86 = GUICtrlCreateCheckbox("32-Bit", 24, 360, 55, 17) $MAV = GUICtrlCreateCheckbox("Managed Anti-Virus", 96, 336, 129, 17) $BIOS = GUICtrlCreateCheckbox("Bios", 96, 360, 97, 17) $RECOVERY = GUICtrlCreateCheckbox("Herstel Partitie", 248, 336, 121, 17) $BUSINESS = GUICtrlCreateCheckbox("Zakelijk", 248, 360, 97, 17) $REBOOTHALT = GUICtrlCreateCheckbox("Niet herstarten", 352, 488, 105, 17) $NODRIVER = GUICtrlCreateCheckbox("Geen drivers", 352, 512, 97, 17) GUICtrlSetTip($BIOS, "Deze optie wordt gebruikt op NON-UEFI moederborden") GUICtrlSetTip($REBOOTHALT, "Deze optie wordt gebruikt om aan het eind van de Preload niet te herstarten") GUICtrlSetState($AMD64, $GUI_DISABLE) GUICtrlSetState($X86, $GUI_DISABLE) GUICtrlSetState($BIOS, $GUI_DISABLE) GUICtrlSetState($RECOVERY, $GUI_DISABLE) GUICtrlSetState($BUSINESS, $GUI_DISABLE) GUICtrlSetState($MAV, $GUI_DISABLE) $LOGGER = GUICtrlCreateEdit("", 24, 392, 425, 89, $ES_READONLY + $ES_AUTOVSCROLL + $ES_MULTILINE) ;----------$ES_READONLY + $ES_AUTOSCROLL + $ES_MULTILINE is voor het logboek read only en auto scroll te maken) $VAR = FileOpen("P:\Changelog\version.txt", 0) While 1 $x = FileReadLine($VAR) If @error = -1 Then ExitLoop _GUICtrlEdit_AppendText($LOGGER, @CRLF & $x) Wend FileClose($var) $LINE = "----------------------------------------------------------------------------------" Logb($LINE) $START = GUICtrlCreateButton("START", 210, 504, 75, 25) GUICtrlSetTip($START, "Klik hier om de installatie te starten") GUICtrlSetState($START, $GUI_DISABLE) $HULP = GUICtrlCreateCombo("Hulp", 24, 488, 120, 25, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL)) $DISKPARTHULP = GUICtrlSetData($HULP, "Command Prompt|Diskpart|Change Log|Uitleg") $COPYRIGHT = GUICtrlCreateLabel("Copyright © , 2013", 16, 536, 125, 17) GUICtrlSetState($COPYRIGHT, $GUI_DISABLE) $CREDITS = GUICtrlCreateLabel("Created by: Mark Wingens", 328, 537, 170, 17) GUICtrlSetState($CREDITS, $GUI_DISABLE) HotKeySet("{BACKSPACE}","_BackSpace") ;----------------------------------------------------------------------Hotkey voor het licentie input veld, zodat het min teken wordt verwijderd HotKeySet("{ESC}", "TERMINATE") ;---------------------------------------------------------------------------HotKey voor het afsluiten van het script GUISetState(@SW_SHOW) ;=====================================END CREATING GUI================================================================ ControlFocus("", "", $OSLIST) ;=====================================START IDLE LOOP================================================================= While 1 $Msg = GUIGetMsg() Select Case $msg = $START ERRORCATCH() Case $msg = $hulp $var = GUICtrlRead($hulp) If StringInStr($var, "Command Prompt") Then Run("cmd.exe") _GUICtrlComboBox_SetCurSel($hulp, "Hulp") EndIf If StringInStr($var, "Diskpart") Then Run("diskpart.exe") _GUICtrlComboBox_SetCurSel($hulp, "Hulp") EndIf If StringInStr($var, "Change Log") Then CHANGELOG() _GUICtrlComboBox_SetCurSel($hulp, "Hulp") EndIf If StringInStr($var, "Uitleg") Then UITLEG() _GUICtrlComboBox_SetCurSel($hulp, "Hulp") EndIf Case $msg = $GUI_EVENT_CLOSE Exit Case $msg = $OSLIST GUICtrlSetState($VERSIONLIST, $GUI_ENABLE) $VAR = GUICtrlRead($OSLIST) If $VAR = "Windows Vista" Then GUICtrlSetData($VERSIONLIST, "") $VISTAHB = GUICtrlSetData($VERSIONLIST, "Home Basic", "") $VISTAHP = GUICtrlSetData($VERSIONLIST, "Home Premium", "") $VISTABU = GUICtrlSetData($VERSIONLIST, "Business", "") $VISTAUL = GUICtrlSetData($VERSIONLIST, "Ultimate", "") GUICtrlSetState($X86, $GUI_CHECKED) GUICtrlSetState($X86, $GUI_ENABLE) GUICtrlSetState($AMD64, $GUI_UNCHECKED) GUICtrlSetState($AMD64, $GUI_DISABLE) GUICtrlSetState($BIOS, $GUI_DISABLE) GUICtrlSetState($BIOS, $GUI_UNCHECKED) GUICtrlSetState($RECOVERY, $GUI_UNCHECKED) GUICtrlSetState($RECOVERY, $GUI_DISABLE) GUICtrlSetState($BUSINESS, $GUI_DISABLE) EndIf If $VAR = "Windows 7" Then GUICtrlSetData($VERSIONLIST, "") $WIN7ST = GUICtrlSetData($VERSIONLIST, "Starter", "") $WIN7HP = GUICtrlSetData($VERSIONLIST, "Home Premium", "") $WIN7PR = GUICtrlSetData($VERSIONLIST, "Professional", "") $WIN7UL = GUICtrlSetData($VERSIONLIST, "Ultimate", "") GUICtrlSetState($X86, $GUI_UNCHECKED) GUICtrlSetState($X86, $GUI_ENABLE) GUICtrlSetState($AMD64, $GUI_CHECKED) GUICtrlSetState($AMD64, $GUI_ENABLE) GUICtrlSetState($BIOS, $GUI_ENABLE) GUICtrlSetState($BIOS, $GUI_UNCHECKED) GUICtrlSetState($RECOVERY, $GUI_UNCHECKED) GUICtrlSetState($RECOVERY, $GUI_DISABLE) GUICtrlSetState($BUSINESS, $GUI_ENABLE) EndIf If $VAR = "Windows 8.1" Then GUICtrlSetData($VERSIONLIST, "") $W8 = GUICtrlSetData($VERSIONLIST, "Home") $W8PRO = GUICtrlSetData($VERSIONLIST, "Professional") $W8ENT = GUICtrlSetData($VERSIONLIST, "Enterprise") GUICtrlSetState($X86, $GUI_DISABLE) GUICtrlSetState($X86, $GUI_UNCHECKED) GUICtrlSetState($AMD64, $GUI_CHECKED) GUICtrlSetState($AMD64, $GUI_ENABLE) GUICtrlSetState($BIOS, $GUI_ENABLE) GUICtrlSetState($BIOS, $GUI_UNCHECKED) GUICtrlSetState($RECOVERY, $GUI_ENABLE) GUICtrlSetState($RECOVERY, $GUI_CHECKED) GUICtrlSetState($BUSINESS, $GUI_ENABLE) EndIf Case $msg = $VERSIONLIST GUICtrlSetState($MANULIST, $GUI_ENABLE) If GUICtrlRead($OSLIST) = "Windows 7" And GUICtrlRead($VERSIONLIST) = "Starter" Then GUICtrlSetState($X86, $GUI_ENABLE) GUICtrlSetState($X86, $GUI_CHECKED) GUICtrlSetState($AMD64, $GUI_UNCHECKED) GUICtrlSetState($AMD64, $GUI_DISABLE) GUICtrlSetState($BIOS, $GUI_CHECKED) GUICtrlSetState($BIOS, $GUI_DISABLE) EndIf If GUICtrlRead($OSLIST) = "Windows 7" And GUICtrlRead($VERSIONLIST) <> "Starter" Then GUICtrlSetState($X86, $GUI_DISABLE) GUICtrlSetState($X86, $GUI_UNCHECKED) GUICtrlSetState($AMD64, $GUI_CHECKED) GUICtrlSetState($AMD64, $GUI_ENABLE) GUICtrlSetState($BIOS, $GUI_ENABLE) GUICtrlSetState($BIOS, $GUI_UNCHECKED) EndIf If GUICtrlRead($OSLIST) = "Windows 7" And GUICtrlRead($VERSIONLIST) = "Professional" Then Sleep(50) GUICtrlSetState($BUSINESS, $GUI_CHECKED) EndIf If GUICtrlRead($OSLIST) = "Windows 7" And GUICtrlRead($VERSIONLIST) <> "Professional" Then Sleep(50) GUICtrlSetState($BUSINESS, $GUI_UNCHECKED) EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" and GUICtrlRead($VERSIONLIST) = "Professional" Then Sleep(50) GUICtrlSetState($RECOVERY, $GUI_UNCHECKED) EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" and GUICtrlRead($VERSIONLIST) <> "Professional" Then Sleep(50) GUICtrlSetState($RECOVERY, $GUI_CHECKED) EndIf Sleep(50) $READOS = GUICtrlRead($OSLIST) $READVERSION = GUICtrlRead($VERSIONLIST) If $READOS <> "Windows 8.1" Then If $READOS = "Windows Vista" Then $OS = "VISTA" EndIf If $READOS = "Windows 7" Then $OS = "WIN7" EndIf $READX86 = GUICtrlRead($X86) $READAMD64 = GUICtrlRead($AMD64) $VAR = $READOS & " " & $READVERSION $sect = "" If StringInStr($var, "Home Editie") Then $sect = "HomeEdition" If StringInStr($var, "Media Center") Then $sect = "MediaCenter" If StringInStr($var, "Home Basic") Then $sect = "HomeBasic" If StringInStr($var, "Home Premium") Then $sect = "HomePremium" If StringInStr($var, "Business") Then $sect = "Business" If StringInStr($var, "Starter") Then $sect = "Starter" If StringInStr($var, "Professional") Then $sect = "Professional" If StringInStr($var, "Ultimate") Then $sect = "Ultimate" $var = IniReadSection("P:\Certificate\" & $OS & "\keys.ini", $sect) If @error <> 1 Then GUICtrlSetData($MANULIST, "") GUICtrlSetData($MANULIST, "Levix - Zelfbouw") GUICtrlSetData($MANULIST, "---------------------------------------------------") For $x = 1 To $var[0][0] ; Netbook Software X86 If $READX86 == $GUI_CHECKED And $sect = "Starter" Then If StringInStr($var[$x][0], "#!") Then $var1 = StringTrimRight($var[$x][0], 2) MsgBox(4096, "1", $var1) GUICtrlSetData($MANULIST, $var1 & " Activatie") GUICtrlSetData($MANULIST, $var1 & " Activatie + Netbook Software") EndIf EndIf ; Notebook en Netbook Software If StringInStr($var[$x][0], "#@") Then $var1 = StringTrimRight($var[$x][0], 2) GUICtrlSetData($MANULIST, $var1 & " Activatie") If $READX86 = $GUI_CHECKED Then GUICtrlSetData($MANULIST, $var1 & " Activatie + Netbook Software") GUICtrlSetData($MANULIST, $var1 & " Activatie + Notebook Software") ; Notebook Software ElseIf StringInStr($var[$x][0], "##") Then $var1 = StringTrimRight($var[$x][0], 2) GUICtrlSetData($MANULIST, $var1 & " Activatie") GUICtrlSetData($MANULIST, $var1 & " Activatie + Notebook Software") EndIf ; Activatie If StringInStr($var[$x][0], "#@") Or StringInStr($var[$x][0], "##") Or StringInStr($var[$x][0], "#!") Then Else GUICtrlSetData($MANULIST, $var[$x][0] & " Activatie") EndIf Next GUICtrlSetState($MANULIST, $GUI_ENABLE) Else GUICtrlSetData($MANULIST, "") GUICtrlSetData($MANULIST, "Levix - Zelfbouw") EndIf EndIf If $READOS = "Windows 8.1" Then GUICtrlSetState($RECOVERY, $GUI_ENABLE) GUICtrlSetState($RECOVERY, $GUI_CHECKED) EndIf If $READOS = "Windows 8.1" And $READVERSION <> "Enterprise" Then GUICtrlSetData($MANULIST, "") GUICtrlSetData($MANULIST, "Levix - Zelfbouw") GUICtrlSetData($MANULIST, "---------------------------------------------------") GUICtrlSetData($MANULIST, "OEM - activatie") GUICtrlSetData($MANULIST, "Acer - Notebook") GUICtrlSetData($MANULIST, "Asus - Notebook") GUICtrlSetData($MANULIST, "Toshiba - Notebook") EndIf If $READOS = "Windows 8.1" And $READVERSION = "Enterprise" Then GUICtrlSetData($MANULIST, "") GUICtrlSetData($MANULIST, "Levix - Intern") EndIf Case $msg = $MANULIST GUICtrlSetState($DEBITINPUT, $GUI_ENABLE) GUICtrlSetState($HOSTNAMEINPUT, $GUI_ENABLE) GUICtrlSetState($USERINPUT, $GUI_ENABLE) GUICtrlSetState($OFFICELIST, $GUI_ENABLE) $VAR = GUICtrlRead($OSLIST) If $VAR = "Windows Vista" Then GUICtrlSetData($OFFICELIST, "") GUICtrlSetData($OFFICELIST, "Geen Office") GUICtrlSetData($OFFICELIST, "---------------------------------------------------") GUICtrlSetData($OFFICELIST, "Office 2007 - Home and Student", "") GUICtrlSetData($OFFICELIST, "Office 2010", "") EndIf If $VAR = "Windows 7" Then GUICtrlSetData($OFFICELIST, "") GUICtrlSetData($OFFICELIST, "Geen Office") GUICtrlSetData($OFFICELIST, "---------------------------------------------------") GUICtrlSetData($OFFICELIST, "Office 2007 - Home and Student", "") GUICtrlSetData($OFFICELIST, "Office 2010", "") GUICtrlSetData($OFFICELIST, "Office 2013", "") EndIf If $VAR = "Windows 8.1" Then GUICtrlSetData($OFFICELIST, "") GUICtrlSetData($OFFICELIST, "Geen Office") GUICtrlSetData($OFFICELIST, "---------------------------------------------------") GUICtrlSetData($OFFICELIST, "Office 2007 - Home and Student", "") GUICtrlSetData($OFFICELIST, "Office 2010", "") GUICtrlSetData($OFFICELIST, "Office 2013", "") EndIf Case $msg = $OFFICELIST GUICtrlSetState($PARTITIONLIST, $GUI_ENABLE) Case $msg = $PARTITIONLIST If GUICtrlRead($PARTITIONLIST) = "Wipe" & " l één partitie" Then GUICtrlSetState($DISK, $GUI_ENABLE) EndIf Case $msg = $PARTITIONSIZELIST If GUICtrlRead($PARTITIONSIZELIST) <> " " Then GUICtrlSetState($DISK, $GUI_ENABLE) EndIf Case $msg = $DISK If GUICtrlRead($DISK) <> "Kies schijf..." And GUICtrlRead($DISK) <> "==============================================================" Then GUICtrlSetState($START, $GUI_ENABLE) EndIf Case $msg = $BIOS If GUICtrlRead($OSLIST) = "Windows 8.1" Then If GUICtrlRead($BIOS) = $GUI_CHECKED Then GUICtrlSetState($RECOVERY, $GUI_UNCHECKED) GUICtrlSetState($RECOVERY, $GUI_DISABLE) EndIf If GUICtrlRead($BIOS) = $GUI_UNCHECKED Then GUICtrlSetState($RECOVERY, $GUI_ENABLE) GUICtrlSetState($RECOVERY, $GUI_CHECKED) EndIf EndIf EndSelect If GUICtrlRead($PARTITIONLIST) = "Custom" & " l aangepaste partitie" And $PARTITION = 1 Then GUICtrlSetState($PARTITIONSIZELIST, $GUI_ENABLE) $PARTITION = 0 ElseIf GUICtrlRead($PARTITIONLIST) <> "Custom" & " l aangepaste partitie" And $PARTITION = 0 Then GUICtrlSetState($PARTITIONSIZELIST, $GUI_DISABLE) $PARTITION = 1 EndIf If GUICtrlRead($MANULIST) = "Levix - Zelfbouw" Then GUICtrlSetState($LICENCEINPUT, $GUI_ENABLE) Sleep(50) ElseIf GUICtrlRead($MANULIST) <> "Levix - Zelfbouw" Then GUICtrlSetState($LICENCEINPUT, $GUI_DISABLE) Sleep(50) EndIf If $LastInput <> GUICtrlRead($LICENCEINPUT) Then $LastInput = GUICtrlRead($LICENCEINPUT) If StringLen($LastInput) = $LenPart Then $LastInput &= "-" Else $Temp = StringSplit($LastInput,"-") If $Temp[$Temp[0]] <> "" And StringLen($Temp[$Temp[0]]) >= $LenPart And StringLen(GUICtrlRead($LICENCEINPUT)) < 29 Then $LastInput &= "-" EndIf EndIf GUICtrlSetData($LICENCEINPUT,$LastInput) EndIf If GUICtrlRead($PARTITIONLIST) <> "Wipe" & " l één partitie" And GUICtrlRead($PARTITIONSIZELIST) = "" Then GUICtrlSetState($START, $GUI_DISABLE) EndIf If GUICtrlRead($DISK) = "Kies schijf..." Or GUICtrlRead($DISK) = "==============================================================" Then GUICtrlSetState($START, $GUI_DISABLE) EndIf WEnd ;=====================================END IDLE LOOP=================================================================== ;=====================================START ERRORCATCH================================================================ Func ERRORCATCH() $GO = 1 ;------------------------------------------------------------------------Waarde voor de fout afvanging, als er iets fout gaat wordt $G0 = 0 , zodra er weer op $START gedrukt wordt dan, wordt $GO = 1 If GUICtrlRead($MANULIST) = "Levix - Zelfbouw" Then If StringLen(GUICtrlRead($LICENCEINPUT)) <> 29 Then MsgBox(4096, "Let op!", "Licentie sleutel is te kort.") $GO = 0 EndIf EndIf If GUICtrlRead($VERSIONLIST) = "Starter" and GUICtrlRead($X86) = $GUI_UNCHECKED Then GUICtrlSetState($X86, $GUI_CHECKED) EndIf If GUICtrlRead($MANULIST) = "---------------------------------------------------" Then MsgBox(4096, "Let op!", "Kies de juiste Activatie & Software") $GO = 0 EndIf If GUICtrlRead($OFFICELIST) = "---------------------------------------------------" Then MsgBox(4096, "Let op!", "Kies de juiste Microsoft Office optie") $GO = 0 EndIf If GUICtrlRead($X86) = $GUI_UNCHECKED And GUICtrlRead($AMD64) = $GUI_UNCHECKED Then MsgBox(4096, "Let op!", "Maak een keuze uit 32-bit of 64-bit.") $GO = 0 EndIf If GUICtrlRead($X86) = $GUI_CHECKED And GUICtrlRead($AMD64) = $GUI_CHECKED Then MsgBox(4096, "Let op!", "Maak een keuze uit 32-bit of 64-bit, niet voor allebei.") $GO = 0 EndIf If GUICtrlRead($MAV) = $GUI_CHECKED Then If GUICtrlRead($DEBITINPUT) = "" Then MsgBox(4096, "Let op!", "Controleer: Computernaam") $GO = 0 EndIf If GUICtrlRead($HOSTNAMEINPUT) = "" Then MsgBox(4096, "Let op!", "Controleer: Computernaam") $GO = 0 EndIf EndIf $VAR1 = GUICtrlRead($DEBITINPUT) $VAR2 = GUICtrlRead($HOSTNAMEINPUT) If $VAR1 <> "" And $VAR2 <> "" Then $HOSTNAME = $VAR1 & "-" & $VAR2 $LEN = StringLen($HOSTNAME) If $LEN > 15 Then MsgBox(4096, "Let op!", "Computernaam is te lang! Maximaal 14 tekens.") $GO = 0 EndIf EndIf ; Geen A:/B:/P: Dim $aArray[23] $aArray[0]="C:" $aArray[1]="D:" $aArray[2]="E:" $aArray[3]="F:" $aArray[4]="G:" $aArray[5]="H:" $aArray[6]="I:" $aArray[7]="J:" $aArray[8]="K:" $aArray[9]="L:" $aArray[10]="M:" $aArray[11]="N:" $aArray[12]="O:" $aArray[14]="Q:" $aArray[15]="R:" $aArray[16]="S:" $aArray[17]="T:" $aArray[18]="U:" $aArray[19]="V:" $aArray[20]="W:" $aArray[13]="X:" $aArray[21]="Y:" $aArray[22]="Z:" For $letter In $aArray If DriveGetLabel($letter) = "WINPE" Then MsgBox(4096, "USB-Stick", "Verwijder Preload stick uit systeem!") $GO = 0 EndIf Next If $GO = 1 Then START() EndFunc ;=====================================END ERRORCATCH================================================================== ;=====================================START FUNCTION START============================================================ Func START() GUICtrlSetState($OSLIST, $GUI_DISABLE) GUICtrlSetState($VERSIONLIST, $GUI_DISABLE) GUICtrlSetState($LICENCEINPUT, $GUI_DISABLE) GUICtrlSetState($MANULIST, $GUI_DISABLE) GUICtrlSetState($DEBITINPUT, $GUI_DISABLE) GUICtrlSetState($HOSTNAMEINPUT, $GUI_DISABLE) GUICtrlSetState($USERINPUT, $GUI_DISABLE) GUICtrlSetState($OFFICELIST, $GUI_DISABLE) GUICtrlSetState($PARTITIONLIST, $GUI_DISABLE) GUICtrlSetState($PARTITIONSIZELIST, $GUI_DISABLE) GUICtrlSetState($AMD64, $GUI_DISABLE) GUICtrlSetState($X86, $GUI_DISABLE) GUICtrlSetState($MAV, $GUI_DISABLE) GUICtrlSetState($RECOVERY, $GUI_DISABLE) GUICtrlSetState($BUSINESS, $GUI_DISABLE) GUICtrlSetState($BIOS, $GUI_DISABLE) GUICtrlSetState($HULP, $GUI_DISABLE) GUICtrlSetState($REBOOTHALT, $GUI_DISABLE) GUICtrlSetState($NODRIVER, $GUI_DISABLE) GUICtrlSetState($START, $GUI_DISABLE) GUICtrlSetData($START, "GESTART") $READOS = GUICtrlRead($OSLIST) $READVERSION = GUICtrlRead($VERSIONLIST) If GUICtrlRead($X86) = $GUI_CHECKED Then $VAR = "32-Bit" EndIf If GUICtrlRead($AMD64) = $GUI_CHECKED Then $VAR = "64-Bit" EndIf FileOpen("X:\Preload.log", 2) logb($LINE) Logb("Installatie gestart: " & $READOS & " " & $READVERSION & " " & $VAR) $VAR = GUICtrlRead($MANULIST) Logb("Activatie type: " & $VAR) If GUICtrlRead($BUSINESS) = $GUI_CHECKED Then logb("Installatie type: Zakelijk") EndIf If GUICtrlRead($BUSINESS) = $GUI_UNCHECKED Then logb("Installatie type: Particulier") EndIf Logb("Installatie gestart op: " & @MDAY & "/" & @MON & "/" & @YEAR & " | " & @HOUR & ":" & @MIN & ":" & @SEC) $VAR1 = GUICtrlRead($DEBITINPUT) $VAR2 = GUICtrlRead($HOSTNAMEINPUT) $VAR3 = GUICtrlRead($USERINPUT) If $VAR1 <> "" And $VAR2 <> "" Then $HOSTNAME = $VAR1 & "-" & $VAR2 Logb("Computernaam: " & $HOSTNAME) EndIf If $VAR3 <> "" Then Logb("Gebruikersnaam: " & $VAR3) EndIf logb($LINE) ;=====================================START DISKPART================================================================== Logb(" - Partities aanmaken") $READOS = GUICtrlRead($OSLIST) $READPARTITION = GUICtrlRead($PARTITIONLIST) $READSIZE = GUICtrlRead($PARTITIONSIZELIST) $BIOSREAD = GUICtrlRead($BIOS) Logb(" * Gekozen indeling: " & $READPARTITION) If $READPARTITION = "Custom" & " l aangepaste partitie" Then Logb(" * Capaciteit C: " & $READSIZE) EndIf ;=====================================START WINDOWS VISTA============================================================= If $READOS = "Windows Vista" Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\Bios\VISTA\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\Bios\VISTA\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf $VAR = GUICtrlRead($DISK) $VAR2 = StringLeft($VAR, 6) MsgBox(4096, "Gekozen schijf", $VAR2) Local $FIND = "REPLACE2" Local $REPLACE = "SELECT " & $VAR2 Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf RunWait(@ComSpec & " /c " & " P:\Scripts\Preload\Diskpart\diskpart.cmd " & "X:\diskpart.txt" & "" & "> X:\diskpartlog.txt", "", @SW_HIDE) ;----------------Zorgt ervoor dat de diskpart batchfile verborgen wordt uitgevoerd. EndIf ;=====================================END WINDOWS VISTA=============================================================== ;=====================================START WINDOWS 7================================================================= If $READOS = "Windows 7" Then If $BIOSREAD = $GUI_UNCHECKED Then If GUICtrlRead($RECOVERY) = $GUI_UNCHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\EFI\non Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\EFI\non Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf If GUICtrlRead($RECOVERY) = $GUI_CHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\EFI\Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\EFI\Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf EndIf If $BIOSREAD = $GUI_CHECKED Then If GUICtrlRead($RECOVERY) = $GUI_UNCHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\BIOS\non Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\BIOS\non Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf If GUICtrlRead($RECOVERY) = $GUI_CHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\BIOS\Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\BIOS\Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf EndIf $VAR = GUICtrlRead($DISK) $VAR2 = StringLeft($VAR, 6) MsgBox(4096, "Gekozen schijf", $VAR2) Local $FIND = "REPLACE2" Local $REPLACE = "SELECT " & $VAR2 Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf RunWait(@ComSpec & " /c " & " P:\Scripts\Preload\Diskpart\diskpart.cmd " & "X:\diskpart.txt" & "" & "> X:\diskpartlog.txt", "", @SW_HIDE) ;----------------Zorgt ervoor dat de diskpart batchfile verborgen wordt uitgevoerd. EndIf ;=====================================END WINDOWS 7=================================================================== ;=====================================START WINDOWS 8.1=============================================================== If $READOS = "Windows 8.1" Then If $BIOSREAD = $GUI_UNCHECKED Then If GUICtrlRead($RECOVERY) = $GUI_UNCHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\EFI\non Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\EFI\non Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf If GUICtrlRead($RECOVERY) = $GUI_CHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\EFI\Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\EFI\Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf EndIf If $BIOSREAD = $GUI_CHECKED Then If GUICtrlRead($RECOVERY) = $GUI_UNCHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\BIOS\non Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\BIOS\non Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf If GUICtrlRead($RECOVERY) = $GUI_CHECKED Then If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\BIOS\Recovery\wipe.txt", "X:\Windows\System32") FileMove("X:\Windows\System32\wipe.txt", "X:\diskpart.txt") If Not FileExists("X:\diskpart.txt") Then MsgBox(4096, "Let op!", "Diskpart.txt niet kunnen kopieren") EndIf EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then $var = GUICtrlRead($READSIZE) $PARTSIZE = StringTrimRight($READSIZE, 3) FileCopy("P:\Scripts\Preload\Diskpart\BIOS\Recovery\custom.txt", "X:\Windows\system32") FileMove("X:\Windows\System32\custom.txt", "X:\diskpart.txt") Local $FIND = "REPLACE" Local $REPLACE = "CREATE PARTITION PRIMARY SIZE=" & $PARTSIZE & "000" Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf EndIf EndIf EndIf $VAR = GUICtrlRead($DISK) $VAR2 = StringLeft($VAR, 6) MsgBox(4096, "Gekozen schijf", $VAR2) Local $FIND = "REPLACE2" Local $REPLACE = "SELECT " & $VAR2 Local $FILENAME = "X:\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf RunWait(@ComSpec & " /c " & " P:\Scripts\Preload\Diskpart\diskpart.cmd " & "X:\diskpart.txt" & "" & "> X:\diskpartlog.txt", "", @SW_HIDE) ;----------------Zorgt ervoor dat de diskpart batchfile verborgen wordt uitgevoerd. EndIf ;=====================================END WINDOWS 8.1================================================================= ;=====================================END DISKPART==================================================================== ;=====================================START INSTALLING IMAGE========================================================== Logb(" - Uitpakken image") $READVERSION = GUICtrlRead($VERSIONLIST) If $READOS = "Windows Vista" Then If GUICtrlRead($X86) = $GUI_CHECKED Then $IMAGE = "P:\Image\WINVISTA.WIM" $ARCH = "32-Bit" If $READVERSION = "Home Basic" Then $IMAGELABEL = "BASIC" EndIf If $READVERSION = "Home Premium" Then $IMAGELABEL = "PREMIUM" EndIf If $READVERSION = "Business" Then $IMAGELABEL = "BUSINESS" EndIf If $READVERSION = "Ultimate" Then $IMAGELABEL = "ULTIMATE" EndIf EndIf RunWait("P:\installvistaw7.cmd " & $IMAGE & " " & $IMAGELABEL) EndIf If $READOS = "Windows 7" Then If GUICtrlRead($X86) = $GUI_CHECKED Then $IMAGE = "P:\Image\WIN7-X86.WIM" $ARCH = "32-Bit" $IMAGELABEL = "1" If $READVERSION = "Home Premium" Then $READVERSION = "HomePremium" EndIf EndIf If GUICtrlRead($AMD64) = $GUI_CHECKED Then $IMAGE = "P:\Image\WIN7-X64.WIM" $ARCH = "64-Bit " $IMAGELABEL = "AMD64" If $READVERSION = "Home Premium" Then $READVERSION = "HomePremium" EndIf EndIf If $BIOSREAD = $GUI_CHECKED Then RunWait("P:\installvistaw7.cmd " & $IMAGE & " " & $IMAGELABEL) EndIf If $BIOSREAD = $GUI_UNCHECKED Then RunWait("P:\installw8.cmd " & $IMAGE & " " & $IMAGELABEL) EndIf EndIf If $READOS = "Windows 8.1" And $READVERSION <> "Enterprise" Then If GUICtrlRead($X86) = $GUI_CHECKED Then $IMAGE = "P:\Image\WIN81-X86.WIM" $ARCH = "32-Bit" $IMAGELABEL = "X86" EndIf If GUICtrlRead($AMD64) = $GUI_CHECKED Then $IMAGE = "P:\Image\WIN81-X64.WIM" $ARCH = "64-Bit" $IMAGELABEL = "AMD64" EndIf RunWait("P:\installw8.cmd " & $IMAGE & " " & $IMAGELABEL) EndIf If $READOS = "Windows 8.1" And $READVERSION = "Enterprise" Then $IMAGE = "P:\Image\WIN81ENT.WIM" $IMAGELABEL = "AMD64PRO" RunWait("P:\installw8.cmd " & $IMAGE & " " & $IMAGELABEL) EndIf ;=====================================END INSTALLING IMAGE============================================================ ;=====================================START CONVERT IMAGE============================================================= $VAR = GUICtrlRead($VERSIONLIST) If $READOS = "Windows 7" And GUICtrlRead($X86) = $GUI_CHECKED Then If $VAR <> "Starter" Then $VAR = GUICtrlRead($VERSIONLIST) If $VAR = "Home Premium" Then $VAR = "HomePremium" EndIf logb(" - Converteren image naar Windows 7 " & $VAR) RunWait("dism.exe /image:L:\ /Set-Edition:" & $VAR, "", @SW_HIDE) EndIf EndIf If $READOS = "Windows 7" And GUICtrlRead($AMD64) = $GUI_CHECKED Then If $VAR <> "Home Premium" Then $VAR = GUICtrlRead($VERSIONLIST) logb(" - Converteren image naar Windows 7 " & $VAR) RunWait("dism.exe /image:L:\ /Set-Edition:" & $VAR, "", @SW_HIDE) EndIf EndIf If $READOS = "Windows 8.1" Then If $VAR = "Professional" Then logb(" - Converteren image naar Windows 8.1 " & $VAR) RunWait("dism.exe /image:L:\ /Set-Edition:" & $VAR, "", @SW_HIDE) EndIf EndIf ;=====================================END CONVERT IMAGE=============================================================== ;=====================================START COPY XML================================================================== $X86READ = GUICtrlRead($X86) $READMANU = GUICtrlRead($MANULIST) $unxml = "L:\Windows\Panther\unattend.xml" logb(" - Kopieren van het Windows antwoordbestand") If $READOS = "Windows Vista" Then If $X86READ = $GUI_CHECKED Then If FileExists("P:\Scripts\Preload\XML\VISTA\unattend-86.xml") Then FileCopy("P:\Scripts\Preload\XML\VISTA\unattend-86.xml", "L:\Windows\Panther\unattend.xml", 9) EndIf EndIf If GUICtrlRead($VERSIONLIST) = "Home Basic" Then $serial = "RCG7P-TX42D-HM8FM-TCFCW-3V4VD" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Home Premium" Then $serial = "X9HTF-MKJQQ-XK376-TJ7T4-76PKF" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Business" Then $serial = "4D2XH-PRBMM-8Q22B-K8BM3-MRW4W" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Ultimate" Then $serial = "VMCB9-FDRV6-6CDQM-RV23K-RP8F7" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf EndIf If $READOS = "Windows 7" Then If $X86READ = $GUI_UNCHECKED Then If GUICtrlRead($BUSINESS) = $GUI_CHECKED Then FileCopy("P:\Scripts\Preload\XML\W7\unattend-64-zakelijk.xml", "L:\Windows\Panther\unattend.xml") EndIf If GUICtrlRead($BUSINESS) = $GUI_UNCHECKED Then FileCopy("P:\Scripts\Preload\XML\W7\unattend-64.xml", "L:\Windows\Panther\unattend.xml", 9) EndIf EndIf If $X86READ = $GUI_CHECKED Then If FileExists("P:\Scripts\Preload\XML\W7\unattend-86.xml") Then FileCopy("P:\Scripts\Preload\XML\W7\unattend-86.xml", "L:\Windows\Panther\unattend.xml", 9) EndIf EndIf If GUICtrlRead($VERSIONLIST) = "Starter" Then $serial = "4BBYK-RWRBY-2HXW2-D7GVB-2M96H" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Home Premium" Then $serial = "VMRMG-M2T2H-J94Y8-YWFHP-GYQ9J" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Professional" Then $serial = "MVPTQ-RXGD9-PRWFG-JGJVW-VBQDK" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Ultimate" Then $serial = "2THDF-8MVG4-B8JK7-X8Y47-T8PXF" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf EndIf If $READOS = "Windows 8.1" Then If $X86READ = $GUI_UNCHECKED Then If GUICtrlRead($BUSINESS) = $GUI_CHECKED Then FileCopy("P:\Scripts\Preload\XML\W81\unattend-64-zakelijk.xml", "L:\Windows\Panther\unattend.xml") EndIf If GUICtrlRead($BUSINESS) = $GUI_UNCHECKED Then FileCopy("P:\Scripts\Preload\XML\W81\unattend-64.xml", "L:\Windows\Panther\unattend.xml", 9) EndIf EndIf If $X86READ = $GUI_CHECKED Then If FileExists("P:\Scripts\Preload\XML\W81\unattend-86.xml") Then FileCopy("P:\Scripts\Preload\XML\W81\unattend-86.xml", "L:\Windows\Panther\unattend.xml", 9) EndIf EndIf If GUICtrlRead($VERSIONLIST) = "Home" And $READMANU = "Levix - Zelfbouw" Then $serial = "334NH-RXG76-64THK-C7CKG-D3VPT" _ReplaceStringInFile($unxml, "SERIAL", $serial) Else $serial = "DQQ2P-YNF4V-CMQHJ-RPXK8-QC736" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Professional" And $READMANU = "Levix - Zelfbouw" Then $serial = "XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB" _ReplaceStringInFile($unxml, "SERIAL", $serial) Else $serial = "DR38Q-GTNFD-WR3TR-VBXBV-QPBRC" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf If GUICtrlRead($VERSIONLIST) = "Enterprise" Then $serial = "XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB" _ReplaceStringInFile($unxml, "SERIAL", $serial) EndIf EndIf $VAR1 = GUICtrlRead($DEBITINPUT) $VAR2 = GUICtrlRead($HOSTNAMEINPUT) $VAR3 = GUICtrlRead($USERINPUT) If $VAR1 <> "" And $VAR2 <> "" Then $HOSTNAME = "<ComputerName>" & $VAR1 & "-" & $VAR2 & "</ComputerName>" _ReplaceStringInFile($unxml, "<ComputerName>*</ComputerName>", $HOSTNAME) EndIf If $VAR3 <> "" Then $USER = "<DisplayName>" & $VAR3 & "</DisplayName>" _ReplaceStringInFile($unxml, "<DisplayName>USER</DisplayName>", $USER) $USER = "<Name>" & $VAR3 & "</Name>" _ReplaceStringInFile($unxml, "<Name>USER</Name>", $USER) EndIf If $VAR3 = "" Then $USER = "<DisplayName>Beheerder</DisplayName>" _ReplaceStringInFile($unxml, "<DisplayName>USER</DisplayName>", $USER) $USER = "<Name>Beheerder</Name>" _ReplaceStringInFile($unxml, "<Name>USER</Name>", $USER) EndIf ;=====================================END COPY XML==================================================================== ;=====================================START CERTIFICATE=============================================================== If GUICtrlRead($OSLIST) = "Windows 7" And GUICtrlRead($MANULIST) <> "Levix - Zelfbouw" Then logb(" - OEM Certificaat kopieren") DirCreate("L:\Windows\OEM") If GUICtrlRead($OSLIST) = "Windows Vista" Then $OS = "VISTA" EndIf If GUICtrlRead($OSLIST) = "Windows 7" Then $OS = "WIN7" EndIf $OS1 = GUICtrlRead($MANULIST) $OS2 = GUICtrlRead($VERSIONLIST) Dim $aArray _FileReadToArray("P:\Certificate\oem.ini", $aArray) For $var = 1 To $aArray[0] If StringInStr($OS1, $aArray[$var]) Then $oem = $aArray[$var] If StringInStr($oem, "##") Or StringInStr($oem, "#!") Or StringInStr($oem, "#@") Then $oem = StringTrimRight($oem, 2) ;logb(" - OEM fabrikant: " & $oem) DirCopy("P:\Certificate\" & $OS & "\"& $oem, "L:\Windows\OEM", 1) FileCopy("P:\Certificate\oem-install.vbs", "L:\Windows\OEM", 9) $XML = "" If StringInStr($OS2, "Home Edition") Then $XML = "HomeEdition" ; XP If StringInStr($OS2, "Media Center Edition") Then $XML = "MediaCenter" ; XP If StringInStr($OS2, "Starter") Then $XML = "Starter" ; 7 If StringInStr($OS2, "Professional") Then $XML = "Professional"; 7 & XP If StringInStr($OS2, "Home Premium") Then $XML = "HomePremium" ; Vista & 7 If StringInStr($OS2, "Ultimate") Then $XML = "Ultimate" ; Vista & 7 If StringInStr($OS2, "Business") Then $XML = "Business" ; Vista If StringInStr($OS2, "Home Basic") Then $XML = "HomeBasic" ; Vista $var = IniRead("P:\Certificate\" & $OS & "\keys.ini", $XML, $oem, "") If $var = "" Then $var = IniRead("P:\Certificate\" & $OS & "\keys.ini", $XML, $oem & "##", "") If $var = "" Then $var = IniRead("P:\Certificate\" & $OS & "\keys.ini", $XML, $oem & "#@", "") If $var = "" Then $var = IniRead("P:\Certificate\" & $OS & "\keys.ini", $XML, $oem & "#!", "") $file = FileOpen("L:\Windows\OEM\install.cmd", 1) FileWrite($file, "PUSHD %systemroot%\OEM" & @CRLF) FileWrite($file, "cscript /nologo oem-install.vbs oem-cert.xrm-ms " & $var & @CRLF) FileClose($file) ExitLoop EndIf Next EndIf ;=====================================END CERTIFICATE================================================================= ;=====================================START COPY DRIVERS & SOFTWARE=================================================== $GODRIVER = 1 If GUICtrlRead($NODRIVER) = $GUI_CHECKED Then $GODRIVER = 0 EndIf IF NOT FileExists("L:\Install") Then DirCreate("L:\Install") DirCreate("L:\Install\Software") EndIf ;-------------------------------------------------------------------------------------------- If $GODRIVER = 1 Then Logb(" - Drivers kopieren (Even geduld a.u.b. Dit kan een paar minuten duren)") DirCreate("L:\Install\Drivers") DirCreate("L:\Install\Zipped") DirCreate("L:\Install\Zipped\bin") FileCopy("P:\Drivers\Install\dpinst.exe", "L:\Install\Drivers", 1) FileCopy("P:\Drivers\Install\dpinst.xml", "L:\Install\Drivers", 1) FileCopy("P:\Drivers\Install\unpack.cmd", "L:\Install\Zipped", 1) DirCopy("P:\Drivers\Install\bin", "L:\Install\Zipped\bin", 1) If GUICtrlRead($X86) = $GUI_CHECKED Then If GUICtrlRead($OSLIST) = "Windows Vista" Then DirCopy("P:\Drivers\VISTA\X86", "L:\Install\Zipped", 1) EndIf If GUICtrlRead($OSLIST) = "Windows 7" Then DirCopy("P:\Drivers\W7\X86", "L:\Install\Zipped", 1) EndIf EndIf If GUICtrlRead($AMD64) = $GUI_CHECKED Then If GUICtrlRead($OSLIST) = "Windows 7" Then DirCopy("P:\Drivers\W7\AMD64", "L:\Install\Zipped", 1) EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" Then DirCopy("P:\Drivers\W8\AMD64", "L:\Install\Zipped", 1) EndIf EndIf EndIf ;-------------------------------------------------------------------------------------------- Logb(" - Java, Adobe Flash Player & Adobe Reader kopieren") If GUICtrlRead($OSLIST) = "Windows Vista" Then FileCopy("P:\Software\W7\Ninite.exe", "L:\Install\Software", 1) EndIf If GUICtrlRead($OSLIST) = "Windows 7" Then FileCopy("P:\Software\W7\Ninite.exe", "L:\Install\Software", 1) EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" Then FileCopy("P:\Software\W8\Ninite.exe", "L:\Install\Software", 1) EndIf ;-------------------------------------------------------------------------------------------- If GUICtrlRead($OSLIST) = "Windows 7" Then If $READMANU = "Asus Activatie + Notebook Software" Then Logb(" - ASUS notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf DirCreate("L:\Install\Software\ASUS") DirCopy("P:\Software\W7\ASUS", "L:\Install\Software\ASUS", 1) EndIf If $READMANU = "MSI Activatie + Notebook Software" Then Logb(" - MSI notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf DirCreate("L:\Install\Software\MSI") DirCopy("P:\Software\W7\MSI", "L:\Install\Software\MSI", 1) EndIf If $READMANU = "Samsung Activatie + Notebook Software" Then Logb(" - Samsung notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf DirCreate("L:\Install\Software\SAMSUNG") DirCopy("P:\Software\W7\SAMSUNG", "L:\Install\Software\SAMSUNG", 1) EndIf If $READMANU = "Toshiba Activatie + Notebook Software" Then Logb(" - Toshiba notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf DirCreate("L:\Install\Software\TOSHIBA") DirCopy("P:\Software\W7\TOSHIBA", "L:\Install\Software\TOSHIBA", 1) EndIf EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" Then If $READMANU = "Acer - Notebook" Then Logb(" - Acer notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf DirCreate("L:\Install\Software\Acer") DirCopy("P:\Software\W8\Acer", "L:\Install\Software\Acer", 1) EndIf If $READMANU = "Asus - Notebook" Then Logb(" - Asus notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf If Not FileExists("L:\Install\Software\Asus") Then DirCreate("L:\Install\Software\Asus") DirCopy("P:\Software\W8\Asus", "L:\Install\Software\Asus", 1) EndIf EndIf If $READMANU = "Toshiba - Notebook" Then Logb(" - Toshiba notebook software kopieren") If Not FileExists("L:\Install\Software") Then DirCreate("L:\Install\Software") EndIf DirCreate("L:\Install\Software\Toshiba") DirCopy("P:\Software\W8\Toshiba", "L:\Install\Software\Toshiba", 1) EndIf EndIf $READOFFICE = GUICtrlRead($OFFICELIST) If $READOFFICE = "Office 2007 - Home and Student" Then Logb(" - Microsoft Office 2007 installatie bestanden kopieren") DirCreate("L:\Install\Software\Office") DirCopy("P:\Software\Office\2007", "L:\Install\Software\Office", 1) EndIf If $READOFFICE = "Office 2010" Then Logb(" - Microsoft Office 2010 installatie bestanden kopieren") DirCreate("L:\Install\Software\Office") DirCopy("P:\Software\Office\2010", "L:\Install\Software\Office", 1) EndIf If $READOFFICE ="Office 2013" Then Logb(" - Microsoft Office 2013 installatie bestanden kopieren") DirCreate("L:\Install\Software\Office") DirCreate("L:\Install\Software\TileFix") DirCreate("L:\Install\Shortcuts") DirCopy("P:\Software\Office\2013\Single-Image", "L:\Install\Software\Office", 1) DirCopy("P:\Software\Office\2013\TileFix", "L:\Install\Software\TileFix", 1) FileCopy("P:\Software\Office\2013\Microsoft Office 2013.lnk", "L:\Install\Shortcuts\Microsoft Office 2013.lnk", 1) EndIf Logb(" - Levix Software Installatie kopieren") DirCreate("L:\Install\Software\Levix") DirCreate("L:\Windows\Web\Wallpaper\Levix") DirCreate("L:\Windows\System32\LevixOEM") If GUICtrlRead($OSLIST) = "Windows 7" Then If Not FileExists("L:\Install\Shortcuts") Then DirCreate("L:\Install\Shortcuts") EndIf FileCopy("P:\Software\W7\Maak herstelschijf.lnk", "L:\Install\Shortcuts\Maak herstelschijf.lnk", 1) If FileExists("P:\Graphics\WelcomeScreen\backgroundDefault.jpg") Then DirCreate("L:\Install\WelcomeScreen") DirCreate("L:\Install\WelcomeScreen\Info") DirCreate("L:\Install\WelcomeScreen\Info\backgrounds") FileCopy("P:\Graphics\WelcomeScreen\backgroundDefault.jpg", "L:\Install\WelcomeScreen\Info\backgrounds", 1) EndIf If GUICtrlRead($BUSINESS) = $GUI_CHECKED Then FileCopy("P:\Software\Zakelijk\Zakelijk.txt", "L:\Install\Software", 1) EndIf EndIf If $READMANU = "Levix - Zelfbouw" Then $LICENCEREAD = GUICtrlRead($LICENCEINPUT) IniWrite("L:\Install\Software\Levix\licentie.ini","LICENTIE","SLEUTEL", $LICENCEREAD) EndIf If $READMANU = "Levix - Intern" Then $LICENCEREAD = "VQMHX-MJNTW-QK62K-973B7-G6MDQ" IniWrite("L:\Install\Software\Levix\licentie.ini","LICENTIE","SLEUTEL", $LICENCEREAD) EndIf If $READOS = "Windows Vista" Then FileCopy("P:\Graphics\Vista-Theme\Levix.Theme", "L:\Windows\Web\Wallpaper\Levix", 1) EndIf FileCopy("P:\Software\Levix\Levix.exe", "L:\Install\Software\Levix", 1) ;------------------------------------------------------------------------------Dit is de Levix installatie binnen Windows. FileCopy("P:\Software\Levix\desktop.scf", "L:\Install\Software\Levix", 1) ;----------------------------------------------------------------------------Wordt gebruikt door Levix installatie binnen Windows eerst show desktop te doen. FileCopy("P:\Graphics\Logo\oemlogo.bmp", "L:\Windows\System32\LevixOEM", 1) ;--------------------------------------------------------------------------Dit is het levix logo dat bij systeem eigenschappen wordt weergegeven. ;FileCopy("P:\Graphics\Wallpaper\Levix.jpg", "L:\Windows\Web\Wallpaper\Levix", 1) ;---------------------------------------------------------------------Dit is de Levix achtegrond. Deze wordt standaard ingesteld. If GUICtrlRead($BUSINESS) = $GUI_UNCHECKED Then FileCopy("P:\Graphics\Wallpaper\Particulier\Levix.png", "L:\Windows\Web\Wallpaper\Levix", 1) FileCopy("P:\Graphics\Wallpaper\Particulier\Levix Black.png", "L:\Windows\Web\Wallpaper\Levix", 1) EndIf If GUICtrlRead($BUSINESS) = $GUI_CHECKED Then FileCopy("P:\Graphics\Wallpaper\Zakelijk\Levix.png", "L:\Windows\Web\Wallpaper\Levix", 1) FileCopy("P:\Graphics\Wallpaper\Zakelijk\Levix Black.png", "L:\Windows\Web\Wallpaper\Levix", 1) EndIf If GUICtrlRead($RECOVERY) = $GUI_CHECKED Then logb(" - Windows herstel bestanden kopieren") If GUICtrlRead($OSLIST) = "Windows 7" Then DirCreate("R:\Recovery\WindowsRE") DirCreate("R:\Herstel-Bestanden") If FileExists("L:\Windows\System32\Recovery\winre.wim") Then FileCopy("L:\Windows\System32\Recovery\winre.wim", "R:\Recovery\WindowsRE\winre.wim", 1) Else MsgBox(4096, "Let op!", "Herstel image niet gevonden") EndIf If FileExists("R:\Recovery\WindowsRE\winre.wim") Then RunWait("reagentc /setreimage /path R:\Recovery\WindowsRE /target L:\Windows") EndIf EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" Then DirCreate("T:\Recovery") DirCreate("T:\Recovery\WindowsRE") DirCreate("R:\Herstel-Bestanden") If FileExists("L:\Windows\System32\Recovery\winre.wim") Then FileCopy("L:\Windows\System32\Recovery\winre.wim", "T:\Recovery\WindowsRE\winre.wim", 1) Else MsgBox(4096, "Let op!", "Herstel image niet gevonden") EndIf If FileExists("T:\Recovery\WindowsRE\winre.wim") Then RunWait("reagentc /setreimage /path T:\Recovery\WindowsRE /target L:\Windows") EndIf EndIf Logb(" - Windows herstel-image maken") If GUICtrlRead($OSLIST) = "Windows 7" Then FileCopy("P:\Software\Levix\W7\recovery-instellen.cmd", "L:\Install\Software\Levix\recovery-instellen.cmd", 1) EndIf If GUICtrlRead($OSLIST) = "Windows 8.1" Then FileCopy("P:\Software\Levix\W81\recovery-instellen.cmd", "L:\Install\Software\Levix\recovery-instellen.cmd", 1) EndIf If $READPARTITION = "Wipe" & " l één partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\Recovery\EFI\wipe.txt", "L:\Install\Software\Levix\diskpart.txt", 1) EndIf If $READPARTITION = "Custom" & " l aangepaste partitie" Then FileCopy("P:\Scripts\Preload\Diskpart\Recovery\EFI\custom.txt", "L:\Install\Software\Levix\diskpart.txt", 1) EndIf $VAR = GUICtrlRead($DISK) $VAR2 = StringLeft($VAR, 6) Local $FIND = "REPLACE2" Local $REPLACE = "SELECT " & $VAR2 Local $FILENAME = "L:\Install\Software\Levix\diskpart.txt" Local $RUN = _ReplaceStringInFile($FILENAME, $FIND, $REPLACE) If $RUN = -1 Then MsgBox(4096, "Waarschuwing", "Diskpart.txt niet kunnen aanpassen, waarschijnlijk diskpart.txt niet aanwezig") EndIf RunWait("P:\recovery.cmd") EndIf ;=====================================END COPY DRIVERS & SOFTWARE===================================================== Logb($LINE) If GUICtrlRead($REBOOTHALT) = $GUI_CHECKED Then Logb("Installatie voltooid op: " & @MDAY & "/" & @MON & "/" & @YEAR & " | " & @HOUR & ":" & @MIN & ":" & @SEC) FileCopy("X:\Preload.log", "L:\Windows\System32\LevixOEM", 1) MsgBox(4096, "Klaar", "Preload is klaar, klik op OK voor uitschakelen") Shutdown(1) ;----------------------------Shutdown en de 1 staat voor uitschakelen EndIf If GUICtrlRead($REBOOTHALT) = $GUI_UNCHECKED Then Logb("Installatie voltooid, het systeem gaat over 5 seconden herstarten.") Logb("Installatie voltooid op: " & @MDAY & "/" & @MON & "/" & @YEAR & " | " & @HOUR & ":" & @MIN & ":" & @SEC) FileCopy("X:\Preload.log", "L:\Windows\System32\LevixOEM", 1) Sleep(5000) ;----------------------------Wachten voor 5 seconden Shutdown(2) ;----------------------------Shutdown en de 2 staat voor herstarten EndIf EndFunc ;=====================================END FUNCTION START============================================================== ;=====================================START LOGBOEK FUNCTION========================================================== Func logb($LOGTEXT) _GUICtrlEdit_AppendText($LOGGER, @CRLF & $LOGTEXT) ;------------------------------Je vind regelmatig in het script een regel die begint met Logb("...") , deze functie zorgt ervoor dat die regel in het Edit veld wordt toegevoegd. FileWriteLine("X:\Preload.log", $LOGTEXT & @CRLF) EndFunc ;=====================================END LOGBOEK FUNCTION============================================================ ;=====================================START CHANGELOG FUNCTION======================================================== Func CHANGELOG() If FileExists("X:\log.txt") Then FileDelete("X:\log.txt") EndIf FileCopy("P:\Changelog\log.txt", "X:\log.txt") Run("notepad.exe X:\log.txt") EndFunc ;=====================================END CHANGELOG FUNCTION========================================================== ;=====================================START UITLEG FUNCTION=========================================================== Func UITLEG() If FileExists("X:\uitleg.txt") Then FileDelete("X:\uitleg.txt") EndIf FileCopy("P:\Changelog\uitleg.txt", "X:\uitleg.txt") Run("notepad.exe X:\uitleg.txt") EndFunc ;=====================================END UITLEG FUNCTION============================================================= ;=====================================START BACKSPACE FUNCTION======================================================== Func _BackSpace() If Not WinActive($gui) Then Return 0 If StringRight($LastInput,1) = "-" Then Return GUICtrlSetData($LICENCEINPUT,StringLeft($LastInput,StringLen($LastInput)-2)) Else Return GUICtrlSetData($LICENCEINPUT,StringLeft($LastInput,StringLen($LastInput)-1)) EndIf EndFunc ;=====================================END BACKSPACE FUNCTION========================================================== ;=====================================START TERMINATE FUNCTION======================================================== Func TERMINATE() WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_SHOW) EXIT EndFunc ;=====================================END TERMINATE FUNCTION========================================================== ;=====================================START GET DRIVE INFO FUNCTION=================================================== Func _GetDriveInfos() Local $var = DriveGetDrive( "FIXED" ) , $specifs[$var[0]][5] For $i = 1 to $var[0] Dim $Services = ObjGet('winmgmts:\\.\root\cimv2') Dim $DiskDrives = $Services.ExecQuery("Select Caption, DeviceID, Size From Win32_DiskDrive") For $DiskDrive In $DiskDrives $query = "Associators of {Win32_DiskDrive.DeviceID='" & $DiskDrive.DeviceID & "'} Where AssocClass = Win32_DiskDriveToDiskPartition" Dim $DiskPartitions = $Services.ExecQuery($query) For $DiskPartition In $DiskPartitions Dim $LogicalDisks = $Services.ExecQuery ("Associators of {Win32_DiskPartition.DeviceID='" & $DiskPartition.DeviceID & "'} Where AssocClass = Win32_LogicalDiskToPartition") For $LogicalDisk In $LogicalDisks If $LogicalDisk.DeviceID = $var[$i] Then $specifs[$i-1][0] = StringUpper($var[$i]) $specifs[$i-1][1] = $DiskDrive.Caption Local $split = StringSplit($DiskPartition.DeviceID, ",") $specifs[$i-1][2] = StringReplace($split[1], "#", "") ; disk $specifs[$i-1][3] = StringReplace($split[2], "#", "") ; part $specifs[$i-1][4] = Int($DiskDrive.Size / 1024^3) ;& "GB" EndIf Next Next Next Next Return $specifs EndFunc ;=====================================END GET DRIVE INFO FUNCTION===================================================== Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now