Maelstorm Posted March 25, 2005 Posted March 25, 2005 ***NOTICE*** This post has been superceeded by this thread. This thread does contain alot of usefull information about how to use this software though.Well, this was my learning excercise in VBScript programming, so if you find any bugs, let me know. Oh, I know most of you don't care, but!!!READ THE GENXPLODE.VBS FILE!!!!If you didn't read the comments that I put in there, then I will not help you, period.I have made the code as bullet proof as possible, but I still may have overlooked something. Reply to this thread if you find a bug or need assistance. I will not respond to emails. I'm logged in here every couple of days or so.There are two programs invloved here.GenXPlode.vbs - Generates XML data from preconfigured databaseGenData.vbs - Generates database for GenXPlode.vbsMy install architecture is that everything is installed from a script. One script per program. All operations for that one program (installing, moving, copying, deleting, registry, tweaks, etc) is handled by that one script. Futhermore, all my scripts are in one directory and are labeled as follows:SOFTWARE-*.CMD - software packagesFONT-*.CMD - font families and packagesMEDIA-*.CMD - icons, themes, sounds, wallpapers, etc...So the defaults in the code generator make sense on my system and setup. Just about everything is declared in constants at the beginning of the two programs, so they should be easy to modify for your system. Remember, all files that are used are tab delimited between fields, so keep that in mind if you manually edit a file. Also, the XML code generator only understand 5 record types, so hence it will only generate the 5 main header/action tags that are used:ITEMSOP - <items>ITEMSED - </items>ITEMOP - <item>ITEMED - </item>EXEC - <execute> and all related sub tags. </execute>So with this in mind, I perform the following actions:dir /b software-*.cmd > software.txtThat results in a file like the one below. Note that the file is not in order as I have already sequenced the order in which software is to be installeded. This is just an example.SOFTWARE-DIRECTX.CMDSOFTWARE-DOTNET.CMDSOFTWARE-DOTNETSP.CMDSOFTWARE-MOZILLA.CMDSOFTWARE-FIREFOX.CMDSOFTWARE-THUNDERBIRD.CMDSOFTWARE-SUNBIRD.CMDSOFTWARE-NETSCAPE.CMDSOFTWARE-FLSWMOZ.CMDSOFTWARE-FLSWMSIE.CMDSOFTWARE-ITUNES.CMDSOFTWARE-WMP.CMDSOFTWARE-QUICKTIME.CMDSOFTWARE-QUICKTIMEPLUGIN.CMDSOFTWARE-REALPLAYER.CMDSOFTWARE-REALPLAYERPLUGIN.CMDSOFTWARE-MUSICMATCH.CMDSOFTWARE-ACROBAT.CMDSOFTWARE-AOL.CMDSOFTWARE-STAROFFICE.CMDSOFTWARE-STAROFFICEPATCH.CMDSOFTWARE-WEBWASHER.CMDThen I open the file in notepad and at the end of each line, I add one or more tabs and add a title to it:SOFTWARE-DIRECTX.CMD Microsoft DirectX 9.0cSOFTWARE-DOTNET.CMD Microsoft .NET Framework 1.1SOFTWARE-DOTNETSP.CMD Microsoft .NET Framework 1.1 Service Pack 1SOFTWARE-MOZILLA.CMD Mozilla Browser SuiteSOFTWARE-FIREFOX.CMD Mozilla Firefox Web BrowserSOFTWARE-THUNDERBIRD.CMD Mozilla Thunderbird E-Mail ClientSOFTWARE-SUNBIRD.CMD Mozilla Sunbird CalanderSOFTWARE-NETSCAPE.CMD Netscape CommunicatorSOFTWARE-FLSWMOZ.CMD Macromedia Flash/Shockwave Player for MozillaSOFTWARE-FLSWMSIE.CMD Macromedia Flash/Shockwave Player for Internet ExplorerSOFTWARE-ITUNES.CMD Apple iTunes Media SystemSOFTWARE-WMP.CMD Windows Media Player 10SOFTWARE-QUICKTIME.CMD Apple QuickTimeSOFTWARE-QUICKTIMEPLUGIN.CMD Apple QuickTime PluginsSOFTWARE-REALPLAYER.CMD RealNetworks RealOnePlayerSOFTWARE-REALPLAYERPLUGIN.CMD RealNetworks RealOnePlayer PluginsSOFTWARE-MUSICMATCH.CMD MusicMatch Jukebox Media SystemSOFTWARE-ACROBAT.CMD Adobe Acrobat ReaderSOFTWARE-AOL.CMD America OnlineSOFTWARE-STAROFFICE.CMD Sun Microsystems Star OfficeSOFTWARE-STAROFFICEPATCH.CMD Sun Microsystems Star Office PatchSOFTWARE-WEBWASHER.CMD Cyber Guard Web Washer 3.4Once that is done, then I run the GenData.vbs on the file. The resulting file is as follows:ITEMSOP ??ITEMOP Microsoft DirectX 9.0c ??EXEC %SCRIPTSDIR%\SOFTWARE-DIRECTX.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Microsoft .NET Framework 1.1 ??EXEC %SCRIPTSDIR%\SOFTWARE-DOTNET.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Microsoft .NET Framework 1.1 Service Pack 1 ??EXEC %SCRIPTSDIR%\SOFTWARE-DOTNETSP.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Mozilla Browser Suite ??EXEC %SCRIPTSDIR%\SOFTWARE-MOZILLA.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Mozilla Firefox Web Browser ??EXEC %SCRIPTSDIR%\SOFTWARE-FIREFOX.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Mozilla Thunderbird E-Mail Client ??EXEC %SCRIPTSDIR%\SOFTWARE-THUNDERBIRD.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Mozilla Sunbird Calander ??EXEC %SCRIPTSDIR%\SOFTWARE-SUNBIRD.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Netscape Communicator ??EXEC %SCRIPTSDIR%\SOFTWARE-NETSCAPE.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Macromedia Flash/Shockwave Player for Mozilla ??EXEC %SCRIPTSDIR%\SOFTWARE-FLSWMOZ.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Macromedia Flash/Shockwave Player for Internet Explorer ??EXEC %SCRIPTSDIR%\SOFTWARE-FLSWMSIE.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Apple iTunes Media System ??EXEC %SCRIPTSDIR%\SOFTWARE-ITUNES.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Windows Media Player 10 ??EXEC %SCRIPTSDIR%\SOFTWARE-WMP.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Apple QuickTime ??EXEC %SCRIPTSDIR%\SOFTWARE-QUICKTIME.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Apple QuickTime Plugins ??EXEC %SCRIPTSDIR%\SOFTWARE-QUICKTIMEPLUGIN.CMD %BASEDIR% F T ??ITEMED ??ITEMOP RealNetworks RealOnePlayer ??EXEC %SCRIPTSDIR%\SOFTWARE-REALPLAYER.CMD %BASEDIR% F T ??ITEMED ??ITEMOP RealNetworks RealOnePlayer Plugins ??EXEC %SCRIPTSDIR%\SOFTWARE-REALPLAYERPLUGIN.CMD %BASEDIR% F T ??ITEMED ??ITEMOP MusicMatch Jukebox Media System ??EXEC %SCRIPTSDIR%\SOFTWARE-MUSICMATCH.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Adobe Acrobat Reader ??EXEC %SCRIPTSDIR%\SOFTWARE-ACROBAT.CMD %BASEDIR% F T ??ITEMED ??ITEMOP America Online ??EXEC %SCRIPTSDIR%\SOFTWARE-AOL.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Sun Microsystems Star Office ??EXEC %SCRIPTSDIR%\SOFTWARE-STAROFFICE.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Sun Microsystems Star Office Patch ??EXEC %SCRIPTSDIR%\SOFTWARE-STAROFFICEPATCH.CMD %BASEDIR% F T ??ITEMED ??ITEMOP Cyber Guard Web Washer 3.4 ??EXEC %SCRIPTSDIR%\SOFTWARE-WEBWASHER.CMD %BASEDIR% F T ??ITEMED ??ITEMSED ??Then I run the GenXPlode.vbs script against the file that GenData made. This is the result:<items> <item display="Microsoft DirectX 9.0c"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-DIRECTX.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Microsoft .NET Framework 1.1"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-DOTNET.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Microsoft .NET Framework 1.1 Service Pack 1"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-DOTNETSP.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Mozilla Browser Suite"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-MOZILLA.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Mozilla Firefox Web Browser"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-FIREFOX.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Mozilla Thunderbird E-Mail Client"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-THUNDERBIRD.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Mozilla Sunbird Calander"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-SUNBIRD.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Netscape Communicator"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-NETSCAPE.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Macromedia Flash/Shockwave Player for Mozilla"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-FLSWMOZ.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Macromedia Flash/Shockwave Player for Internet Explorer"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-FLSWMSIE.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Apple iTunes Media System"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-ITUNES.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Windows Media Player 10"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-WMP.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Apple QuickTime"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-QUICKTIME.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Apple QuickTime Plugins"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-QUICKTIMEPLUGIN.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="RealNetworks RealOnePlayer"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-REALPLAYER.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="RealNetworks RealOnePlayer Plugins"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-REALPLAYERPLUGIN.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="MusicMatch Jukebox Media System"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-MUSICMATCH.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Adobe Acrobat Reader"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-ACROBAT.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="America Online"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-AOL.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Sun Microsystems Star Office"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-STAROFFICE.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Sun Microsystems Star Office Patch"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-STAROFFICEPATCH.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> <item display="Cyber Guard Web Washer 3.4"> <execute> <program>%SCRIPTSDIR%\SOFTWARE-WEBWASHER.CMD</program> <arguments>%BASEDIR%</arguments> <hide>False</hide> <wait>True</wait> </execute> </item> </items>Now just drop this code into your xplode config file and away you go.Depending on how well this is recieved, I'll implement more tags that this program recongizes.[EDIT]Download has been removed. See new thread which has the new version here.
Glowy Posted March 25, 2005 Posted March 25, 2005 ****! I just finished translating my old XPlode XML to XPlode4...NOW you tell me there's some handy tool like this downloading now.. sleeping later... testing tomorrow...THNX so far!
Maelstorm Posted April 3, 2005 Author Posted April 3, 2005 Thanks for the feedback. I'm glad that someone found it usefull.There is an update in the works that will add more record types such as user/group management, registry, and misc. I have a minor update ready now, but it just includes a command line enhancement: It does not popup a dialog box indicating that it is finished. If run from the command line with all the required parameters, and there are no semantic errors in the data to be processed, then it will run completely silent. Good for scripting.The idea that I have is to run a program like WIHU to select all the options, and for each command do something like this:command0.1=CMD.EXE /C %BASEDIR%\SCRIPTS\SYSTEM-MAININDEX.CMD 284My system-mainindex.cmd has 2000 IF statements. The parameter 284 corresponds to an echo command that echos the scriptname 1 or more tabs and a description to a file, which happens to be the correct format that gendata.vbs uses to generate the db file for genxplode.vbs.The reason behind doing this is to do a conditional install with Xplode, which Xplode itself doesn't support.If anyone is interested, reply to this thread and I'll post the entire package of what I have now in the first post. But remember it's in extreme alpha stage.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now