Game Development Reference
The files in your deployment project can be packaged in a selection of ways. The
first format is to store loose uncompressed files, which basically means that no
compression takes place and the files are stored as they are. This is an ideal
approach because installation speed is important to you. Having uncompressed
files takes a lot less time to install rather than having decompression operations
that have to happen before files can be installed. This solution is ideal for local
computer or network environments where you are not concerned with bandwidth
or download issues. The next approach is to store your files in the setup file, which
means that your files are compressed and stored within the MSI file. This approach
is great for situations where you are concerned with network traffic or user com-
petence; the fewer files you can give users with limited technical ability, the better.
Lastly, you can store your files in Cabinet files (.cab). Basically, files are stored in
external Cabinet files that are referenced by entries in the MSI file. At runtime, the
installer uses these entries to decompress and install the Cabinet files. Cabinet files
are stored alongside the MSI file in the same directory. This solution is ideal for
web deployments or deployments that require interchangeable components for a
variety of configurations.
You have the option of tweaking the compression level to favor different scenarios.
You can select Optimized for Speed, Optimized for Size, or None. Optimizing for
Speed means that files are roughly compressed, resulting in faster compression,
sacrificing a reduction with the amount of compression applied. Optimizing for
Size means that a more intensive compression algorithm is used to shrink the files
as much as possible, resulting in an excellent level of compression at the cost of
additional performance overhead. Lastly, selecting None for the compression
mode will result in files being stored uncompressed within a package (if applica-
ble). You can use this mode with a setup file if you want a fast install with a small
number of files to work with.
Figure 46.13 shows the property page for the setup project configuration.
Many applications rely on the existence of shared components or frameworks
before installation can occur. A solid example of this relationship is the installation
and usage of any .NET application. Client machines must have the .NET runtime
and supporting framework installed, or .NET applications cannot execute. Visual
Studio Installer has a mechanism known as a bootstrapper that executes and com-
pletes successfully before actual installation occurs. This bootstrapper can be con-
figured to make sure that certain key dependencies exist, and to offer methods to
acquire these dependencies if they are not found. Visual Studio Installer requires
Windows Installer 1.5 to be installed on the target computer in order to function.
Windows XP was the first operating system that came bundled with Windows