This is archived copy of currently unavailable Nem's Tools website, restored from Web Archive.
Download section now provides links to both Web Archive and to this unofficial Github mirror.
GCFScape FAQ - NemPosted: Jun 20th, 2004 - 11:37:59 am
Q.

When I launch GCFScape I get the following error message:
"This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."

A.

GCFScape v1.4.0 and up is written in C++ .NET v2.0 and such as requires the .NET runtimes to run. See the downloads page for more information.

Q.

When I launch GCFScape I get the following error message:
"The application failed to initialize properly (0xc0000135). Click ok to terminate the application."

A.

GCFScape is written in C++ .NET and such as requires the .NET runtimes to run. See the downloads page for more information.

Q.

When I launch GCFScape I get the following error message:
"A required .DLL file, MSCOREE.DLL, was not found."

A.

GCFScape is written in C++ .NET and such as requires the .NET runtimes to run. See the downloads page for more information.

Q.

Are GCF files compressed archives?

A.

No.

Q.

What are GCF files then?

A.

GCF (Assumed to stand for Game Cache File) files can best be compared to a virtual file system not unlike FAT or other common file systems. The virtual file system supports meta data, file fragments, checksums and other minor features. GCF files are the backbone of Steam's content delivery system.

Q.

Why do I have to close Steam to open a GCF file?

A.

GCFScape uses a technique called file mapping to directly access data in a GCF file as you would data in memory. This is a useful technique because it means GCFScape doesn't have to read tons of data into memory to read a GCF file and it can read a GCF file without having to seek all over the place.

Because Steam opens GCF files in read/write mode and is liable to change the contents of any GCF file at any time, GCFScape requires that you close Steam. If Steam was open and it changed the contents of a GCF file while it was mapped, GCFScape would become unstable and likely crash.

Q.

When I open a package I get the following error message:
"Failed to open file."

A.

GCFScape requires strict read rights to a package file to maintain stability. Make sure the package file is not open in any other program including Steam. As a work around you can enable Volatile Access from the Options menu. Note: this may cause GCFScape to become unstable if Steam is updating the package you have open.

Q.

When I open a GCF file I get the following error message:
"Invalid GCF version number (vX)."

A.

GCFScape does not know how to read the GCF file version you are attempting to open. This could be because it is an old GCF file version that I haven't yet added support for (due to the fact that I don't know what the format is) or a new GCF file version that a recent Steam update produced. Either way let me know.

Q.

When I open a package I get the following error message:
"Corrupt file."

A.

GCFScape will display this error when it maps a package file to memory only to find there is not enough data in the file for the resulting map. This may or may not mean your file is corrupt but almost certainly means GCFScape would crash it continued to load your package file.

Q.

When I open a package I get the following error message:
"Failed to map view of file."

A.

GCFScape will display this error when the system call MapViewOfFile() fails. This can happen on older operating systems with primitive virtual memory management. As a work around you can disable File Mapping from the Options menu. Note: disabling File Mapping will incur a memory and performance penalty.

Q.

When I press the Extract button, a Browse for Folder dialog appears but there is no directory tree to allow me to select a folder.

A.

There is an unfortunate bug with the .NET framework that causes this dialog to operate incorrectly. This is a pretty rare occurrence, but there is a workaround:

  1. Close GCFScape.
  2. Open the gcfscape.cfg file, located in your GCFScape directory, in notepad.
  3. Set the GCFScape.ExtractDirectory argument to a folder on your hard drive such as C:\.
  4. Open GCFScape and extract your file.
Q.

When I extract a file I get the following error message:
"Error writing [filename] (File contains no physical data to write)."

A.

This error occurs when you attempt to extract a file that has no physical data associated with it. This is a file that exists in the directory tree but which Steam has not yet downloaded. Use Steam to make sure the file is fully acquired.

Q.

How do I create a GCF file?

A.

As of yet, not enough is known about the GCF file format to programmatically create one. There are still plenty of unknown fields that need an understanding before a GCF file can be created. That said there is also no guarantee that creating a GCF file is all that is needed for Steam to recognize and make use of it. Some other registration might be required and may not be possible without hacking Steam. For these reasons I have no plans to add the ability to create a GCF file.

Q.

How do I modify a GCF file?

A.

The purpose of the GCF file is to make it easy for Steam to update Valve's software. When a new version of a program (say CS) is released, all Steam has to do is look in the CS GCF file and compare versions (hashes) of each file to determine if each file needs to be added, updated or removed. Because of this, if you were to modify a file, Steam would interpret this as meaning that the file is out of date and redownload the correct version of the file.

Steam does, however, provide an interface to add or overwrite a file. To add or overwrite a file simply place it in the corresponding directory in the Steam\SteamApps\[EMail]\[GCF File] directory on your hard drive. You might have to create the appropriate subdirectories.

Q.

Will GCFScape be able to create or modify GCF files in the future?

A.

Not likely.

Ask a question...

Modified: Jan 17th, 2006 - 10:33:36 pm[ 83 Comments ]
Nem's Tools v2.0 © 2006 Ryan Gregg.
Execution time: 0.07963s; Queries: 14.