This documentation is archived and is not being maintained.

IsolatedStorageFile.GetMachineStoreForDomain Method

Obtains machine-scoped isolated storage corresponding to the application domain identity and the assembly identity.

Namespace:  System.IO.IsolatedStorage
Assembly:  mscorlib (in mscorlib.dll)

public static IsolatedStorageFile GetMachineStoreForDomain()

Return Value

Type: System.IO.IsolatedStorage.IsolatedStorageFile
An object corresponding to the IsolatedStorageScope, based on a combination of the application domain identity and the assembly identity.


Sufficient isolated storage permissions have not been granted.


The store failed to open.


The assembly specified has insufficient permissions to create isolated stores.


The permissions for the application domain cannot be determined.


An isolated storage location cannot be initialized.

The same assembly code will use different isolated stores when used in the context of different applications.

GetMachineStoreForDomain is functionally equivalent to the following code:

isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly |
    IsolatedStorageScope.Domain | IsolatedStorageScope.Machine,
    null, null);

Different assemblies running within the same application domain always have distinct isolated stores.


GetUserStoreForDomain will return an IsolatedStorageFile object without a quota if the application domain into which the assembly is installed does not have IsolatedStorageFilePermission. Later attempts to create an IsolatedStorageFile object using the IsolatedStorageFile object that does not have a quota will fail with an IsolatedStorageException.

The following code example demonstrates the GetUserStoreForDomain method. For the complete context of this example, see the IsolatedStorageFile overview.

IsolatedStorageFile isoFile;
isoFile = IsolatedStorageFile.GetUserStoreForDomain();

// Open or create a writable file.
IsolatedStorageFileStream isoStream =
    new IsolatedStorageFileStream(this.userName,

StreamWriter writer = new StreamWriter(isoStream);
// Calculate the amount of space used to record the user's preferences.
double d = isoFile.CurrentSize / isoFile.MaximumSize;
Console.WriteLine("CurrentSize = " + isoFile.CurrentSize.ToString());
Console.WriteLine("MaximumSize = " + isoFile.MaximumSize.ToString());
// StreamWriter.Close implicitly closes isoStream.
return d;

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.