JimC Posted February 19, 2008 Share Posted February 19, 2008 (edited) Hello, I have written a gui using autoit to create a unattended cd. I used the attached utility via autoit to integrate drivers into the XP source, but i crashes all the time and it is annoying. Any who i would like to see if it can be coded to be completey done in autoit. I will explain how the process works: You have a directory stucture that houses the drivers like: Driver/1c and subdirs containing the drivers for the chipset /2v and subdirs containing the drivers for video and so on for the rest of the dirvers. Each directory contains the drivers for said devices and an .inf file for that driver(There may be more than 1 inf in each directory). The important thing is the [sourceDisksFiles] Section of the inf. This outlines the files that are necesarry for the driver to work. 1)The process is top copy this driver structure to the I386\Drivers directory 2)Search each subdir for an inf file and verify all the files in the [sourceDisksFiles] Section exists If it does it can be integrated and if not then flag dir so cant be integrated 3)for each driver the txtsetup.sif needs to be modified in the I386 directory of the xp source a)The section [sourceDiskNames.x86] needs to be appended to with the folowing, add the following directories starting with 1001 and adding one for each directory 1001= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\6-d" 1002= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\5-m\Sp360004" 1003= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\5-m\R53654" 1004= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\5-m\R147115" 1005= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\5-m\R114200" 1006= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\5-m\R104087" 1007= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\sp34152" 1008= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R97592" 1009= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R97582" 1010= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R87461" 1011= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R66787" 1012= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R151972" 1013= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R133052" 1014= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R132254" 1015= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\4-n\R116101" 1016= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\SP35475" 1017= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\SP34030" 1018= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\SP34030\KB888111" 1019= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R99254\WDM" 1020= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R97809" 1021= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R90698" 1022= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R58182" 1023= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R56339" 1024= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R153908" 1025= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R122161" 1026= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\3-a\R105155" 1027= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\sp35359" 1028= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\sp35359\B_42812" 1029= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\SP33525" 1030= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\SP33525\B_34944" 1031= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R88792" 1032= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R68764" 1033= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R68764\B_10679" 1034= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R58746" 1035= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R156712\HDMI" 1036= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R156712\Graphics" 1037= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R137843" 1038= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R126991" 1039= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\2-v\R126542" 1040= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\SP33927" 1041= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R99397" 1042= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R99394" 1043= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R96614" 1044= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R96614\SP" 1045= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R153997" 1046= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R131562" 1047= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R118436" 1048= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R114084" 1049= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R114079" 1050= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R114079\SP" 1051= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R111550" 1052= %cdname%,%cdtagfilei%,,"\i386\DRIVERS\1-c\R111541" b)You would need to append the [WinntDirectories] section of this file starting with 1001 and adding an entry for every directory 1001= "DRIVERS\6-d" 1002= "DRIVERS\5-m\Sp360004" 1003= "DRIVERS\5-m\R53654" 1004= "DRIVERS\5-m\R147115" 1005= "DRIVERS\5-m\R114200" 1006= "DRIVERS\5-m\R104087" 1007= "DRIVERS\4-n\sp34152" 1008= "DRIVERS\4-n\R97592" 1009= "DRIVERS\4-n\R97582" 1010= "DRIVERS\4-n\R87461" 1011= "DRIVERS\4-n\R66787" 1012= "DRIVERS\4-n\R151972" 1013= "DRIVERS\4-n\R133052" 1014= "DRIVERS\4-n\R132254" 1015= "DRIVERS\4-n\R116101" 1016= "DRIVERS\3-a\SP35475" 1017= "DRIVERS\3-a\SP34030" 1018= "DRIVERS\3-a\SP34030\KB888111" 1019= "DRIVERS\3-a\R99254\WDM" 1020= "DRIVERS\3-a\R97809" 1021= "DRIVERS\3-a\R90698" 1022= "DRIVERS\3-a\R58182" 1023= "DRIVERS\3-a\R56339" 1024= "DRIVERS\3-a\R153908" 1025= "DRIVERS\3-a\R122161" 1026= "DRIVERS\3-a\R105155" 1027= "DRIVERS\2-v\sp35359" 1028= "DRIVERS\2-v\sp35359\B_42812" 1029= "DRIVERS\2-v\SP33525" 1030= "DRIVERS\2-v\SP33525\B_34944" 1031= "DRIVERS\2-v\R88792" 1032= "DRIVERS\2-v\R68764" 1033= "DRIVERS\2-v\R68764\B_10679" 1034= "DRIVERS\2-v\R58746" 1035= "DRIVERS\2-v\R156712\HDMI" 1036= "DRIVERS\2-v\R156712\Graphics" 1037= "DRIVERS\2-v\R137843" 1038= "DRIVERS\2-v\R126991" 1039= "DRIVERS\2-v\R126542" 1040= "DRIVERS\1-c\SP33927" 1041= "DRIVERS\1-c\R99397" 1042= "DRIVERS\1-c\R99394" 1043= "DRIVERS\1-c\R96614" 1044= "DRIVERS\1-c\R96614\SP" 1045= "DRIVERS\1-c\R153997" 1046= "DRIVERS\1-c\R131562" 1047= "DRIVERS\1-c\R118436" 1048= "DRIVERS\1-c\R114084" 1049= "DRIVERS\1-c\R114079" 1050= "DRIVERS\1-c\R114079\SP" 1051= "DRIVERS\1-c\R111550" 1052= "DRIVERS\1-c\R111541 c) You would need to append the [sourceDisksFiles.x86] section of this file starting with 1001 and adding an entry for every file listed in the [sourceDisksFiles] of the .inf for each inf file in each driver directory If there is a cat file that exists in the directory it needs to be added to this list as well. AGRMDwxp.cat = 1002,,,,,,,1002,0,0 AGRMDwxp.inf = 1002,,,,,,,1002,0,0 AGRSM.sys = 1002,,,,,,,1002,0,0 agrsmdel.exe = 1002,,,,,,,1002,0,0 hpq0033m.cat = 1002,,,,,,,1002,0,0 hpq0033m.inf = 1002,,,,,,,1002,0,0 hpqZ3795.cat = 1002,,,,,,,1002,0,0 hpqZ3795.inf = 1002,,,,,,,1002,0,0 HSFHWAZL.sys = 1002,,,,,,,1002,0,0 HSFProf.cty = 1002,,,,,,,1002,0,0 HSF_CNXT.sys = 1002,,,,,,,1002,0,0 HSF_DPV.sys = 1002,,,,,,,1002,0,0 mdmxsdk.dll = 1002,,,,,,,1002,0,0 mdmxsdk.sys = 1002,,,,,,,1002,0,0 UCI32M19.dll = 1002,,,,,,,1002,0,0 UIU32m.exe = 1002,,,,,,,1002,0,0 4)The next thing you need to do is modify the doesnet.inf file in the I386 directory of the xp source a) The [Directories] section of the file needs to be appended for entries for each directory in the driver structure starting with 1001 with a prefix of "d" d1001= "\i386\DRIVERS\6-d" d1002= "\i386\DRIVERS\5-m\Sp360004" d1003= "\i386\DRIVERS\5-m\R53654" d1004= "\i386\DRIVERS\5-m\R147115" d1005= "\i386\DRIVERS\5-m\R114200" d1006= "\i386\DRIVERS\5-m\R104087" d1007= "\i386\DRIVERS\4-n\sp34152" d1008= "\i386\DRIVERS\4-n\R97592" d1009= "\i386\DRIVERS\4-n\R97582" d1010= "\i386\DRIVERS\4-n\R87461" d1011= "\i386\DRIVERS\4-n\R66787" d1012= "\i386\DRIVERS\4-n\R151972" d1013= "\i386\DRIVERS\4-n\R133052" d1014= "\i386\DRIVERS\4-n\R132254" d1015= "\i386\DRIVERS\4-n\R116101" d1016= "\i386\DRIVERS\3-a\SP35475" d1017= "\i386\DRIVERS\3-a\SP34030" d1018= "\i386\DRIVERS\3-a\SP34030\KB888111" d1019= "\i386\DRIVERS\3-a\R99254\WDM" d1020= "\i386\DRIVERS\3-a\R97809" d1021= "\i386\DRIVERS\3-a\R90698" d1022= "\i386\DRIVERS\3-a\R58182" d1023= "\i386\DRIVERS\3-a\R56339" d1024= "\i386\DRIVERS\3-a\R153908" d1025= "\i386\DRIVERS\3-a\R122161" d1026= "\i386\DRIVERS\3-a\R105155" d1027= "\i386\DRIVERS\2-v\sp35359" d1028= "\i386\DRIVERS\2-v\sp35359\B_42812" d1029= "\i386\DRIVERS\2-v\SP33525" d1030= "\i386\DRIVERS\2-v\SP33525\B_34944" d1031= "\i386\DRIVERS\2-v\R88792" d1032= "\i386\DRIVERS\2-v\R68764" d1033= "\i386\DRIVERS\2-v\R68764\B_10679" d1034= "\i386\DRIVERS\2-v\R58746" d1035= "\i386\DRIVERS\2-v\R156712\HDMI" d1036= "\i386\DRIVERS\2-v\R156712\Graphics" d1037= "\i386\DRIVERS\2-v\R137843" d1038= "\i386\DRIVERS\2-v\R126991" d1039= "\i386\DRIVERS\2-v\R126542" d1040= "\i386\DRIVERS\1-c\SP33927" d1041= "\i386\DRIVERS\1-c\R99397" d1042= "\i386\DRIVERS\1-c\R99394" d1043= "\i386\DRIVERS\1-c\R96614" d1044= "\i386\DRIVERS\1-c\R96614\SP" d1045= "\i386\DRIVERS\1-c\R153997" d1046= "\i386\DRIVERS\1-c\R131562" d1047= "\i386\DRIVERS\1-c\R118436" d1048= "\i386\DRIVERS\1-c\R114084" d1049= "\i386\DRIVERS\1-c\R114079" d1050= "\i386\DRIVERS\1-c\R114079\SP" d1051= "\i386\DRIVERS\1-c\R111550" d1052= "\i386\DRIVERS\1-c\R111541" The next thing you need to do is append the [Files] section of this file with entries in the [sourceDisksFiles] of the .inf for each inf file in each driver directory If there is a cat file that exists in the directory it needs to be added to this list as well. d1002,AGRMDwxp.cat d1002,AGRMDwxp.inf d1002,AGRSM.sys d1002,agrsmdel.exe d1002,hpq0033m.cat d1002,hpq0033m.inf d1002,hpqZ3795.cat d1002,hpqZ3795.inf d1002,HSFHWAZL.sys d1002,HSFProf.cty d1002,HSF_CNXT.sys d1002,HSF_DPV.sys d1002,mdmxsdk.dll d1002,mdmxsdk.sys d1002,UCI32M19.dll d1002,UIU32m.exe 5) The last thing that needs to happen is that we need to compress every file in each directory in the i386\Drivers\ subdir except for the .inf and .cat files using the makecab utility I know this sounds like a complicated process , but my big promlem is how to seach directories then search for sections in the .inf files. I thought I could use the inireadsection function but that wont work becasue these are inf. Any help you can provide to start this would be greatly appreciated.DriverCompressor.7z Edited February 19, 2008 by JimC 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