2.2.5 Status.txt

If present, status.txt MUST be placed in a final subfolder of the "status" branch of the CER file share (For an example, see section 4.1). The presence of a status.txt file in the final subfolder for a specific error instructs the CER client to take on different behavior for that error. The status.txt file supports any of the parameters that can be specified in policy.txt, with the exception of FileTreeRoot. If there is a conflict, a status.txt parameter MUST override a corresponding policy.txt parameter.

The status.txt file format is a CRLF-delimited list of name-value pairs. It MUST be encoded using the ANSI character set. The file MUST conform to the following ABNF, as specified in [RFC4234]. Note that the terms in the "StatusRule" rule can appear in any order and all permutations are not illustrated in the ABNF for brevity and clarity.

 StatusRule              = [Response] [BucketID] [iData]
                           [MemoryDump] [RegKeyValues] [fDoc]
                           [WQLKeyValues] [GetFileKeyValues] 
                           [GetFileVersionKeyValues][Tracking]
                           [CrashesPerBucket] [URLLaunch]
                           [NoSecondLevelCollection] [NoFileCollection]
                           [NoExternalURL] ; terms may appear in any order
 CERBooleanValue         = "YES" / "TRUE" / "1" / "NO" / "FALSE" / "0"
                           ; case insensitive
 Response                = %d82.101.115.112.111.110.115.101.61 ResponseValue CRLF 
                           ; the encoded characters spell case-sensitive "Response="
 ResponseValue           = "1" / Url
 BucketID                = %d66.117.99.107.101.116.61 (%x31-39)*DIGIT CRLF 
                           ; the encoded characters spell case-sensitive "Bucket=" 
 iData                   = %d105.68.97.116.97.61 CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "iData="
 MemoryDump              = %d77.101.109.111.114.121.68.117.109.112.61 CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "MemoryDump="
 RegKeyValues            = %d82.101.103.75.101.121.61 RegKeyList CRLF
                           ; the encoded characters spell case-sensitive "RegKey="
 RegKeyList              = RegKey [";" [RegKeyList]]
 RegKey                  = 1*CHAR    ;    see below for delimiter handling
 fDoc                    = %d102.68.111.99.61 CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "fDoc="
 WQLKeyValues            = %d87.81.76.61 WQLList CRLF 
                           ; the encoded characters spell case-sensitive "WQL="
 WQLList                 = (WQL / WQL ";" WQLList) 
 WQL                     = 1*CHAR ; WMI query syntax specified in [LAVY-MEGGITT],
                           see below for delimiter handling
 GetFileKeyValues        = %d71.101.116.70.105.108.101.61 GetFileList CRLF 
                           ; the encoded characters spell case-sensitive "GetFile="
 GetFileList             = GetFile [";" [GetFileList]]
 GetFile                 = Path
 GetFileVersionKeyValues = %d71.101.116.70.105.108.101.86.101.114.115.105.111.110.61 
                           GetFileList CRLF 
                           ; the encoded characters spell case-sensitive "GetFileVersion="
 Path                    = 1*CHAR    ;    see below for delimiter handling
 Tracking                = %d84.114.97.99.107.105.110.103.61 CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "Tracking="
 CrashesPerBucket        = %d67.114.97.115.104.101.115.32.112.101.114.32.98.117.99
                           .107.101.116.61 (1DIGIT / ((%x31-39)1*DIGIT)) CRLF 
                           ; the encoded characters spell case-sensitive "Crashes per bucket="
 URLLaunch               = %d85.82.76.76.97.117.110.99.104.61 [Url] CRLF 
                           ; the encoded characters spell case-sensitive "URLLaunch="
 Url                     = URI ; [RFC 3986], see below for delimiter handling
 NoSecondLevelCollection = %d78.111.83.101.99.111.110.100.76.101.118.101.108.67.111.108
                           .108.101.99.116.105.111.110.61 CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "NoSecondLevelCollection="
 NoFileCollection        = %d78.111.70.105.108.101.67.111.108.108.101.99.116.105
                           .111.110.61 CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "NoFileCollection="
 NoExternalURL           = %d78.111.69.120.116.101.114.110.97.108.85.82.76.61 
                           CERBooleanValue CRLF 
                           ; the encoded characters spell case-sensitive "NoExternalURL="

CERBooleanValue: The values "YES", "TRUE", and "1" represent True. The values "NO", "FALSE", and "0" represent False.

Response: The value "1" for this parameter indicates that the error reporting system has no additional information to display about this problem. If this parameter is a URL the CER client SHOULD display a response prompt pointing to the URL specified by this parameter.

BucketID: This MUST be a positive decimal integer, and MUST NOT be zero.

iData: A True CERBooleanValue (as well as the absence of the parameter) instructs the CER client that an error reporting file MUST be generated for this error signature. A False CERBooleanValue instructs the CER client that an error reporting file MUST NOT be made. This is one of several values consulted in determining whether to generate an error reporting file; see section 3.1.7 for more details.

MemoryDump: A True CERBooleanValue instructs the CER client to add sections of the memory address space of the affected process to the error report. A False CERBooleanValue (as well as the absence of the parameter) instructs the CER client to do nothing with respect to the memory address space.

RegKeyValues: This parameter lists any number of semicolon-delimited registry key names. The CER client MUST collect the values of these keys if they are present in the registry. The CER client MUST include this information in the error reporting file.

RegKey: A CRLF pair MUST NOT appear in the RegKey value, since that is reserved as the line delimiter. A semicolon MUST NOT appear in the RegKey value, since that is reserved as the list item delimiter.

fDoc: A True CERBooleanValue instructs the CER client that the contents of any currently open documents in the software generating the error report are requested to be added to the error report. A False CERBooleanValue (as well as the absence of the parameter) instructs the CER client to do nothing with respect to the open documents.

WQLKeyValues: A string value that instructs the CER client to collect the Windows Management Instrumentation (WMI) objects (as specified in [LAVY-MEGGITT]) that are specified by this parameter, and include them in this error report.

WQL: A CRLF pair MUST NOT appear in the WQL value, since that is reserved as the line delimiter. A semicolon MUST NOT appear in the WQL value, since that is reserved as the list item delimiter.

GetFile: This parameter lists any number of semicolon-delimited file names to collect and include in the error report. It MUST be in a file path notation supported by the client systems that are expected to encounter the type of error this file corresponds to. The notation MUST support environment variables.

GetFileVersion: This parameter lists any number of semicolon-delimited file names to collect version information from and include in the error report. It MUST be in a file path notation supported by the client systems that are expected to encounter the type of error this file corresponds to. The notation MUST support environment variables.

Path: A CRLF pair MUST NOT appear in the Path value, since that is reserved as the line delimiter. A semicolon MUST NOT appear in the Path value, since that is reserved as the list item delimiter.

Tracking, Crashes Per Bucket, NoSecondLevelCollection, NoFileCollection, NoExternalURL, URL: These elements MUST conform to section 2.2.4.

URLLaunch: This parameter SHOULD be as specified in section 2.2.4. <6>