Game Development Reference
Size : 1024
Notice now that the Url tag has disappeared, and the public strong name key is
now set. The assembly can now reside at any location on the local hard drive and
remain associated to this isolated storage.
You may at times wish to remove isolated storages. Removing all the storages for
the current user can be done using the storeadm /remove command. This operation
requires elevated permissions, generally admin status for the local machine. Finer
control has to be done programmatically. storeadm is a managed application, so
disassembling the executable will give you an idea of how it works, and how to
enumerate isolated storages for the current user. It is generally common practice
to create a hook in the assembly to remove data in isolated storage when it is no
This chapter discussed traditional methods for storing legacy application data, and
later covered the concept of isolated storage. Ideal uses for isolated storage include
user settings and preferences, queued data waiting for a connection to be estab-
lished to the Internet, and cached data retrieved from web services and databases.
So, having looked at the details of what isolated storage is and how it works, we
looked at some general ideas of when and how to use it form. Do not store user
documents or downloaded assemblies, because users will have a difficult time
locating these documents on the hard drive for transfers or backups. Downloaded
assemblies that are placed in isolated storage will also not be loadable because
there is no path name. Finally, any data you place in isolated storage has the poten-
tial to be read by users because stored data is not encrypted. Do not store private
or sensitive information in isolated storage unless you handle the encryption.
Isolated storage is a great concept, and the .NET framework provides a solid foun-
dation for it. The standard is to use application configuration files ( app.config )
when handling read-only settings, and to use isolated storage when you need bidi-
rectional data persistence.