Also, to make it easy for users to manipulate things for their apps games, instead of pulling all of the data from the xbe, pull it from the xbe only if it is not already in the xml. Now, if I want to change the title or description of my apps I can just change it in the info.xml. It shows up with the changes in the mxm menus and I didn't have to use one of the tools for tampering with the xbe itself. Also, this would allow you to categorize and subcategorize games, apps, so on, without having to manually create the menu items or put them in special folders for categories or subcategories. So now MXM could sort the menu items into groups based on the categories/subcategories in the info.xml files.
So, you would have the following information in each apps xml file.
Title (Duh, the program title)
Description (again duh)
Version(another duh... app version this would be used in determining about upgrades vs install and so on)
Passcode(if you want to password protect this app)
MainCategory(for example Game, App, Dashboard, Media Player...)
SubCategory1(for example within Game you might have Emulation, HomeBrew, Retail)
SubCategory2(for example within Retail you might have Action/Adventure, Arcade, Family, Fighting, Racing, Role Playing, Shooters, Simulators, Sports and Strategy)
DefaultPath(default install path like used to place in in a relative folder. So if you had GAMESInvaderX it would install to a folder name InvaderX where ever the games were installed on this system.
ConfigFiles(configuration files that may be kept when upgrading if supported)
-File(for each config file)
-Name(Actual config file name)
-CompatibleVer(for each previous version of the program that the config file is compatible with if any)
Uninstall(list of commands for uinstall/upgrade for example to delete the E:\TDATA\face007 folders for XBMP or anything other than deleting the files in the install folder)
-Command(entry for each specific command to run)
InstallFolder(Actual folder installed to id F:\Apps\XPad used for uninstall/upgrades)
DataStore(Folder used to store data related to app, for example, F:\Media for media player files such as mpgs, wmv, mp3 so on... F:\Bioses for bios files used by flashx or what ever)
It might be useful to store some additional data in there. In fact I am sure it would need a place to store some install actionscript code for more complex installs (if you want it to configure the app during install for you). Perhaps a more generic script tag for each the uninstall and the install. Anyway, the point would be that the menus could be generated based on the information in the Info.xml if available, and generaged based on the xbe if it is not available. This data would also be used by my installer script for installing, reinstalling, upgrading or uninstalling apps, games and so fourth.
So for example You might have an xml with the following data
| CODE |
<Info> <Title>SumDumGame</Title> <Description>SumDumGame (Coding Simulator)</Description> <Passcode></Passcode> <MainCategory>Games</MainCategory> <SubCategory1>HomeBrew</SubCategory1> <SubCategory2>Simulation</SubCategory2> <DefaultPath>GAMESSumDumGame</DefaultPath> <Version>1.3</Version> <ConfigFiles> <File> <Name>Settings.ini</Name> <CompatibleVer>1.2</CompatibleVer> <CompatibleVer>1.1</CompatibleVer> </File> <File> <Name>ButtonMap.ini</Name> <CompatibleVer>ALL</CompatibleVer> </File> </ConfigFiles> <Install> <Command></Command> </Install> <Uninstall> <Command>RmDir E:\TDATA\c0de006</Command> <Command>RmDir E:\UDATA\c0de006</Command> </Uninstall> <InstallFolder>F:\MyGames\SumDumGame</InstallFolder> <DataStore>F:\CodeLib</DataStore> </Info> |
This all may seem like a bit of a stretch, but I am willing to code the installer scripts. Like I said, it would support, install, reinstall (same version), upgrade (newer version) and uninstall. and would be able to drop applications onto a dvd and run the installer from MXM on the hard drive or run mxm with installer from the DVD. I can think of a lot of advantages to doing it this way. But what do you all think? am I way out in left field? am I crazy, is it doable but dumb? or is it pure brilliance? (come on, patronize me...)
Thanks in advance for any Constructive feedback... hehe
Regards,
SDG