What does Wrye Bash do?
- 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
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.
- 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).
- CBash:
- 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.
- 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
Download: http://www.nexusmods.com/oblivion/mods/22368 and, of course, http://sourceforge.net/projects/oblivionworks/files/. A great site that used to mirror the installers: http://www.fliggerty.com/phpBB3/viewtopic.php?f=54&t=4233 however, the available instllers are out of date 294 is the newest.
Documentation:
- http://oblivionworks.sourceforge.net/readme/Wrye%20Bash%20General%20Readme.html, http://oblivionworks.sourceforge.net/readme/Wrye%20Bash%20Advanced%20Readme.html, http://oblivionworks.sourceforge.net/readme/Wrye%20Bash%20Technical%20Readme.html, http://oblivionworks.sourceforge.net/readme/Wrye%20Bash%20Version%20History.html (also included in the download as "Wrye Bash General Readme.html" in the Mopy folder)
- alt3rn1ty's http://www.nexusmods.com/oblivion/mods/35230 (For Oblivion, new guide for Skyrim pending)
- Metallicow's BAIN http://www.nexusmods.com/oblivion/mods/38857
- Translated documentation and guides: http://guides.tesfans.org
I suggest looking here for the approproate version http://support.microsoft.com/kb/2019667. The previous link may have more up to date information but here are some direct links http://www.microsoft.com/en-us/download/details.aspx?id=5553, http://www.microsoft.com/en-us/download/details.aspx?id=10986, http://www.microsoft.com/en-us/download/details.aspx?id=23691, http://www.microsoft.com/en-us/download/details.aspx?id=30679.
Short version:
Just use the installer and install to the Oblivion 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 don't need to install the Python version, however, you can 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 http://www.microsoft.com/download/en/details.aspx?id=14431 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 http://www.microsoft.com/downloads/details.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2.
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:
Then:
See Also http://oblivionworks.sourceforge.net/readme/Wrye%20Bash%20General%20Readme.html#trouble-permissions
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 don't need to install the Python version, however, you can 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 http://www.microsoft.com/download/en/details.aspx?id=14431 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 http://www.microsoft.com/downloads/details.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2.
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:
Spoiler
http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/wxPython2.8-win32-unicode-2.8.12.1-py27.exe
http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/comtypes-0.6.2.win32.exe/download
http://sourceforge.net/projects/pywin32/files/pywin32/Build
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
http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/wxPython2.8-win32-unicode-2.8.12.1-py27.exe
http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/comtypes-0.6.2.win32.exe/download
http://sourceforge.net/projects/pywin32/files/pywin32/Build
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 Oblivion game folder so that the Mopy directory appears in the Oblivion 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
See Also http://oblivionworks.sourceforge.net/readme/Wrye%20Bash%20General%20Readme.html#trouble-permissions
Development:
The project is hosted at https://sourceforge.net/projects/oblivionworks/. You'll need a SourceForge account to create or add data to bug reports and feature requests. Feeling brave? SVN versions are not guaranteed to be release quality. If you want to help us test new features and track down bugs look for any installer labelled as an SVN version in the downloads section on the Skyrim or Oblivion Nexus. If you don't see one then none are available at this time.
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 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 Oblivion 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...'
- If you're using the WBSA, things are a bit trickier. There are currently a few known issues:
- Wrye Bash wont work correctly if you launch it from the command line (DOS). Always launch by double clicking the exe or a shortcut to it.
- Due to issue #1, no debug mode is available. Some errors that happen will still be printed either to a "Wrye Bash.exe.txt" file, or to the "stdout/stderr" window that shows up with errors sometimes.
- If you think you've found an error in the WBSA, be sure to uninstall ALL python components and test it again first, to be sure we get an accurate report. Having python installed can sometimes trick the WBSA into thinking that it has all of the files it requires, even if it really doesn't.
Linking: If you'd like to link to Bash from somewhere else, please do! But be sure to link to either http://www.nexusmods.com/oblivion/mods/22368 or http://sourceforge.net/projects/oblivionworks/. Don't link to the actual download file, since that changes fairly frequently.
Related Projects:
- The Official http://www.gamesas.com/index.php?showtopic=1471586.
- Load orders should be managed with http://boss-developers.github.io/, 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 (http://www.gamesas.com/index.php?showtopic=1211142) and Fallout3 New Vegas (http://www.gamesas.com/index.php?showtopic=1234195)
The program has only a few, if not one, volunteer to work on it so updates are sparse. None of the versions 304, 304.1, 304.2, or 304.3 should be considered stable, final, or "nearly bug free" versions. Whether or not 304.3 is marked as Beta it's still the current version. Do not post any bug reports or Tracelogs except from 304.3 because you will be asked to install the latest version before resubmitting another Tracelog. The reason for that is the line numbers may be different depending on the version and the logs need to point to the correct lines in order to resolve the error.
Join the Wrye Bash Team:
Currently we are looking for volunteers to contribute Wrye Bash. The main focus is updating Wrye Bash's code so that it can handle more than just leveled lists for Skyrim. However, that does not mean that the Oblivion version will be ignored. Wrye Bash is written in Python but does use some external C++ files. For that reason we need Python programmers primarily but could use anyone with C++ experience to update the external libraries that Wrye Bash uses. If you would like to volunteer please PM me. Your help will be greatly Appreciated.
The updates that are needed:
1) Refactor out just the patcher routines and then update them so Wrye Bash can process Skyrim's files as it does for Oblivion
2) Refactor all of Wrye Bashes code so that bugs can be worked on and resolved the first time. Currently some bug fixes are just temporary workarounds.
3) Properly solve all UTF8 implementation
4) Update to a newer version of Python
5) Update things on a case by case basis such as the UI or CBash[1].
[1] CBash is the exception in that it can be updated at any time as long as there is a volunteer to work on it.
Changelog for Latest Version:
Version 304.3[2013/11/21]
Spoiler
- 275 Wrye Bash crashes on startup if there are no .esp files in the Data directory. [Daidalos]
- 274 Bash throws an error when deleting esm files in the mods tab. [Daidalos]
- 273 Order of masters on a file does not match mod list view Current. [Daidalos]
- 272 Bash throws an error when renaming files using the mods tab. [Daidalos]
Changelog for Version:
Version 304.2 Beta [2013/08/11]
Spoiler
- Fix for Bug 267 using "sort by selected" provided by Edwyn Lannister
- Updated bosh.py to add a potential fix for "Clean Data" when files are removed while Wrye Bash is open
- Updated basher.py to add a potential fix bug 268 onMouseCaptureLost not handled under wine for Installers tab by rifter
- Fix for Bug [#270] "False flagged ESP files cannot be sorted with the ESM group as expected." by Daidalos
Changelog for Version:
Version 304.1 Hotfix [2013/08/11]
Spoiler
- Fixed runtime (boost) error in non English locales introduced in 2942. [wrinklyninja]
Changelog for Version 304:
304 [2013/06/30] [Various community members]
Spoiler
- Fixed bug in libloadorder that would stop it from including Update.esm in its list of active plugins if Skyrim.esm wasn't listed in plugins.txt. [wrinklyninja]
- Fixed libloadorder version display in Bash's log. [wrinklyninja]
- Fixed Bash not passing Update.esm in a list of plugins to activate to libloadorder. liblo.py now returns the active plugin list in load order (which libloadorder doesn't), preventing needless load order 'mismatches' being 'corrected'. [wrinklyninja]
- Fixed issue with Oblivion introduced in r2952. [wrinklyninja]
- It is now impossible to deactivate Skyrim.esm and Update.esm, the game force loads them. [d4id4los]
- Fix for bug #243 "Annealing an activated esp breaks load order.". Anneal will now properly remove deleted plugins from load order. [d4id4los]
- Fix for bug #244 "Automatically activating the bashed patch after rebuild does not work." [d4id4los]
- Fix for bug #245 "Auto-Anneal can not be disabled" [d4id4los]
- Possible fix for special characters in system language name crashing Wrye Bash. [d4id4los]
- Changes to the text of List Masters... to make translation easier. [d4id4los]
- Fixed renaming mods in the mods tab causing an exception to be thrown. [d4id4los]
- Fixed error-messages for Installer Wizards. [d4id4los]
- Changes to the restart button tool-tip to make it translatable. [d4id4los]
- Make Headlines in getModList translatable. [d4id4los]
- Fix renaming/deleting mod files outside of Wrye Bash causing load order issues. [d4id4los]
- Fix for an exception in bain wizzards, introduced in rev. 2966 [d4id4los]
- Fix for Bug #246 'Better naming scheme for backups' [Mr_and_Mrs_D]
- Fix for Bug #247 'Do not report 0 KB for non empty files, plugins, BCFs etc' [Mr_and_Mrs_D]
- Fix for Bash not installing more than one mod at a time for Oblivion. [d4id4los]
- Wrye Bash Un-Installer was leaving behind a few files which have not been accounted for. [d4id4los]
- Fix for Bug #256 'Skip Docs skips translation files for Mods'. [d4id4los]
- Fix for Bug #258 "#258 LO mismatch between loadorder.txt and plugins.txt causes a crash on statup" [d4id4los]
- Fix for bug #251 "'Do you want to enable Installers?' dialog throws exception". [d4id4los]
- Added option to view BSA conflicts in Installer tab. This is an experimental feature and still needs work. [d4id4los]
- New Dragonborn Files added for Clean Data installer function. [Sharlikran]
Changelog for Version 303:
303 [2013/01/02] [Various community members]
Spoiler
- [Oblivion] Fixed issues with CBash saying that files don't exist during the patch building process. [Lojack]
- Uninstalling a mod in BAIN should no longer throw an error that the ESP/ESM could not be found if it was removed. [Lojack]
- Encoding format for INI Tweak files has been fixed. [Lokack]
- Typo corrections, unused variables, and other minor issues cleaned up. [Various]
- The bash_default.ini file has been cleaned up to remove unused entries and tidy up documentation. [Lojack]
- BAIN should now properly inform the user if an archive being installed is corrupted. [Lojack]
- Numerous changes have been made for better UAC support when installed on Vista, Windows 7, and Windows 8. (Note that Windows 8 is not yet officially supported but should still work.) [Lojack]
- BAIN should no longer leave behind empty folders when a mod is uninstalled. [Lojack]
- Better support for running Bash from within a folder containing Unicode characters. [Lojack]
- [Skyrim] Bash can now see string files inside of a BSA and will no longer mark mods with red bars because the files were not packaged loose. [Lojack]
- Bash will no longer throw errors if it encounters Nehrim.esm (the filename) in a Data folder not belonging to a Nehrim install. [Lojack]
- Updated the Windows icon used for Bash to something more visually appealing. [Wrinklyninja]
- Updated UI icon for BOSS. [Wrinklyninja]
- [Skyrim] Removed the non-functional inventory prompt tweak for buying and selling as Skyrim does not use the value. [Arthmoor]
- Deleting ghosted mods from the mods tab should no longer throw up errors about deleting the game's master files. [Lojack]
- Several updates to the documentation for Bash. [Lojack]