Tech Documentation

October 25th, 2009

BootZilla tech doc #1
For re-development of BootZilla
Based on v5.2.0’s BZUpdate.cmd file.

Currently, the script is composed of several functions, all of which have their little key role in the toolset.

bzUpdate.cmd — the controller, the main function.

Within bzUpdate, we have the following functions:

bz_menu = Displays the main menu and prompt for menu selection

bz_options = Displays user-defineable proxy-server settings, and retries. Also offers a toggle for 64-bit downloads.

bz_cdir = Calls createdirs.cmd. Also logs the step that bzupdate is in. Waits for createdirs.cmd to finish, then executes the sanitize.cmd script. It then resets the logging options, and moves on to the bz_build2 function. [was once known as _build]

bz_build2 = Checks for sanitize.cmd, and sets sm. to 1 if it is missing. It then calls bz_fileerror if sanitize.cmd is missing. Checks for wget.exe, and sets wm to 1 if it is missing. It then calls bz_error if wget.exe is missing, as wget is a critical file, and building BootZilla is impossible without it. It updates the log file once the dependency checks are completed, and continues with a check for 7z.exe and 7z.dll. It will download them if they are missing. Then it calls bz_utils.cmd, and waits for it to complete, then executes bz_apps.cmd, waits for it to execute, then run bz_mal.cmd and waits for it to execute, then calls decompress.cmd, waits for it to execute, and calls the bz_finisher function.

bz_upd = Logs current status, then checks for the 7z dependency and fixes it if it is missing. Next, it downloads the minilatest.7z file, and extracts it into the updatesstaging sub-directory. From there, it executes xcopy and copies only the latest updated files from the extracted patch into the root directory. It then deletes the contents of the staging directory, and restarts the script by calling bz_menu. It also sets _npatch to 1. [I think npatch is checked somewhere… not sure]

bz_upgrade = Does same function as above, but uses the latest.7z file instead. This function is not currently used, but was included for future use.

bz_qupd = Just calls bz_mal.cmd and returns to bz_menu.

bz_cleanup = “CleanUpdate” - It compares your build number to the last supported build - in this case, 090915 is the oldest version supported by the build script. If the build date is older than 080802, it calls the bz4to5.cmd script, which converts the cached build to v5.2. Once that’s done, it’ll set the build date to 090915 if the date is any older than 090915. It then calls Oldupds.cmd from the updates folder. It waits and returns, and then calls updates%build%.cmd, where it will always execute 090915.cmd if your build is anything other than 090915. Otherwise, if it’s newer than 090915, it’ll attempt to call a build file for your build. Once all that is done, it’ll return to bz_menu.

bz_boot = Checks for 7zip dependency and fixes it if missing. Downloads the latest bzbcd.7z file. Extracts the bzbcd.7z file into the CGT directory. Checks for any patches named bcdpatch.7z on the server, downloads and extracts them if they exist into the CGT sub-directory. It then deletes the contents of the CGTBZ directory, if it exists, then deletes the folder, then re-creates the BZ Sub-directory. It then copies all of the BZ directory into the CGTBZ subdirectory. Once completed, it will launch imgburn.exe with a custom project file (bootzilla.ibb). The script waits for imgburn.exe to exit, and if its errorlevel is 0, it will display a success message to the user. Returns to bz_menu.

bz_readlog = launches notepad.exe to view changelog.txt. Returns to bz_menu.

bz_addonpacks = if bz_addons.cmd exists, this function calls it. If bz_addons_upd.cmd exists, the function will also call it. Returns to bz_menu.

bz_finisher = Last 2 steps of bz_cleanupd are repeated - calls sanitize.cmd, then extracts bzar5.7z to base BZ directory. It then checks to see if a specific build-cleanup script exists for your build, then calls bz_cleanupd if such a script does exist. Returns to bz_menu.

bz_fileerror = Displays text saying that a script file is missing, and calls bz_upd to try and re-download the latest.7z file in hopes of replacing the missing file. If sm=1, it tells the user that sanitize.cmd is missing.

bz_error = Displays text saying that critical files are missing, and to email [email protected] the log file. This is a dummy function - “you should never see this”.

end = Does one last cleanup of the updatesstaging directory. Resets the console colors and executes endlocal, to remove all local variables from memory.

And there you have it, BZUpdate.cmd in a nutshell. There’s room for improvment.

  1. joyce
    January 11th, 2009 at 13:25 | #1

    no comment thanks for doing this hope it works on my dd’s crashed pc. i just want to get to the faq’s

  2. Nick Kaplanis
    January 19th, 2009 at 21:41 | #2

    I downloaded some time ago, and decided yesterday to run my AVG antivirus, which reported 3 files within the zip file as infected with viruses and moved the file to the recycle bin.
    DO you know anything about this? Will the new version 5.1 fix the problem of being reported as containing viruses or spyware? Thanks

  3. piero
    January 27th, 2009 at 09:35 | #3

    i’ve download bootzilla, i’ve create a boot cd but if i try to start it, i only see a screen with a menu with:mem test, hhdisk test, xp recovery, and other hardware utilities. how kan i start the antivirus uitilities and the scanning?

  4. Jay Statham
    February 20th, 2009 at 05:45 | #4

    Thank you!

  5. admin
    February 24th, 2009 at 18:17 | #5

    The boot cd functionality is a hardware-diagnostic system. If you need a boot cd environment that has antivirus scanning, try the ubcd4win project, which offers such functionality.

  6. admin
    February 24th, 2009 at 18:19 | #6

    I’m well aware of the detected ‘viruses’. They are all false-positives, as a few of the included utilities are password-viewers, and product key viewers. In version 5.1, the toolset has been heavily modified to try and remove any false-positive utilities. As of right this minute, there are 2-3 files in v5.1 that could possibly trigger an antivirus program to detect the whole zip file as being infected.

  7. Danilo
    March 31st, 2009 at 12:50 | #7

    Any step by step help please ?
    How to create an iso boot ?
    How to upgrade it ?
    Any XP app with XP GUI in little future ?

  8. G.F.
    July 23rd, 2009 at 08:43 | #8

    I would be willing to donate x2 what professional versions of this software are going for (sale) for aide in building ISO (with what is shown in your screenshots). I think most professionals would, might be a good service to offer. I would gladly pay for updates as well, please contact me.

  9. admin
    September 10th, 2009 at 03:54 | #9

    There’s no professional version at the moment, but it is being considered.

  1. No trackbacks yet.