Tes4Mod:BAIN Installation

Intro
Whereas OBMM uses OMODs, Wrye Bash's mod installer, BAIN, installs mods from 7z, RAR and ZIP archives. One of the primary features of BAIN is inherent support of prioritized installation.	No longer is there a need to completely uninstall big mods such as QTP when figure out that it has been incorrectly installed on top of the UOP; instead, by taking advantag of it installation patdching functions: 'Anneal' and 'Install Missing'. For example, if the UOP is moved after QTP3 after previously installing the two mods in the wrong order, the calling the anneal function on either packages will have BAIN correct the installation config, by installing files from the UOP package that should overwrite QTP3 (given the now correct package order.)

Another great feature of this mod utility is its excellent conflict detector. Have you ever installed multiple cosmetic mods and later wondered which version of which body texture was installed? With BAIN, it is possible to see both installed and implicit (among uninistalled packages) conflicts. The user has total control over which version of a file, found in multiple mods, is installed last (which will be the version seen in the game.) The only mods you should absolutely avoid installing with BAIN are shader packages. You should have a backup of the original shaders folder anyway (as they seem to be a particularly vulnerable group of files) but OBMM is the utility to use to install shader editors. BAIN is the more effective option in almostevery other category. 
 
:Note: Unless you changed the sOblivionMods file path in the bash.ini, the Bash Installers folder "Oblivion Mods" is located at the same level as the Oblivion folder.

Please, try alt3rn1ty's Wrye Bash Pictorial Guide for a more comprehensive overview of using Bash and BAIN.

First Steps

Click on the Mods tab in Wrye Bash to initialize BAIN.
Put some mods (in compressed archives or folders) in the Bash Installers folder
Right-click on the Mods tab (Wrye Bash) and choose one of the refresh options to see the newly installed packages

:Notes: order mods (or groups of mods) as you go; otherwise, the sheer number of packages that need to be ordered may become overwhelming. Unlike the   header, there is no option to move the packages up and down with the arrow keys. It is better to at least group mods first, and then you can highlight and move the groups (and organize files within the groups later.)

Some Facts

BAIN installs 7-zip, RAR and ZIP archives.
BAIN does not install BATs, DLLs, EXEs or non-default folders (with a few exceptions)
BAIN does not handle shader installing or editing (yet?)

Installation

The effortless part of using BAIN

Only checked plugins are installed
If a package has subpackages that contain plugins, they will appear in the plugins list (checked by default.)
Right-click on an archive and choose "install" to install it.
If you uncheck a plugin, right-click on the archive and choose "anneal" to uninstall the plugin.
To uninstall an archive, right-click on the archive and choose "uninstall."
To install an additional plugin, check it, then right-click on the archive and choose "install missing."
If you change the install priority of a plugin, changing which files should override, right-click on the plugin and choose "anneal" so that the data files are updated for the change in installation priority.
Subpackages are installed numerically and then alphabetically (0 to 9 then A to Z). For example: 
a package with subpackages 0, 15, C, 7 and A: is installed in the order 0 > 7 > 15 > A > C (with the contents of C installed last, getting the final overrides.)

Organization

Prioritized installation is one of the greatest features of this installer. You could even install your whole setup at once (which is what this guide aims to help you do, initially.) In order for that to go well, you need to first plan your setup. After figuring out which mods to use, figuring out the install order is the next step. The method of organization below aims for the least number of groups while handling exceptions. Do not confuse this with load order. They can differ greatly. Installation order pertains to mods; load order pertains to plugins.

Facts

Packages newly added to the Bash Installers folder are placed above the "Last" marker by BAIN.
Move method newly-added-awesomeness: Drop-N-Drag
Move method #1: Right-click on a package or a selected group of packages and choose "move to..."
Move method #2: Right-click on a package or a selected group of packages and use ctrl+up to move the plugin(s) up or ctrl+down to move the plugin(s) down.

Tips (Naming Conventions)

No Version Numbers: The date modified column and ReadMes are enough to compare with updates, but you should use the "comments" frame to note the version. Why? BAIN recognized packages by their names, so it is easiest to overwrite existing packages when you download updates in order to avoid reorganizing all of the time.
Not Re-Naming Loose Add-on Updates: These are updated too frequently (final updates can be merged onto the original mod.)
'''Rename package to mod's name with file ID at the end:''' BAIN has 'Open @TESNexus' and 'Open @TESAlliance' functions, If you right-click on a package with what looks like valid ID at the end, BAIN will try to open the page with ID at the relevant site. (Invalid IDs will cause it to open up a random page from the site or the "missing page" error.)

More Tips

To post your package list: Right-click on the 'package' tab and choose 'List packages' (in case you need to post it for checking)

 

Packages

Wrye Bash treats all archives and folders as packages. In BAIN, there are two types of packages, simple and BAIN-ready. (There are actually three, if you count invalid packages, the ones indicated by gray check boxes.) Simple packages are those in which the top level either contains a one folder (usually named "Data" or the mod's name) or one or more top-level data file folders (i.e., textures, meshes, etc.) BAIN-ready packages contain subfolders (known as subpackages) where each qualifies as a simple package on its own. All data files within a package have to be at the same level to be a valid package, meaning that the entire archive has to reflect the installed structure of a mod OR the archive contains ONE folder that meets that requirement OR the archive only contains folders, each of which meets that requirement separately.>> notes: 1) BAIN ignores top level folder if the single folder matches the archive's name 2) BAIN skips subpackages that start with "=="

''Quick Reminder: Installed mod structure reflects what you see in the Data folder: ESPs, ESMs, Default folder (i.e., Textures, Meshes, etc.), Docs, Folders for INI files, INIs and/or BSAs. There is not (or there should not be) a Data folder in your Data folder, and plugins within folders in the Data folder are not installed (as far as the game is concerned.)


Simple Packages

"data"

ESPs, ESMs
"meshes"
"textures"
... (other folders at top level of data folder, including mod-added folders such as "_tejon")

BAIN-Ready Packages

"Red"
ESPs, ESMs
"meshes"
"textures"
... (other folders at top level of data folder, including mod-added folders such as "_tejon")

"Yellow"
ESPs, ESMs
"meshes"
"textures,"
... (other folders at top level of data folder, including mod-added folders such as "_tejon")

"00 Core Files"
"data"

"01 Shivering Isles"
"data"

"01 Tamriel"
"data"

Invalid Packages

"data"
"meshes"

"data"
ESPs, ESMs

Check Boxes

square - archive package (.ZIP, .7z, .RAR)
diamond - project package (folder)
"X" - bad package (still being build/downloaded or corrupt)
"+" - installed
gray - invalid (not in BAIN recognized format)
light gray - uninstalled BAIN package
white - uninstalled simple packages
yellow - mismatched files (some files within the package differ from files in the data folder) does not indicate a bad thing necessarily, expected if files overlap with another package, check "conflicts" section of package to see which packages overlap above and below
red - missing files (some or all files contained in the package are not in the data folder)
green - all files match (exact copies of all files contained in the package are in the data folder)
orange - plugins in the data folder do not match those in the package (which is the case if you have another mod installed with higher priority override it)

:Notes: 1)"Files contained within the package" in the above context means files that can be seen in BAIN's general tab. In simple packages, that include all files in the package. In BAIN-ready packages, that only includes files in the checked subfolders. If BAIN errors about installing a certain file, it could be because it cannot interpret some characters in the filename.

Highlighting

grey - BAIN skipped some files, check package "skipped" section to see which files were skipped
slightly darker grey - selected package(s)
yellow/orange - dirty installation: contains sound files but no matching plugin is installed or installed files and archive files do not match (i.e., after an update)


Examples
See Example BAIN-Friendly Repackages for more conversion examples.''
Streamline
Download@TESNexus
Initial Evaluation

This version of Streamline needs to be repackaged 1) because it is an executable and 2) because it offers two installation configurations, using the default plugin or using the debug version. Therefore, it should be made into a BAIN-Ready package.>> notes: There is a BAIN-Ready version of this mod available. See the utilities section of Downloading Mods for the link.

Core: everything  > notes: 1) when you select multiple items, 7-zip's add to " .7z" is the folder's name 2) if this new archive shares the exact same name as the old archive, when you place it in the Bash Installers folder and overwrite the old archive, you will not have to reposition it in BAIN.
# Move newly created archive up into Bash Installers folder.
# Delete the leftover "Streamline-10400" folder, the EXEs and the old SL archives

Result (BAIN-Ready package)
:Notes: BAIN will sweep the documents into the Docs folder since they are also at the top level in the package. 2) This package installs correctly.

Core  > notes: 1) when you select multiple items, 7-zip's add to " .7z" is the folder's name 2) if this new archive shares the exact same name as the old archive, when you place it in the Bash Installers folder and overwrite the old archive, you will not have to reposition it in BAIN.
# Move newly created archive up to Bash Installers folder
# Delete old ZIP file and the folder

Result (BAIN-Ready package)

Here, the main files are installed first, as ensured by the "00" prefix, and the NoMushroomStalks option is installed after because 01 is higher than 00.

00 Core Files
00 Docs
01 NoMushroomStalks


Visually Enchanted Customizer Fixed
Download@TESNexus
Initial Evaluation

This package is highlighted in grey in the Installers tab...It has ESPs at the top level and in a subfolder. Those in the subfolder are being skipped by BAIN because ESPs have to be at the top level to actually be installed. The plugins in the subfolder overlap with some of those at the top level...The plugins that modify the same visual effect cannot be used together so this is more of an "OR" package, a multi-mod package. To have the most flexibility, the ESPs cannot just be placed into a "defaults" set and a "recolored" set, for example. Doing that, it would not be possible to mix default and recolored shaders of different types. Therefore, it would be best if each plugin had its own folder denoting its type and element. The pictures folder is cluttering, so it could be made invisible with "--" appended to the front of the folder.

Conversion

# Create 8 new folders, one for each of the original plugins, loose at the top level. For example: 
for Visually Enchanted Fire 1.esp create the folder "Original - Fire 1"
# Put the plugins in their corresponding folders
# Create five new folders for each of the recolored shaders plugins and then rename the "recolored shaders" folder for the sixth recolored shader plugin. 
For example, for  you would create the folder "Recolored - Fire 1"
# Put the recolored shaders plugins in their corresponding folders
# Create a folder "--Pictures" (this folder will not show in BAIN because it is prefixed with "--")
# Place all of the pictures, JPGs, in to the pictures folder
# Select all of the folders and the ReadMe and (7-zip) add to "Visually Enchanted Customizer Fixed-8490.7z"

Result (BAIN-Ready package)

Subpackages corresponding to the name of each plugin
--Pictures (Invisible to BAIN)>> notes: 1) This packaged can be configured to install any combination of the different shaders for each elements 2) and the pictures will not clutter up the Docs folder

See Also
Example BAIN-Friendly Repackages <--More BAIN conversion examples

External Links
alt3rn1ty's Wrye Bash Pictorial Guide