-
Notifications
You must be signed in to change notification settings - Fork 1
FuelUpdate.exe
The file FuelUpdate.exe does not actually come with the game, it is included in updates downloaded by GFWL (see XLive). If there is an update available, the game is given a path to the directory containing the update files downloaded by GFWL, one of which being FuelUpdate.exe.
Upon exiting the game, if XLiveGetUpdateInformation @5022 returns a positive value, the game attempts to update itself. This is done by launching a new process that takes the currently running game process handle as a command-line parameter. This process is launched using ShellExecuteW with the L"open" verb.
The exact function call is ShellExecuteW(NULL, L"open", File, Parameters, NULL, SW_SHOW);. At the time of calling, the value of File is the path to the update directory concatenated with L"FuelUpdate.exe". The value of Parameters is composed of several segments that are concatenated together. First is, L"/p %Ix /r " where the %Ix format specifier has been replaced with the hexadecimal representation of a duplicate of the currently running FUEL.exe processes handle. Next is the absolute path to SecuLauncher.exe followed by the command-line arguments passed to the currently running FUEL.exe process. The maximum length of the File and Parameters buffers is 260 WCHARs each, the value of MAX_PATH.
Presumably, the /p option is short for "process" given that it accepts a process handle as a value. The /r could be for "run", meaning that FuelUpdate.exe would run the game after updating it since it takes the command to launch the game as a value.
In summary, at the time ShellExecuteW is called, the value of File may look like C:\Users\widberg\AppData\Local\Microsoft\XLive\Updates\FuelUpdate.exe and the value of Parameters may look like /p deadbeef /r D:\SteamLibrary\steamapps\common\FUEL\SecuLauncher.exe -W if the game was launched in windowed mode originally. The "Backing up patch update installers" section of the "Games for Windows - LIVE" entry on PCGamingWiki has more information about where updates are stored.
All this "if there's an update" talk ends up being wasted breath because there isn't an update and there never will be. Updates usually come from URLs like http://download.xbox.com/content/434d082f/tu10000084_10000184.cab where 434d082f is the titleids, tu stands for "title update", and the 10000084s are titleversions. No combination of FUEL's titleid and known titleversions ever returns a status code other than 404. The same result happens when using https://download-ssl.xbox.com/ or /content/gfwl/.
For FMTK Users and Mod Developers
For FMTK Developers
Asobo BigFile Format Specification
Asobo Classes
Animation_Z
Binary_Z
Bitmap_Z
Camera_Z
CollisionVol_Z
Fonts_Z
GameObj_Z
GenWorld_Z
GwRoad_Z
Keyframer*_Z
Light_Z
LightData_Z
Lod_Z
LodData_Z
Material_Z
MaterialAnim_Z
MaterialObj_Z
Mesh_Z
MeshData_Z
Node_Z
Omni_Z
Particles_Z
ParticlesData_Z
RotShape_Z
RotShapeData_Z
Rtc_Z
Skel_Z
Skin_Z
Sound_Z
Spline_Z
SplineGraph_Z
Surface_Z
SurfaceDatas_Z
UserDefine_Z
Warp_Z
World_Z
WorldRef_Z
Asobo File Format Idioms
Asobo CRC32
Asobo LZ Compression
Asobo Arithmetic Coding Compression
Asobo Save Game File Format Specification
Asobo Audio Formats
TotemTech/ToonTech/Zouna/ACE/BSSTech/Opal Timeline
Zouna Modding Resources
Miscellaneous