This week I was working on a project to replace my BartPE environment with a more recent solution so I decided to go for Win7RescuePE. I did a lot of new script for myself (basically all based on the same script framework).
Something I never liked about the scripts is that they come with pre-bundled binaries. From my point of view it makes it difficult to maintain the scripts and they get outdated quite quickly. So my approach was to write the scripts in a way that they can work with future releases too and at runtime (or on user request) update themselves. With most applications I've been quite successful. I also tried to keep the scripts generic in order that it's very likely that future releases of the applications are supported too by simply updating the download URL.
So I would like to share my results in the hope that somebody might find one or another script useful.
New Scripts.
These scripts are not part of Win7RescuePE - maybe some of the applications are available as scripts already but especially I did not find them with a download feature which from my point of view makes it much easier to keep the files up to date. In addition this keeps script download size very small. So all the scripts together are less than 1MB in size but if you build it it will create a WinBuilder image of about 1.5GB in size including all applications. The only embedded files are supplementary files required to deal with the downloaded sources.
- UnknownDevices
- Auslogics Defrag
- FreeCommander
- WinDirStat
- XnView
- Firefox
- IP-Tools (KS-Soft)
- LanSpy
- MiTeC Network Scanner
- PuTTY
- Skype
- Thunderbird
- WinSCP
- Wireshark
- WinPcap
- Convert
- HxD Hex Editor
- MiTeC Hex Editor
- MiTeC Mail Viewer
- OpenOffice.org
- WinMerge
- PC Inspector File Recovery
- TestDisk & PhotoRec
- Foundstone Conficker Detection Tool
- John the Ripper
- PasswordsPro
- Sala's Password Renew
- SAMInside
- BlueScreenView
- CPU-z
- Drive Snapshot
- Java Runtime Environment
- MiTeC Registry Recovery
- Process Explorer
- Process Monitor
- RegAlyzer
- DiskSpeed
- MonTest
Modified scripts:
These scripts are part of Win7RescuePE and have been modified. Usually the modification is only related to the download feature. The script does not include any "hard-coded" files any more. This allows one ot update the download URL to update the package (as long as the installer is not changed by the project too much).
- Avira
- Works with AntiVir 9
- Configurable download URLs
- If update is selected updates program and signatures
- Fixed possible If-end-else syntax problems
- Using built-in CopyProgram API
- Modularized script (cleans up process)
- Automatic start menu folder creation (optional)
- Spybot - Search & Destroy
- Full automatic download from Internet (no included files needed)
- Configurable download URLs
- Automatic start menu folder creation (optional)
7-Zip
- Full automatic download from Internet (no included files needed)
- Enhanced Context Menu - Support for Drives
- Automatic start menu folder creation (optional)
InfraRecorder
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
HDD Scan
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
FileZilla
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
Opera USB
- Can replace the opera package
- Full automatic download from Internet (no included files needed)
SoftPerfect Network Scanner
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
Recuva
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
Restoration
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
NTPWEdit
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
Agent Ransack
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
Dependency Walker
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
UniExtract
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
- Some Script re-structuring
- Fixed registry when program is written to another program folder
UnstoppableCopier
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
- Some Script re-structuring
Q-Dir
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
a43
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
- Added automatic language download
Super Finder XT
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
HDD-Scan
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
WinDLG
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
MbrFix
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
SumatraPDF
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
SystemExplorer
- Full automatic download from Internet (no included files needed)
- Automatic start menu folder creation (optional)
In addition I've modified some included scripts to fit my needs (maybe somebody finds it useful too).
Grub4DOS
- Allows to set colors in graphical mode
- Allows to select a skin (*.gz) instead just the built-in
- No built-in skins
- Direct download of binaries from Sourceforge
Memtest86+
- Direct download of required binary
- Integration into grub menu.lst
- Should automatically support future versions
Parted Magic
- Direct download of required binaries
- Integration into grub menu.lst
- Hopefully automatically supports future versions
PostConfig
- Added compression selection
CreateISO
- Removed Grub4Dos code and boot manager attachments
- Just does a single task: Packing the ISO
A general problem I faced with my Java RT script is that Environment variables set within the registry "HKLM\System\ControlSet001\Control\Session Manager\Environment" are set properly via peldr but not applied. As a work-around I've created an Environment Fix script which places a shortcut on the desktop. It simply runs "setx.exe" (needs Win7 DVD) which seems to make Windows re-read the environment variables.
I've tried as well to add a "setx.exe" program using "AddAutoRun" or "AddPostConfig" but at this stage it does not seem to work as expected - setx.exe only works when run from running (Explorer) shell. Maybe Joshua can have a look at it. The problem with this issue is that I cannot set JAVA_HOME as a new environment variable and I have to append %JAVA_HOME%\bin to the PATH (I cannot use RegAddBoot since this will overwrite the PATH, so I have to read it during build and append using a variable which is expanded at run-time. So JAVA_HOME should do the trick but it does not work because JAVA_HOME is not read and not exported to the process environment.
So the only work-around for the moment is to manually run the environment fix from Explorer at run time.
The same applies to the CDDrive variable. It is expanded by peldr when using it wihtin a RegAddBoot line but using %CDDrive% within any script will fail because it's not available to the process environment unless setx.exe is used.
I've noticed too that when running Win7PE (yes I was using Win7PE before I moved to Win7RescuePE) %CDDrive% is not set but %PEDrive% instead. This is quite bad because the script would have to support both. I would suggest that peldr sets CDDrive in any case and just set PEDrive in case of USB configuration. This allows one to detect if the application is run from USB if necessary (PEDrive present) but does not break programs relying on CDDrive.
Is there any space to upload such script collections? Since there is a limit of 1MB for attachments in the forum I had to delete script attachments from other posts I've made already. My space is now totally used up, so if I have to upload something new I will have to delete this script collection. I am still a bit confused about the structure and the right way to contribute...
HOW TO USE IT
I am including a few words on how to use it here since I was asked several times how these scripts are used. The answer I posted on page 9 but decided to put it here too for easy reference...
Here is a log how I built it:
- Download WinBuilder 0.78 SP4 and extract the archive
- Run WinBuilder.exe
- In the Main windows (Download Center) enable any project (is it a bug that the icons on the right only appear when a project is selected)?)
- Deactivate the project you selected and instead click on the topmost icon to the right of the project list (Add new web server)
- Enter "joshua.winbuilder.net/Projects"
- Download all scripts you would like to use (note, if you're going to use my script set you might disable some large scripts like Apps/Net/opera, Apps/Security/Antispyware/SpybotSD, Apps/Security/AntiVirus/Avira and probably more) - if in doubt just download everything.
Now you're ready to configure Win7RescuePE. I will describe here how to integrate my script set and to configure Win7RescuePE in one step:
- Download and extract my script set provided in this thread (first post)
- Overwrite the contents of the "Projects/" folder with the content provided in my archive. Don't worry, it will not overwrite any scripts or files, it just adds some tools to the "Tools/" folder as well as a "Skybeam" sub-folder to the "Win7RescuePE/" folder.
- Now re-launch WinBuilder
Now the configuration...
You should see WinBuilder which shows the Win7RescuePE project as you downloaded it. In addition there should be a couple of "Skybeam/" folders visible in the root folder of WinBuilder. I will start from top telling you which changes you should do to the script in order to get it built correctly
- Click on the "Source" button on top
- Enter path to your Windows 7 32-bit DVD in "Source directory"
- Clickk on "Script" to get back to script mode
- Click on "Configuration", I just did small changes here:
- Screen resolution: 1024x768 (well, your taste)
- Disable the "Enable loader hidden menus" option (well, I don't like hidden stuff)
- Hardware detect modus: 3 (I don't like to do this manually every time)
- Don't forget to click "Save"
- Open "Build/PreConfig"
- Click "Get Info"
- Select your Install.wim image ("5: Windows 7 ULTIMATE" in my case)
- Select your Boot.wim image ("2: Microsoft Windows Setup (x86)" in my case)
- Click "Check Source" to verify your configuration
- Open "Build/Copy Files"
- Enable "Addition fonts"
- Enable "Some recovery tools (requesting MS Win7 DVD)" (there is a typo in "reguesting" ;-)
- Enable "Other Language Files"
- I left the "Shell" Script disabled
- Enable the "Skybeam/Base" folder (all scripts)
- You might customize the Grub4DOS script as you like
- Change "Locale settings" as you like
- Keep the "Addons/MMC" script enabled
- Keep the "Net/Extra NIC Drivers script" enabled
- Keep the "PENetwork Beta V5t" enabled
- I checked the "Check for newer version of PENM online" option and left the remaining options untouched
- All other "Net/*" were left disabled (I don't need them)
- I left all scripts in the "Tweaks/" folder enabled
- Disable all "Apps/" scripts of Win7RescuePE
- Re-enable Apps which you would like to use but are not part of my script collection. I've enabled the following only:
- "Apps/Net/Remote Connect/Remote Desktop Connection"
- "Apps/Security/Antispyware/HijakThis! V2.0.2" (not part of my script collection)
- "Apps/KeyFinders" (all) (not part of my script collection, no official download URL)
- "Apps/System/Pserv V2.7" (not part of my script collection)
- "Apps/System/Xchm 1.9" (not part of my script collection)
- Now enable all "Skybeam/App" scripts (or of course only the ones you would like to use)
- Now enable all "Skybeam/OtherOS" scripts (or of course only the ones you would like to use)
- Make sure "OtherOS/Parted Magic Linux" is disabled if you're enabling my "Skybeam/OtherOS/Parted Magic Linux" script (they conflict)
- Now enable all "Skybeam/Finalize" script
- Make sure "Finalize/*" scripts are disabled - they will screw up the GRUB configuration written by my scripts
- If you would like to generate an ISO image use my "Skybeam/Finalize/Create ISO" script instead of the "Finalize/Create ISO" script included in Win7RescuePE
- I left the "VirtualTest" scripts disabled
Note:
Some download links might fail due to cookie or referer protection or similar. In such cases go to the download page, click on the download link and then insert the link into the field within the script - or just disable the script which fails to download its dependencies.
Note:
To speed up the process of downloading you might select all my script once and click on the "Download/update now" button on the script before building the whole package. This will safe you from having to start over and wait half an hour just to find out that after fixing one URL it fails with the following one.
It sounds quite complex but actually the rule how to use the scripts is quite easy. You might mix Win7RescuePE with my script set. If there is a "conflicting" script just make sure either to use my modified one or the one included in Win7RescuePE - but not both. As I changed/fixed some things in the GRUB configuration building in order to allow dynamic plugging of other OS I recommend to use my finalization scripts instead of the included "Finalize" scripts.
2010-08-19
==========
- Updated innounp to version 0.33
- Updated InfraRecorder to version 0.51
- Updated Firefox to version 3.6.8
- Unattended local installation of latest FlashPlayer added.
- Added possibility to pick up local FlashPlayer version
NOTE: New Flash installer cannot be extracted and therefore it's not
possible to download and extract the plugin automatically.
- Updated Opera portable to version 10.61
- Updated Thunderbird to version 3.1.2
- Updated CPUID Hardware Monitor to version 1.16
- Updated Wireshark to version 1.2.10
- Updated Recuva to version 1.38
- Updated CPU-z to version 1.55
- Updated Parted Magic to version 5.2
- Updated Memtest86 to version 4.10
- Updated VLC to version 1.1.3
- Updated FileZilla to version 3.3.4.1
- Updated WinSCP to version 4.2.8
- Updated Sumatra PDF to version 1.1 and using wget.exe to download
- Updated WinMerge 2.12.4 download URL
- Updated PC Inspector file recovery download URL, added referer and WGet
- Updated download URL ofr RegShot 1.8.2
- Updated download URL of Resolution Changer 1.0.0
- Updated Runscanner to version 2.0.0.47
- Updated SystemExplorer download URL
- Updated Grub4DOS download URL
- Updated cwRsync download URL
- NEW: Nirsoft ProductKey
Update 2010-05-13 17:00:
- Win7PE_SE should be supported too - Win7RescuePE still recommended
- Avira Script updated, now includes all CRT dll's
(Works for me currently but might require additional testing)
Caution: Avira requires to start network support before you start Avira or
it crashes!
- Universal Extractor updated to version 1.6.1
- FreeCommander updated to version 2009.02a
- MBRFix download URL updated
- Q-Dir updated to latest version
- FastStone Image Viewer updated to version 4.1
- VLC updated to version 1.0.5
- FileZilla updated to version 3.3.2.1
- Firefox updated to version 3.6.3
- Firefox Flash plugin updated and inclusion of dependency DLL fixed
- Opera updated to version 10.53
- Opera configuration fix added (fixing operaprefs_default.ini)
- Thunderbird updated to version 3.0.4
- WinPcap fixed to include correct DLLs (hopefully... it's quite tricky)
- WinSCP updated to version 4.2.7 portable
- Wireshark updated to version 1.2.7
- Updated LanTricks LanSpy pakcage (just cosmetical)
- Added LanTricks LanCalculator
- Updated SumatraPDF to version 1.0.1
- Updates WinMerge to version 2.12.4
- Updated Recuva to version 1.37
- Fixed John The Ripper and updated download URL
- Updated NTPWEdit download URL
- DriveSnapshot moved to disk tools
- CPU-z updated to version 1.54
- Added /accepteula parameter to ProcessExplorer
- Added /accepteula parameter to ProcessMonitor
- Updated Download URL of SystemExplorer
- Added Resolution Changer version 1.0.0
Update 2009-09-20 22:44
- Tried to enable multi-language support in DirectX11 script (note, it' maintained by YahooUK, not me)
Update 2009-10-06
- (Hopefully) fixed UnixTimestamp creation
Update 2009-10-07:
- Added Notepad2 (including shell integration)
- Added Windows Firewall Work-Around
Windows firewall service is set to disabled in 2-Config.script but somehow it's still active and the machine does not allow any incoming connections. To work-around this issue you need first to configure the network (PENetwork) an then set the firewall service (MpsSvc) to "manual" and then use "net start MpsSvc". Note that the start of the service will fail but afterwards it seems to be disabled correctly and incoming connections are allowed.
To do this semi-automatically I've created the WindowsFirewallControl.script Script. It sets MpsSvc to "manual" and places two shortcuts in the start-menu and/or on desktop. One to start the firewall and one to stop. So to get incoming connections working you just need to run PENetwork and then use the "Windows Firewall enable" shortcut and wait for it to fail and you're done. If at one point in time the firewall service will work correctly the shortcuts can be used to enable/disable the firewall.
Update 2009-12-30:
- Updated CPUID Hardware Monitor download URL for version 1.15
- Updated FastStone Image Viewer download URL for version 4.0
- Updated VLC download URL for version 1.0.3
- Updated FileZilla Client download URL for version 3.3.0.1
- Updated Firefox download URL for version 3.5.6
- Updated Opera USB download URL for version 10.10
- Updated Thunderbird download URL for version 3.0 (warning, untested yet)
- Updated WinPcap download URL for version 4.1.1
- Updated WinSCP download URL for version 4.2.5
- Updated Wireshark download URL for version 1.2.5
- Updated SumatraPDF download URL for version 1.0.1
- Updated MemTest86+ download URL for version 4.0.0
- Updated Parted Magic Linux download URL for version 4.8
- Updated CPU-z download URL for version 1.53
- Updated SystemExplorer URL for version 2.0.5 and switched to portable ZIP version
- Updated InnoUnp tool to version 0.27
Update 2009-12-31:
- Updated InnoUnp tool to version 0.27 (this time really)
- Fixed copy/paste bug in Spybot script
NOTE:
I was notified that downloading the attachment of this post is not working. I tried to re-upload the file but it fails. It seems the upload function is not working at the moment. For anybody interested in downloading the archive please fetch it from here.