{"id":20956,"date":"2026-04-10T06:46:23","date_gmt":"2026-04-10T14:46:23","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/powershell\/?p=20956"},"modified":"2026-04-10T06:46:23","modified_gmt":"2026-04-10T14:46:23","slug":"powershell-msi-deprecation","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/powershell-msi-deprecation\/","title":{"rendered":"PowerShell MSI package deprecation and preview updates"},"content":{"rendered":"<p><!-- markdownlint-disable MD041 --><\/p>\n<p>Beginning with PowerShell 7.7-preview.1 (April 2026), the MSIX package will be the primary\ninstallation method for PowerShell on Windows. We will no longer ship the MSI installer package for\nnew PowerShell releases.<\/p>\n<p>For existing releases, including PowerShell 7.6, we will continue to provide MSI packages. However,\nMSI isn&#8217;t planned for future releases, including PowerShell 7.7 GA and beyond.<\/p>\n<h2>Why we&#8217;re making this change<\/h2>\n<p>MSIX provides a modern installation and servicing model and is supported by Windows deployment\ntools. It uses a declarative model that&#8217;s more predictable and reliable than MSI, which relies on\ncustom actions and scripts that can lead to inconsistent behavior. MSIX supports built-in update\nmechanisms with differential updates. Microsoft is investing in improving MSIX.<\/p>\n<p>MSI is a legacy technology. Servicing MSI installations requires external tooling and often results\nin full reinstalls. MSI doesn&#8217;t meet modern accessibility requirements, particularly for screen\nreader scenarios. To be accessible, MSI must present predictable tab stops and accurate\nannouncements for screen readers, which it doesn&#8217;t. Accessibility is a core requirement for\nPowerShell.<\/p>\n<p>This decision isn&#8217;t <em>just<\/em> about modernizing packaging for its own sake. It&#8217;s about ensuring that\nPowerShell installations are modern and accessible for all users, now and in the future.<\/p>\n<h2>Looking forward<\/h2>\n<p>Our goal is to provide a fully accessible, reliable, and enterprise-ready installation experience.\nAt this time, MSIX doesn&#8217;t support all use case scenarios that MSI enabled, such as remoting and\nexecution by system-level services (like Task Scheduler). We recognize this gap and are actively\nworking to address it.<\/p>\n<p>As part of this work, we&#8217;re investing in:<\/p>\n<ul>\n<li>Improving MSIX support for system-level and enterprise deployment scenarios<\/li>\n<li>Ensuring accessibility requirements are fully met across all installation paths<\/li>\n<li>Providing clearer guidance and tooling for deployment at scale<\/li>\n<\/ul>\n<p>We will continue to share updates as this work progresses.<\/p>\n<h2>Closing<\/h2>\n<p>We understand this change may require adjustments, especially in environments that rely heavily on\nMSI-based deployment. We appreciate your patience as we make this transition.<\/p>\n<p>Our focus is to ensure PowerShell remains accessible, predictable, and practical for all users.<\/p>\n<p>&#8212; The PowerShell Team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post announces the deprecation of MSI packaging beginning with PowerShell 7.7.<\/p>\n","protected":false},"author":7527,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[266],"class_list":["post-20956","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-powershell-release"],"acf":[],"blog_post_summary":"<p>This post announces the deprecation of MSI packaging beginning with PowerShell 7.7.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/20956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/7527"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=20956"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/20956\/revisions"}],"predecessor-version":[{"id":20958,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/20956\/revisions\/20958"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=20956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=20956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=20956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}