Paraglider BartPE Plugins


This is a utility to process the Sherpya XPEInit registry entries and generate the shortcuts prior to building the ISO file.

This utility was written by Paraglider with help from the Sherpya XPEInit source.


GenShortcuts  {/ns|-ns}
              {/ds|-ns <output directory name>}
              <PEBuilder Output Directory>

If /ns or -ns is specified then the shortcuts for the startup folder will not be generated and the Sherpya startup registry entries will be left in the registry hive.

If  /ds or  -ds  is specified then the shortcuts will be created in the specified directory name ( should not contain any path information ). You would use this parameter if you are building a none English version of BartPE and you want the shortcut directory to still be "Documents and Settings". The directory name should be separated from the /ds or -ds by at least one space and if the directory name contains spaces must be enclosed with " ( double quotes ).

If  /d or  -d  is specified then debugging information is output to a file named GenShortcuts.log in the same directory as the GenShortcuts program.

An example usage would thus be:

Genshortcuts /ns /ds "Documents and Settings" /d d:\pebldr

It usually will be invoked by configuring PeBuilder to run a command file instead of mkisofs. The program processes the XPEInit registry information, generates the shortcuts in the 'All Users' profile and delete the entries from the registry. If the generation works without any errors then the the program will set an errorlevel of 0. Otherwise if errors are discovered the errorlevel will be set to 1.

I configure my profiles so they are on the CD so no further action is required on PE boot. If the profiles are configured to run in the RAM disk then on startup the 'Documents And Settings' directory tree should be copied to the RAM disk with

xcopy "%SystemDrive%\documents and settings" 
      "%ramdrv%\documents and settings\" 
Note that if using none English versions of PE then 'documents and settings' should be replaced with the foreign equivalent.

Assuming a command file build.cmd is used then the [BuildISO] section of PEBuilder.inf should be changed to:

exec="build.cmd ""@IsoFile@"" ""@OutDir@"""

An example build.cmd file can be found in the zip file:

if X%1X == XX ( echo Missing parameter & goto :end )
if X%2X == XX ( echo Missing parameter & goto :end )
GenShortcuts %2

mkisofs.exe -iso-level 4 -volid "BartPE" -A PEBUILDER/MKISOFS 
            -sysid "Win32" -b bootsect.bin -no-emul-boot 
            -boot-load-size 4 -hide bootsect.bin 
            -hide boot.catalog -o %1 %2