I haven’t posted in a while. I’ve been helping out with a couple other programs we have going on in the labs these days. OEM Ready is a subset of Certified for Windows Vista targeted at applications that ship on new PC’s.
If you are using the automation in the OEM Ready Certification Test Tool, you can get a false failure if your application has a UTF-8 embedded manifest that has the byte order mark (BOM) included. Visual Studio 2008 includes the BOM if you use it to embed the manifest.
The error in the log looks something like this:
2008-09-06T01:56:32.4030000Z | Information | INFO: Embedded manifest exists: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> </requestedPrivileges> </security> </trustInfo> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> </assembly> |
2008-09-06T01:56:32.4040000Z | Warning | EXCEPTION: Data at the root level is invalid. Line 1, position 1../n at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.Throw(String res, String arg) at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XPath.XPathDocument.LoadFromReader(XmlReader reader, XmlSpace space) at System.Xml.XPath.XPathDocument..ctor(TextReader textReader) at Microsoft.LogoTest.Tests.Common.ManifestChecker.VerifyManifest(String manifest) |
2008-09-06T01:56:32.4040000Z | Warning | WARNING: Intermediate result: C:\Program Files\Microsoft\OEM Ready Demo\OEMReadyDemo.exe FAILED the test. It does not have manifest that is compliant with UAC guidelines. |
2008-09-06T01:56:32.4050000Z | Error | ASSERT: The test failed because one or more of the executable did not comply with the UAC guidelines |
2008-09-06T01:56:32.4100000Z | Information | INFO: Test result: Failed |
Sigcheck is used by the test tool to dump the manifest. Sigcheck outputs the BOM as garbage characters (). This throws off the test tool and it gives an incorrect result. This is a known bug with the tools and will be fixed. For now, if you run into this problem, you can submit this test case as a pass.
Pat