{"id":2553,"date":"2006-01-18T20:02:00","date_gmt":"2006-01-18T20:02:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/heaths\/2006\/01\/18\/error-2262-not-necessarily-a-fatal-error\/"},"modified":"2006-01-18T20:02:00","modified_gmt":"2006-01-18T20:02:00","slug":"error-2262-not-necessarily-a-fatal-error","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/setup\/error-2262-not-necessarily-a-fatal-error\/","title":{"rendered":"Error 2262: Not Necessarily a Fatal Error"},"content":{"rendered":"<p>Someone wondered if the following found in a Windows Installer log was indeed an error:<\/p>\n<p>MSI (c) (A8:A0) [14:38:51:427]: Transforming table Error.<br \/>MSI (c) (A8:A0) [14:38:51:427]: Note: 1: 2262 2: Error 3: -2147287038<\/p>\n<p>Recall from <a href=\"http:\/\/blogs.msdn.com\/heaths\/archive\/2005\/12\/14\/503796.aspx\">Diagnosing Installation Errors<\/a> that field 1 in the second line indicates the Windows Installer error. If you look that up in the <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/msi\/setup\/windows_installer_error_messages.asp\">Windows Installer Error Messages<\/a> reference documentation you&#8217;ll see that error 2262 (in English) reads, &#8220;Stream does not exist: [2]. System error: [3].&#8221; If you format the message using the fields in the second log line you&#8217;ll read, &#8220;Stream does not exist: Error. System error: -2147287038.&#8221; Convert that error to hexadecimal for easier reference to 0x80030002.<\/p>\n<p>According to <i>winerror.h<\/i> as mentioned in <a href=\"http:\/\/blogs.msdn.com\/heaths\/archive\/2005\/07\/21\/441391.aspx\">Deciphering an HRESULT<\/a>, 0x800<b>3<\/b>0002 indicates that the error belongs to the OLE storage facility, <code>FACILITY_STORAGE<\/code>. If you look for the entire error (since it&#8217;s not a Win32 error, as indicated by the <code>FACILITY_WIN32<\/code> facility) in <i>winerror.h<\/i> &#8211; also <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/randz\/protocol\/winerror_h.asp\">available online<\/a> &#8211; you&#8217;ll find that error is defined for <code>STG_E_FILENOTFOUND<\/code>.<\/p>\n<p>Since Windows Installer files are OLE structure storage files, this system error can be expected for fatal errors when something isn&#8217;t available, but the error may not always be fatal. When patching a product, for example, you&#8217;ll see the second log line from above a lot &#8211; especially toward the beginning of the client and server processes. It means that a table wasn&#8217;t found in the transform contained in an applicable patch. So the first log line actually refers to the <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/msi\/setup\/error_table.asp\">Error table<\/a>, not necessarily that an error occurred &#8211; just that the Error table wasn&#8217;t found in a transform.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Someone wondered if the following found in a Windows Installer log was indeed an error: MSI (c) (A8:A0) [14:38:51:427]: Transforming table Error.MSI (c) (A8:A0) [14:38:51:427]: Note: 1: 2262 2: Error 3: -2147287038 Recall from Diagnosing Installation Errors that field 1 in the second line indicates the Windows Installer error. If you look that up in [&hellip;]<\/p>\n","protected":false},"author":389,"featured_media":3843,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[15,20,23],"class_list":["post-2553","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-diagnosing","tag-installation","tag-logging"],"acf":[],"blog_post_summary":"<p>Someone wondered if the following found in a Windows Installer log was indeed an error: MSI (c) (A8:A0) [14:38:51:427]: Transforming table Error.MSI (c) (A8:A0) [14:38:51:427]: Note: 1: 2262 2: Error 3: -2147287038 Recall from Diagnosing Installation Errors that field 1 in the second line indicates the Windows Installer error. If you look that up in [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/2553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/users\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/comments?post=2553"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/2553\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media\/3843"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media?parent=2553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/categories?post=2553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/tags?post=2553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}