It makes it safe to try out new mods because it will restore everything to the way it was when you uninstall a mod
It makes more mods compatible with each other by importing information from different mods into a "bashed patch"
It allows you to exceed the 255 mod threshold by automatically merging some types of mods for you
FAQ:
Spoiler
What the heck do all these acronyms mean?
Yeah, to save typing, we often sling around terminology that can be confusing to newcomers. Here's a quick rundown of what we mean:
WB: Wrye Bash. Written in Python.
WBSA: Wrye Bash Standalone. Wrye Bash packaged with the required Python interpreter and all dependencies into one neat executable package. Still internally runs on Python, but since the interpreter is internal to the exe, no Python components are required to be installed.
PBash: A Bashed Patch built with the "classic" Python mode patchers. These patchers read, process, and write mod records all in Python.
CBash: (1) A Bashed Patch built with the CBash (see #2) mode patchers. These patchers still do mod processing in Python, but utilize CBash.dll to do the file reading and writing.
CBash: (2) A C++ written DLL with a C API, that is used for reading and writing ESP/ESM format files. This is the only part of Wrye Bash not written in Python (well, except for calls to 7z.exe to extract things).
The practical benefits of using CBash are:
Building the bashed patch is much faster
More plugins are mergeable, giving you the ability to cram more goodness into the game
In the future, more interesting kinds of tweaks will be practical to implement
BAIN: BAsh INstaller. You use it from the WB Installers tab
BAIN archive: A mod released in a format that can be installed by BAIN
BAIT: Bash Asynchronous Installer Tab. In development (pre-beta) and will replace the current implementation of BAIN. Will use multi-threading to have a UI that still responds while it processes data (calculates CRC's, installs mods, etc).
Requirements and Installation: Short version: just use the installer and install to the Skyrim folder! When you install dependencies, just install them to their default locations. Long version:
Spoiler
There are two versions available: the Python version and the Standalone version. They are functionally equivalent. Most people should run the Standalone version since it is slightly simpler (no external Python components to install). You should to install the Python version, however, if you want to be more involved with development or if you already have Python installed on your system for other reasons.
First, if you're using Windows XP, Wrye Bash needs the MSVC++ 2005 SP1 Redistributable with ATL Security Update installed, the x86 version. This is required for the custom 7z executable that Wrye Bash uses to run. Later versions of Windows already have this installed.
If you're using the Standalone version, the only other thing you need to install manually is the MSVC++ 2008 Redistributable.
If you are using the Python version, dependency installation will be handled automatically by the installer. However, if you want or need to do things manually:
Other setups may work, but this is the only officially supported setup.
Python 3.x: NOT supported
Note that the 32-bit versions are required even if you are on a 64-bit operating system
Then:
For manual installations of either the Standalone or Python versions, extract the archive in your Skyrim game folder so that the Mopy directory appears in the Skyrim directory
For Python versions, run by double-clicking on Wrye Bash Launcher.pyw
For WBSA (Wrye Bash StandAlone), run by double-clicking on Wrye Bash.exe
Remember! In Windows Vista and up, don't install Skyrim in the Program Files folder due to User Account Control! See File Permissions. See Also File Permissions
Development: The project is hosted at SourceForge. You don't need a SourceForge account to create or add data to bug reports and feature requests -- you can always contribute anonymously (but put your name in the comments section if you want credit : ). Feeling brave? SVN versions are not guaranteed to be release quality, but if you know what you're doing and want to help us test new features and track down bugs, follow alt3rn1ty's SVN guide to use the latest code:
Spoiler
If going from Standalone version to Python version, use the latest installer to install the Python version before continuing. It will install all required dependencies for you.
The latest svn is always here >>Click and Bookmark it<< - Then just click "Download GNU Tarball" at the bottom. Note: If you have been told to try a specific revision number instead of the latest, type the revision number in the sticky revision box and press return, the Download GNU Tarball will now grab that revision's set of files.
Use >>this link<< to view the log of changes for reference to specific revision numbers and their changes, to revert to as necessary if things go wrong...
Beware: Its a good idea to rename the tarball according to the revision number and keep it around. Keep a few weeks worth of them so if there is a problem found later with a particular set of committed files in the tarball you can go back to a previous known good revision. There's no need to go back this far but note svn revision 1309 was the directory structure change, and if you go back to a revision earlier than that you will probably have to follow this post to get WB running again.
Reporting Bugs: Try to give us enough information to diagnose your problem. The following information is useful to us:
Spoiler
What version of Wrye Bash are you using? If you're using the SVN, be sure to include the revision number.
What game are you running Wrye Bash for?
What are all the symptoms? Be sure to include what you did (step-by-step is helpful), what you expected, and what happened.
What do you see? Error messages are very valuable to us.
What version of Windows are you using? Is UAC enabled and is Skyrim in the default directory? (If it is, please install it somewhere else. This can cause lots of problems)
Are you using a bash.ini? If so, include its contents (in spoiler tags, please!)
Is the problem related to the Bashed Patch? If so include the following:
Your Load Order (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Mods...'
Your Bashed Tags (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Bash Tags...'
Your Bashed Patch config (in spoiler tags). Get this by right clicking on the Bashed Patch and selecting 'List Patch Config...'
Linking: If you'd like to link to Bash from somewhere else, please do! But be sure to link to either Skyrim Nexus, TESNexus, or SourceForge. Don't link to the actual download file, since that changes fairly frequently.
Load orders should be managed with BOSS for Skyrim, which also supplies updated lists of tags used for importing (though even if you don't use BOSS, a basic taglist is shipped with each version of Wrye Bash)
Valda ported and maintains Wrye Bash for Fallout3 (Wrye Flash) and Fallout3 New Vegas (Wrye Flash NV)
Changelog for Latest Version: 300 [2012/08/09] [Various community members]
Spoiler
Fix for a reported Unicode bug. [Metallicow]
Mod indices not updating after re-ordering mods. [trira]
Updated bash_default.ini to help with some of the Oblivion specific stuff. [cdcooley]
Numerous WizBAIN updates. [Metallicow]
Updated splash screen code. [cdcooley]
Installer script and forum post updates for PIL dependency. [alt3rn1ty]
Fixed Bash not loading if loadorder.txt or plugins.txt do not exist. [wrinklyninja]
Relocated tool images to a new tools folder. [Metallicow]
Calls to os.startfile changed to webbrowser.open for URLs for cross-platform compatibility. [Metallicow]
Updated regex handling for Nexus files. [trira]
Added install warning for SkyProc patchers (Skyrim) [Daidalos]
Enhancement 3530356 - enable BAIN support for Automatic Variants packages. (Skyrim) [Daidalos]
Enhancement 3539241 - Ability to copy plugins / installer-archives to clipboard from wrye bash. [Daidalos]
Updated BAPI for compatibility with BOSS 2.1. [wrinklyninja]
Some memory cleanup code to help with the BAIN tab eating up so much RAM. [Lojack]
Bash will no longer fail to start if the language locale cannot be determined. [Lojack]
Cleanup of old code, fixed some variable names with typos. [Lojack]
Possible fix for the bug where Wrye Bash throws an error about ghosted files being missing when a mod is uninstalled via BAIN. [wrinklyninja]
Moved the two readme templates and the two css files from Data\Docs to Mopy\Docs since they are static files. [Arthmoor]
It looks small but it's definitely a major improvement.
Bug tracking and progress towards next release Here's a rundown of what the next release will contain, as well as a list of all known bugs and requested enhancements. Links lead to the sourceforge tracker artifacts. If you have information or opinions pertaining to any particular bug or enhancement, please comment at the tracker link. If you have screenshots or sample files, you can attach them (or links to them) to the trackers too. Any information helps! Users who have reported bugs and are updating from svn: please check the following for any closed/fixed bugs (indicated with a strikethrough). Confirmation of the fix would be much appreciated.
Upcoming release 302: Bug fixing
Bug 235 BAIN does not report corrupted archives while installing them.
Bug 233 Bash scrambles load order if more than one file is deleted per session.
Bug 201 [Skyrim] Has More Directories does not stick to packages.
Bug 168 Mod Checker reports ITM and UDR for mods that are clean.
Bug 163 BAIN does not refresh on change of CRCs in Projects
Bug 167 Error with Race Tweaks building bashed patch.
Bug 142 INI Edits/tweaks must be in ANSI (UTF-8 with BOM fails)
Bug 137 [Oblivion] upgrading from 291 to 295 may cause Oblivion.esm ghosting
Bug 122 Progress bar disappears while autoannealing
Is there any specific code or set of numbers that a mod package has to have to be able to open its download page on TESAlliance?
I was going through my packages checking for updates on Nexus and saw that economics of skyrim was hidden there, so I tried to open at Alliance and got instead Valus Cottage.
So somewhere in the chain is a problem or something.
[edit] actually several mods are misdirecting. Extensible Follower Framework mod goes to BOSS nexus page as an example.
Sorry for double post - new issue. Still using the 301 from the installer that was posted here a week or so back. Any important updates I should be aware of?
Reneer's latest crime mod is reported by bash as corrupt/unrecognized. Yet - it is not even viewed in the mods pane - is that normal? I don't recall that being the case with past mods - you could still see the plugins from what I recall.
Is there any specific code or set of numbers that a mod package has to have to be able to open its download page on TESAlliance?
I was going through my packages checking for updates on Nexus and saw that economics of skyrim was hidden there, so I tried to open at Alliance and got instead Valus Cottage.
So somewhere in the chain is a problem or something.
[edit] actually several mods are misdirecting. Extensible Follower Framework mod goes to BOSS nexus page as an example.
I never hid EOS, the Nexus page bugged out on you.
alt3rn1ty, I can't remember.. Is there an exe installer of 301 that's all compiled that begginer/novice users can install of version 301 with the recent additions to the "Clean Data" routines for Dawnguard and HearthFire?
Edit: For anyone with doubts - Yes I did try it out before uploading, overwrote my installation of Standalone and Python version of Wrye Bash, both working
Is there any specific code or set of numbers that a mod package has to have to be able to open its download page on TESAlliance?
I was going through my packages checking for updates on Nexus and saw that economics of skyrim was hidden there, so I tried to open at Alliance and got instead Valus Cottage.
So somewhere in the chain is a problem or something.
Bash uses the file IDs that the Nexus (and TESAlliance) append to the end of the archive. Since you downloaded EOS from the Nexus, you have the Nexus ID in the archive. What you got was whatever file on TESAlliance that has the ID that EOS has on the Nexus, if that made sense to you (it made sense in my head, but less so after I reread it...).
[edit] actually several mods are misdirecting. Extensible Follower Framework mod goes to BOSS nexus page as an example.
That's due to the additional dashes that the author added to the file name (specifically, v3-5-6) when he/she uploaded it.
Going to close off #221 as unreproducible. I'd love to be able to cut an official release to catch things up to where they are now for Skyrim but #233 is a really big problem and it would be nice to have it solved before doing so.
Well, I have a fix (or rather, workaround) for #233. Doesn't fix the underlying issue of the load order going absolutely bonkers, but it's a working workaround.
Well a workaround beats opening Bash nearly every time and finding the load order has scrambled itself because you deleted something that wasn't even active to begin with.
Seems to have done the trick, I deleted several files and the load order remained intact.
Sorry for double post - new issue. Still using the 301 from the installer that was posted here a week or so back. Any important updates I should be aware of?
Reneer's latest crime mod is reported by bash as corrupt/unrecognized. Yet - it is not even viewed in the mods pane - is that normal? I don't recall that being the case with past mods - you could still see the plugins from what I recall.
Feature or bug?
By design. Any file that is corrupted Bash hides so you cannot accidentally activate it and cause CTDs (the logic of including a check to see if is corrupt would add some complication to the activating routines, so easier just to hide it).
@Arthmoor, I've been working on something I can't believe I hadn't thought of before (NMM to Wrye Bash adapter basically), almost done and pretty simple, I'll commit it in the next couple days.
Basically since BAIN already knows all the files, CRCs, and Modification times of every file in the Data folder, you initiate an "External Installation", tell it when you're done, then it Refreshes the Data folder for changes. Then it'll give a little dialog showing the results of those changes, allowing you to exclude files if you want, then pack that to either a Project or Archive, and mark the new installer as Installed.
(NMM to Wrye Bash adapter basically), almost done and pretty simple, I'll commit it in the next couple days.
I use Bash for installing and NMM for downloading. Part of the problem is filenames for packages are not always representative of the mod title. NMM automatically renames the packages to the mod title in its database. This kind of information is saved locally. Would it be possible for Bash to scrape off of NMM and rename the packages accordingly?
Forgive me for being a little unclear. I'm not sure how else to state it.
Probably not no. However, that's not really what this new feature will be doing, it'll be doing exactly what NMM to Wrye Bash Adapter does, it detects changes to the data folder when you install via an external tool, then makes a new installer using that info, you give it the name yourself.
I use Bash for installing and NMM for downloading. Part of the problem is filenames for packages are not always representative of the mod title. NMM automatically renames the packages to the mod title in its database. This kind of information is saved locally. Would it be possible for Bash to scrape off of NMM and rename the packages accordingly?
Forgive me for being a little unclear. I'm not sure how else to state it.
That data is saved in an xml file for each mod in the NMM cache directory, zipped up with the same filename as original. There is already a program (NMM to Wrye Bash adapter) that does this btw would just be nice to have it done natively.
Haven't been keeping tab on Bash, so I apologize if this has been discussed and a resolution stated.
I finally brole down and got both Dawnguard and Hearthfires.
Now that I have them, both are showing up in the mods tab with red backgrounds.
According to the Help:
Red background An active plugin that should remain deactivated (ie. tagged with Deactivate) or, for Oblivion only, an active plugin that shares its modification date with another active plugin. This must be corrected so that they have different modification dates or else it may break your load order.