Jump to content

Xplode4 Script Generator Now Available


Maelstorm

Recommended Posts

***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 database

GenData.vbs - Generates database for GenXPlode.vbs

My 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 packages

FONT-*.CMD - font families and packages

MEDIA-*.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.txt

That 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.CMD
SOFTWARE-DOTNET.CMD
SOFTWARE-DOTNETSP.CMD
SOFTWARE-MOZILLA.CMD
SOFTWARE-FIREFOX.CMD
SOFTWARE-THUNDERBIRD.CMD
SOFTWARE-SUNBIRD.CMD
SOFTWARE-NETSCAPE.CMD
SOFTWARE-FLSWMOZ.CMD
SOFTWARE-FLSWMSIE.CMD
SOFTWARE-ITUNES.CMD
SOFTWARE-WMP.CMD
SOFTWARE-QUICKTIME.CMD
SOFTWARE-QUICKTIMEPLUGIN.CMD
SOFTWARE-REALPLAYER.CMD
SOFTWARE-REALPLAYERPLUGIN.CMD
SOFTWARE-MUSICMATCH.CMD
SOFTWARE-ACROBAT.CMD
SOFTWARE-AOL.CMD
SOFTWARE-STAROFFICE.CMD
SOFTWARE-STAROFFICEPATCH.CMD
SOFTWARE-WEBWASHER.CMD

Then 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.0c
SOFTWARE-DOTNET.CMD  Microsoft .NET Framework 1.1
SOFTWARE-DOTNETSP.CMD  Microsoft .NET Framework 1.1 Service Pack 1
SOFTWARE-MOZILLA.CMD  Mozilla Browser Suite
SOFTWARE-FIREFOX.CMD  Mozilla Firefox Web Browser
SOFTWARE-THUNDERBIRD.CMD Mozilla Thunderbird E-Mail Client
SOFTWARE-SUNBIRD.CMD  Mozilla Sunbird Calander
SOFTWARE-NETSCAPE.CMD  Netscape Communicator
SOFTWARE-FLSWMOZ.CMD  Macromedia Flash/Shockwave Player for Mozilla
SOFTWARE-FLSWMSIE.CMD  Macromedia Flash/Shockwave Player for Internet Explorer
SOFTWARE-ITUNES.CMD  Apple iTunes Media System
SOFTWARE-WMP.CMD  Windows Media Player 10
SOFTWARE-QUICKTIME.CMD  Apple QuickTime
SOFTWARE-QUICKTIMEPLUGIN.CMD Apple QuickTime Plugins
SOFTWARE-REALPLAYER.CMD  RealNetworks RealOnePlayer
SOFTWARE-REALPLAYERPLUGIN.CMD RealNetworks RealOnePlayer Plugins
SOFTWARE-MUSICMATCH.CMD  MusicMatch Jukebox Media System
SOFTWARE-ACROBAT.CMD  Adobe Acrobat Reader
SOFTWARE-AOL.CMD  America Online
SOFTWARE-STAROFFICE.CMD  Sun Microsystems Star Office
SOFTWARE-STAROFFICEPATCH.CMD Sun Microsystems Star Office Patch
SOFTWARE-WEBWASHER.CMD  Cyber Guard Web Washer 3.4

Once 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.

Link to comment
Share on other sites


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 284

My 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.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...