EVE Online: Trinity installer deletes boot.ini
CCP Games · EVE Online: Trinity installer
On December 5, 2007, shortly after the release of the EVE Online: Trinity expansion at 22:04 GMT, CCP Games began receiving reports that the Classic to Premium graphics content upgrade was deleting the C:\boot.ini file on players’ Windows systems. This critical system file deletion sometimes prevented computers from starting up until it was manually fixed.
The issue stemmed from a decision to use a third-party installer technology for the graphics content upgrade due to its superior compression, which significantly reduced download size. The installer script, added on November 30, contained a Delete "boot.ini" command intended to remove a legacy EVE Online file also named boot.ini from the game’s installation directory.
The root cause was a misunderstanding of the installer’s scripting language. While SetOutPath "$INSTDIR" was used to define the working directory, the Delete command, when given a relative path like "boot.ini", defaulted to deleting the file from the root of the current drive, rather than the specified output path. This behavior, combined with a long-standing naming conflict where EVE Online had its own boot.ini file, led to the unintended deletion of the Windows system file.
Upon discovery, the faulty upgrade was pulled from Tranquility at approximately 03:40 GMT on December 6. A fix was implemented by 06:08 GMT the same day, which involved implicitly overwriting the files instead of explicitly deleting them. CCP Games also provided extensive customer support, including phone assistance and arrangements with third-party technicians, to help affected players.
CCP Games identified several contributing factors, including the legacy naming conflict, insufficient code review of the installer script, and inadequate testing procedures that failed to catch the issue across diverse hardware and operating system configurations. The company committed to reviewing all filenames for conflicts and revising testing protocols to prevent similar incidents in the future.