{"id":643,"date":"2009-11-06T02:53:22","date_gmt":"2009-11-06T02:53:22","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/heaths\/2009\/11\/06\/wow64-is-optional-in-windows-server-2008-r2-server-core\/"},"modified":"2019-02-17T15:29:47","modified_gmt":"2019-02-17T22:29:47","slug":"wow64-is-optional-in-windows-server-2008-r2-server-core","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/setup\/wow64-is-optional-in-windows-server-2008-r2-server-core\/","title":{"rendered":"WoW64 is optional in Windows Server 2008 R2 Server Core"},"content":{"rendered":"<p>Installation bootstrap applications are increasingly common as products chain dependencies like the Microsoft .NET Framework. Because <a href=\"http:\/\/blogs.msdn.com\/heaths\/archive\/2005\/02\/17\/375816.aspx\">64-bit Windows supports both 32- and 64-bit execution<\/a>, but 64-bit executables on 32-bit Windows give what some users might consider cryptic error messages, installation developers often ship a 32-bit bootstrap application that runs in either environment. Then in scenarios when a required package installs only in 64-bit Windows, the bootstrap application can present a friendly actionable error message.<\/p>\n<p>Microsoft Windows supports 32-bit execution on 64-bit Windows with Windows-on-Windows 64-bit (WoW64). But what if WoW64 wasn&rsquo;t available?<\/p>\n<p>To support deployment to more constrained systems and to install with a smaller footprint to secure and maintain, Windows Server 2008 R2 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc753802.aspx\">Server Core<\/a> offers WoW64 as an <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/dd883268(WS.10).aspx\">optional feature<\/a>.<\/p>\n<p>What does this mean for installation developers? Overall, 32-bit executables will not execute since the WoW64 subsystem is not installed. More specifically,<\/p>\n<ul>\n<li>32-bit custom actions will not execute. Windows Installer will fail create a custom action server with error code 308.<\/li>\n<li>32-bit bootstrap applications will not execute. You can expect error code 308 and the error message, &ldquo;The subsystem needed to support the image type is not present.&rdquo;<\/li>\n<\/ul>\n<p>However,<\/p>\n<ul>\n<li>Packages <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/aa372070.aspx\">attributed<\/a> to support the Intel platform will install as long as they do not contain 32-bit custom actions.<\/li>\n<\/ul>\n<p>But this is really no cause for alarm. This only applies to Windows Server 2008 R2 Server Core designed to provide one or a few roles or features in an enterprise. They aren&rsquo;t designed to run client applications. Administrators aren&rsquo;t likely to install many applications on Server Core. And in Windows Server 2008 R2 Server Core <a href=\"http:\/\/blogs.technet.com\/server_core\/archive\/2009\/05\/05\/wow64-support-on-server-core-in-windows-server-2008-r2.aspx\">WoW64 is enabled by default<\/a> based on customer feedback from beta 2.<\/p>\n<p>If you need to support server core and have 32-bit components to install, consider <a href=\"http:\/\/blogs.msdn.com\/heaths\/archive\/2008\/01\/15\/different-packages-are-required-for-different-processor-architectures.aspx\">separate packages for 32- and 64-bit<\/a> instead of a 64-bit package that contains 32-bit components and custom actions. This will allow for flexibility in supporting 32-bit only, 32- and 64-bit mixed, and 64-bit only installation. More work may be required to support processor-independent data files and other resources.<\/p>\n<p>But remember this is only if you need to support Server Core. Most installation developers should have no cause for worry regarding the absence of WoW64.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installation bootstrap applications are increasingly common as products chain dependencies like the Microsoft .NET Framework. Because 64-bit Windows supports both 32- and 64-bit execution, but 64-bit executables on 32-bit Windows give what some users might consider cryptic error messages, installation developers often ship a 32-bit bootstrap application that runs in either environment. Then in scenarios [&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":[4,10,20],"class_list":["post-643","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-64-bit","tag-custom-actions","tag-installation"],"acf":[],"blog_post_summary":"<p>Installation bootstrap applications are increasingly common as products chain dependencies like the Microsoft .NET Framework. Because 64-bit Windows supports both 32- and 64-bit execution, but 64-bit executables on 32-bit Windows give what some users might consider cryptic error messages, installation developers often ship a 32-bit bootstrap application that runs in either environment. Then in scenarios [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/643","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=643"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/643\/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=643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/categories?post=643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/tags?post=643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}