PDA

View Full Version : Mod Installer/Uninstaller/Launcher



bbrass10
12-08-2006, 21:05
I'm a software developer with 25 years of experience and I'm interested in developing a mod installer/uninstaller that seamlessly allows alll mods to work with a single installation of the M2TW engine and possibly another for the RTW and BI engines. I realize there has been some minimal effort in this direction but for the most part modders abandon this goal with the disclaimer that their mod requires a vanilla version of the base software and is not compatible with other mods. I feel that by analyzing the problems and creating an appropriate installer/uninstaller that can be universally used by modders and end users, this problem can be solved. In order to do that, I will need to work closely with the different modding teams to see which parts of the file system are being modified by their mods, and which ones might conflict with other mods.

I'm referring to something which is as easy and reliable for the end user as "Add/Remove Programs", with the equivalent of a "System Restore" in case things go awry, and the ability to log and report unanticipated problems to the developer(s) of the installer/uninstaller, developer(s) of the mods, or the end user. It should similarly be simple to configure for the mod developers. Most likely, the installer will provide the end user with a program launcher that will perform any preparations necessary prior to launching M2TW, RTW, or BI. That way, when the shortcut is placed on the desktop, a simple command-line switch can tell the launcher which mod to launch, similar to the -mod:<folder> option which is so rarely used.

It may be a little late for RTW/BI, although I feel confident that such an installer/uninstaller could be developed in retrospect -- unfortunately, I think that mod development on those platforms may be coming to a halt with the release of M2TW and the advent of new graphics hardware which surpass the capabilities of those engines. In the case of M2TW, however, it would probably be a good idea to begin development immediately, concurrently with the development and release of the many forthcoming mods.

How does everyone else feel about this?

Epistolary Richard
12-08-2006, 21:26
Sounds very interesting. For M2, the mod switch is now standard (and indeed pretty much the only option) have a look here:
https://forums.totalwar.org/vb/showthread.php?t=73971

I would recommend you try out the mod switch and then think about how that fits in with your ideas.

Alternatively, have a look at these texture files:
https://forums.totalwar.org/vb/showthread.php?t=74083

If you can write a programme that converts the .tga file into the .texture file and get new textures in game then you will receive many awards and praise from the community.

bbrass10
12-09-2006, 07:28
Actually, that's not an installer/uninstaller. It's just a mod manager, or a mod switcher. It places the burden of managing mods on the end user. For instance, the user must specify which files from the vanilla installation are required by the mod. How many users are likely to know that information?

A mod installer/uninstaller/launcher would be a tool that works like InstallShield. It would allow modders to "package" their mods along with a set of rules as to how they should be installed, and distribute that package to end users. When the users install the mod, the installer would track changes to the installation like a version control system, so that it can revert back to any previous state. Duplicate files like "readme.txt" would be archived rather than overwritten, so that the user can access them by mod name and version. It would also install a program launcher which allows any given mod or set of mods to be selected via a command line option, which would be used by shortcut icons on the desktop and in menus. The launcher would perform any necessary preparations prior to launching the application. Of course, the installer would include an uninstaller, as well as a "system restore"-style utility that reverts the application to a previous state in case something goes awry.

In short, it will be less work for modders to package and deploy their software; for the end-user, managing duplicate mods would be as easy as Windows' Add/Remove programs and recovering from disaster would be as simple as "System Restore", with additional support for log files that can report the nature of the problem to developers and users.

pellik
12-13-2006, 02:08
I don't spend much time with windows so my suggestion here is going to be a shot in the dark. Could you just make a script that creates soft links (shortcuts) to every file in M2TW while mirroring the directory structure with a little addition to re-point the paths in the registry? The modded files would only overwrite the shortcuts and the needed game files would remain linked. Then your installer only needs to update the registry to reflect the appropriate mod.

ShellShock
12-15-2006, 20:26
A mod installer/uninstaller/launcher would be a tool that works like InstallShield. It would allow modders to "package" their mods along with a set of rules as to how they should be installed, and distribute that package to end users. When the users install the mod, the installer would track changes to the installation like a version control system, so that it can revert back to any previous state. Duplicate files like "readme.txt" would be archived rather than overwritten, so that the user can access them by mod name and version. It would also install a program launcher which allows any given mod or set of mods to be selected via a command line option, which would be used by shortcut icons on the desktop and in menus. The launcher would perform any necessary preparations prior to launching the application. Of course, the installer would include an uninstaller, as well as a "system restore"-style utility that reverts the application to a previous state in case something goes awry.

This sounds ambitious so good luck to you!

One thing that would concern me is, unlike normal version control systems, you will not have exclusive control over the items you are versioning. For example, how will your system cope with the user installing a CA patch that changes files you have versioned? Doesn't it break down at this point?

I'm also not sure how many modders would use your proposed packager - they can be a conservative bunch and tend to like to do things their own way.

alpaca
12-16-2006, 16:40
Actually, that's not an installer/uninstaller. It's just a mod manager, or a mod switcher. It places the burden of managing mods on the end user. For instance, the user must specify which files from the vanilla installation are required by the mod. How many users are likely to know that information?

A mod installer/uninstaller/launcher would be a tool that works like InstallShield. It would allow modders to "package" their mods along with a set of rules as to how they should be installed, and distribute that package to end users. When the users install the mod, the installer would track changes to the installation like a version control system, so that it can revert back to any previous state. Duplicate files like "readme.txt" would be archived rather than overwritten, so that the user can access them by mod name and version. It would also install a program launcher which allows any given mod or set of mods to be selected via a command line option, which would be used by shortcut icons on the desktop and in menus. The launcher would perform any necessary preparations prior to launching the application. Of course, the installer would include an uninstaller, as well as a "system restore"-style utility that reverts the application to a previous state in case something goes awry.

In short, it will be less work for modders to package and deploy their software; for the end-user, managing duplicate mods would be as easy as Windows' Add/Remove programs and recovering from disaster would be as simple as "System Restore", with additional support for log files that can report the nature of the problem to developers and users.
Some effort had been made by Vercingetorix to do something similar. It didn't work out because modders didn't use it.
The mod switcher by CA can be easily used, all data is stored in a mod folder and the player only has to remove that folder if he wants to uninstall. You can even write an installer/uninstaller to go with your mod without much fuss.

I think such a system would be mostly a waste of your time.
If you'd like to provide some tools for the community, there's a lot of files that we can't access yet :P