Share via


Setting Types that Differ from the IIS Metabase

On ASP.NET applications and Internet Information Services (IIS) Web servers, some IIS settings have System Definition Model (SDM) types that differ from their counterparts in the IIS metabase. You need to convert these setting values to the proper types when configuring or validating them in the IIS metabase. For more information about SDM, see Overview of the System Definition Model (SDM). For more information about IIS metabase properties, see the IIS documentation (https://go.microsoft.com/fwlink/?LinkId=54800).

The following sections contain more information about these type conversions:

  • Setting Types that Convert to Simple Types

  • Setting Types that Convert to Integer Type

  • Setting Types that Convert to Hexadecimal Type

  • Setting Types that Convert to String Type

Setting Types that Convert to Simple Types

The following table contains setting types whose values convert to simple types.

Setting type

IIS metabase type

Boolean

bool

However, the following settings should be converted to "int" type:

  • AspKeepSessionIDSecure

  • AspExecuteInMTA

DateTime

string

Int

int

String

string

However, the following settings require the specified changes:

  • NTAuthenticationProviders - a comma-delimited string.

  • DefaultDoc - a comma and space-delimited string.

  • InProcessIsapiApps - a string array.

UnsignedInt

uint

However, the following settings should be converted to "int" type:

  • AppOopRecoverLimit

  • AspQueueTimeout

  • AspScriptFileCacheSize

  • AspMaxDiskTemplateCacheFiles

  • AspSessionMax

  • AspMaxRequestEntityAllowed

  • PoolIdcTimeout

  • MaxRequestEntityAllowed

  • UploadReadAheadSize

IPSecurity

This field is stored as a binary structure in the IIS metabase. You can set this value using System.DirectoryServices. For more information, see the IIS documentation.

Setting Types that Convert to Integer Type

The following table contains setting values that convert to integer type in the IIS metabase.

Setting name

Setting type (if different than setting name)

IIS metabase property name (if different from setting name)

Setting value

IIS metabase value

AppIsolated

InProcess

0

OutOfProcess

1

PooledProcess

2

AZImpersonationLevel

UrlAuthImpersonationLevel

AzImpersonationLevel

UseCurrentUserToken

0

UseProcessToken

1

UseAnonymousToken

2

LoadBalancerCapability

LoadBalancerCapabilities

TerminateConnection

1

ReturnError503

2

LogonMethod

Interactive

0

Batch

1

Network

2

ClearText

3

PassportRequireADMapping

DontEnforce

0

Attempt

1

Require

2

ServerState

Starting

1

Started

2

Stopping

3

Stopped

4

Pausing

5

Paused

6

Continuing

7

UserIsolationMode

None

0

IsolatedLocally

1

IsolatedActiveDirectory

2

Setting Types that Convert to Hexadecimal Type

The following table contains setting values that convert to hexadecimal type in the IIS metabase.

Note

For settings that permit multiple values, you need to combine the bitmask values to create the final DWORD property value. For more information, see "Bitmask" and "Flags" in the topic "Using the Metabase Reference Pages" (https://go.microsoft.com/fwlink/?LinkId=55891).

Setting

Setting type name (if different than setting name)

IIS metabase property name (if different from setting name)

Setting value

IIS metabase value

AccessFlags

AllowAll

0x217

AllowRead

0x1

AllowWrite

0x2

AllowLocalExecute

0x4

AllowAspSource

0x10

AllowScript

0x200

DenyRemoteWrite

0x400

DenyRemoteRead

0x1000

DenyRemoteExecute

0x2000

DenyRemoteScript

0x4000

DenyPhysicalDirAccess

0x8000

AccessSslFlags

AccessSSLFlags

RequireSsl

0x8

NegotiateClientCert

0x20

RequireClientCert

0x40

MapClientCertToWinUser

0x80

RequireSsl128

0x100

AppPoolIdentityType

LocalSystem

0x0

LocalService

0x1

NetworkService

0x2

UserDefined

0x3

AppPoolState

Starting

0x1

Started

0x2

Stopping

0x3

Stopped

0x4

AspAppServiceFlags

EnableTracker

0x1

EnableSxs

0x2

UsePartition

0x4

AuthFlags

None

0x0

Anonymous

0x1

Basic

0x2

Ntlm

0x4

MD5

0x10

Passport

0x40

All

0x57

AuthPersistenceFlags

AuthPersistence

SingleRequest

0x40

CpuAction

NoAction

0x0

KillWwwWorkerProcess

0x1

Trace

0x2

CpuLoggingMask

CpuLoggingFlags

LogEvent

0x1

ProcessType

0x2

UserTime

0x4

KernelTime

0x8

PageFaults

0x10

TotalProcessNumber

0x20

ActiveProcesses

0x40

TerminatedProcesses

0x80

CpuLoggingOptions

LogAllProcesses

0x1

LogCgis

0x2

LogOutOfProcessIsapisAndAsp

0x4

DirBrowseFlags

None

0x0

ShowDate

0x2

ShowTime

0x4

ShowFileSize

0x8

ShowFileExtension

0x10

ShowLongDate

0x20

EnableDefaultDoc

0x40000000

EnableDirBrowsing

For Visual C#, use ((int)(0x80000000)).

Otherwise, use unchecked ((int)(0x80000000)).

LogEventsOnRecycleFlags

LogEventOnRecycle

OnRecycleTime

0x1

OnNumberRequests

0x2

OnRecycleSchedule

0x4

OnUnhealthyIsapiDetected

0x10

OnDemand

0x20

OnConfigurationChange

0x40

OnPrivateMemory

0x80

LogExtFileFlags

Date

0x1

Time

0x2

ClientIPAddress

0x4

UserName

0x8

SiteName

0x10

LocalComputerName

0x20

ServerIP

0x40

ProtocolMethod

0x80

UriStem

0x100

UriQuery

0x200

HttpStatus

0x400

Win32ErrorStatus

0x800

TotalBytesSent

0x1000

TotalBytesReceived

0x2000

TimeToCompleteRequest

0x4000

ServerPort

0x8000

UserAgent

0x10000

ClientCookie

0x20000

ClientReferer

0x40000

ProtocolVersion

0x80000

HostServer

0x100000

HttpSubStatus

0x200000

LogFileCreatePeriod

LogFilePeriod

OnMaxSize

0x0

Daily

0x1

Weekly

0x2

Monthly

0x3

Hourly

0x4

PasswordChangeFlags

RequireSsl

0x0

AllowChangeOnNonsecurePorts

0x1

DisablePasswordChange

0x2

DisableAdvanceExpireNotification

0x4

Setting Types that Convert to String Type

The following table contains settings values that convert to a string or a string array, depending on the setting.

Note

You might need to add resources for some settings or import those settings before you can see them in the Settings and Constraints Editor and include them in the deployment report.

Setting name

Setting type (if different than setting name)

Subsettings needed

IIS metabase name (if different from setting name)

Conversion

DefaultDocFooter

  • Footer

  • FileName

A string with the value of "Footer" as follows:

  • If "FileName" is True, then "File:Footer".

  • If "FileName" is False, then: "String:Footer"

HttpCustomHeaders

HttpCustomHeader

  • Value

  • Header

A string array with the following values: "Header:Value"

HttpExpires

HttpDocumentExpiration

  • RelativeExpiration

  • AbsoluteExpirationGmtTime

  • RelativeExpirationTimespan

A string specifying the values "D" or "S" as the value in the HTML file header that is returned to the browser and that is formatted as follows:

  • If "RelativeExpiration" is True, then "D, RelativeExpirationTimespan"

    Note

    You need to convert "RelativeExpirationTimespan" to the total number of seconds in hexadecimal. In addition, if "RelativeExpirationTimespan" is "-1.00:00:00", then convert it to "0xFFFFFFFF".

  • If "RelativeExpiration" is False, then "S, AbsoluteExpirationGmtTime"

    Note

    You need to convert "AbsoluteExpirationGmtTime" to a valid GMT string.

HttpErrors

HttpError

  • Code

  • SubCode

  • UrlHandler

  • FileNameHandler

  • FileHandler

A string array with the specified values as follows:

  • If "FileHandler" is True, then "Code, SubCode, URL, UrlHandler"

  • If "FileHandler" is False, then "Code, SubCode, FILE, FileNameHandler"

    Note

    "Code" can also be a wildcard ("*") value.

MimeMap

  • FileExtension

  • MimeType

A string array with the following subsetting values:

"FileExtension, MimeType"

ScriptMaps

ScriptMap

  • FileExtension

  • ScriptProcessor

  • IncludedVerbs

  • Script

  • CheckPathInfo

A string array with the following subsetting values:

"FileExtension, ScriptProcessor, Flags, IncludedVerbs"

Note

You can use an asterisk (*) as "FileExtension" to route all requests through the specified "ScriptProcessor".

"Flags" depends on the "Script" and "CheckPathInfo" as follows:

  • If "Script" is False and "CheckPathInfo" is False, "Flags" is 0.

  • If "Script" is True and "CheckPathInfo" is False, "Flags" is 1.

  • If "Script" is False and "CheckPathInfo" is True, "Flags" is 4.

  • If "Script" is True and "CheckPathInfo" is True, "Flags" is 5.

SecureBindings

SecureBinding

  • IPAddress

  • Port

A string array with the following subsetting values: "IPAddress:Port"

ServerBindings

Binding

  • IPAddress

  • Port

  • HostName

A string array with the following subsetting values: "IPAddress:Port:HostName"

WebSvcExtRestrictionList

WebExtension

  • Enabled

  • FilePath

  • InetManagerDeletable

  • GroupID

  • Description

A string array in either format with the following subsetting values:

  • "Enabled, FilePath, InetManagerDeletable, GroupID, Description"

  • "Enabled, FilePath"

    Note

    Convert "Enabled" and "InetManagerDeletable" to 0 if false or 1 if true.

See Also

Tasks

How to: Find IIS Metabase Settings for ASP.NET Applications in Deployment Reports

How to: Find IIS Metabase Settings for IIS Web Servers in Deployment Reports

Reference

Setting Names that Differ from the IIS Metabase

IIS Settings for ASP.NET Applications

IIS Settings for IIS Web Servers