From 3c884fb2919247ad517438aa82fa132fd68dbbfc Mon Sep 17 00:00:00 2001 From: denelon Date: Thu, 29 Oct 2020 15:41:42 -0700 Subject: [PATCH 1/2] Update for ProductCode and PackageFamilyName --- doc/ManifestSpecv0.1.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/doc/ManifestSpecv0.1.md b/doc/ManifestSpecv0.1.md index 5390cd6852..026b9543eb 100644 --- a/doc/ManifestSpecv0.1.md +++ b/doc/ManifestSpecv0.1.md @@ -204,16 +204,19 @@ Installers: # Scope is not supported in this preview (5/24/2020) Scope: user - # SystemAppId is a required field. The value in the field differs depending on the InstallerType. - # For MSI it is the product code. Typically a GUID that is typically found in the uninstall registry location and includes the brackets. + + # ProductCode will be used in upgrade scenarios and to locate the uninstall string to uninstall the application. + # For MSI there is an explicit product code. Typically a GUID that is typically found in the uninstall registry location and includes the brackets. # For example: {5740BD44-B58D-321A-AFC0-6D3D4556DD6C} # [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3740BD44-B58D-321A-AFC0-6D3D4556DD6C}] # [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{3740BD44-B58D-321A-AFC0-6D3D4556DD6C}] - # The Package Manager will use that value to locate the uninstall string to uninstall the application. - # For inno, wix, nullsoft, and exe, the SystemAppId should be a string that is located in either of the Uninstall keys above. - # For MSIX the SystemAppId should be the Package Family Name. For example: Contoso.Toolbox.Finance_7wekyb3d8bbwe + # For inno, wix, nullsoft, and exe, the ProductCode should be a string that is located in either of the Uninstall keys above. + ProductCode: "{05321FDB-BBA2-497D-99C6-C440E184C043}" + + # PackageFamilyName will be used in upgrade scenarios and to locate the uninstall string to uninstall the application. + # MSIX installers have an explicit PackageFamilyName. For example: Contoso.Toolbox.Finance_7wekyb3d8bbwe # Restrictions: [min: 3, max:128] - SystemAppId: {3740BD44-B58D-321A-AFC0-6D3D4556DD6C} + PackageFamilyName: Microsoft.WindowsTerminal_8wekyb3d8bbwe # Switches in installers can override the root specified switches. See definition earlier in this document. Switches: From e602bcd40f5ae8d404777f96fa016c01f2ef0970 Mon Sep 17 00:00:00 2001 From: denelon Date: Fri, 8 Jan 2021 11:18:06 -0800 Subject: [PATCH 2/2] Update windows-package-manager-v1-roadmap.md January 20201 update --- doc/windows-package-manager-v1-roadmap.md | 85 ++++++++++++----------- 1 file changed, 45 insertions(+), 40 deletions(-) diff --git a/doc/windows-package-manager-v1-roadmap.md b/doc/windows-package-manager-v1-roadmap.md index 10f3c97d61..49ff98211b 100644 --- a/doc/windows-package-manager-v1-roadmap.md +++ b/doc/windows-package-manager-v1-roadmap.md @@ -45,15 +45,17 @@ Ultimately, we're aiming for Windows Package Manager v1.0 to be released in Spri | July 2020 | | | | August 2020 | | | | September 2020 | [v0.2](https://github.com/microsoft/winget-cli/milestone/4) | Support for Microsoft Store (curated list of developer tools in experimental feature)| -| October 2020 | [v0.3](https://github.com/microsoft/winget-cli/milestone/5), [v0.4](https://github.com/microsoft/winget-cli/milestone/6), [v0.5](https://github.com/microsoft/winget-cli/milestone/7) | List, Upgrade, and Uninstall (includes Apps in Control Panel/Add Remove Programs) | -| November 2020 | [v0.6](https://github.com/microsoft/winget-cli/milestone/8), [v0.7](https://github.com/microsoft/winget-cli/milestone/9) | Import / Export and Dependency Support| -| December 2020 | [v0.8](https://github.com/microsoft/winget-cli/milestone/10) | Multiple Architectures | -| January 2021 | [v0.9](https://github.com/microsoft/winget-cli/milestone/11) | Multiple Languages | -| February 2021 | [v0.10](https://github.com/microsoft/winget-cli/milestone/12) | User vs. System installation | -| March 2021 | [v0.11](https://github.com/microsoft/winget-cli/milestone/13) | Third party REST source| -| April 2021 | [v0.12](https://github.com/microsoft/winget-cli/milestone/14) | Group Policy| +| October 2020 | [v0.3](https://github.com/microsoft/winget-cli/milestone/5) | List (includes Apps in Control Panel/Add Remove Programs) | +| November 2020 | [v0.4](https://github.com/microsoft/winget-cli/milestone/6) | Upgrade | +| December 2020 | [v0.5](https://github.com/microsoft/winget-cli/milestone/7) | Uninstall | +| January 2021 | [v0.6](https://github.com/microsoft/winget-cli/milestone/8) | Import / Export | +| February 2021 | , [v0.7](https://github.com/microsoft/winget-cli/milestone/9), [v0.8](https://github.com/microsoft/winget-cli/milestone/10), [v0.9](https://github.com/microsoft/winget-cli/milestone/11), [v0.10](https://github.com/microsoft/winget-cli/milestone/12) | Dependency Support, Multiple Architectures, Multiple Languages, and User vs. System installation | +| March 2021 | [v0.11](https://github.com/microsoft/winget-cli/milestone/13), [v0.12](https://github.com/microsoft/winget-cli/milestone/14), [v0.13](https://github.com/microsoft/winget-cli/milestone/15), [v0.14](https://github.com/microsoft/winget-cli/milestone/16), [v0.16](https://github.com/microsoft/winget-cli/milestone/18), [v0.17](https://github.com/microsoft/winget-cli/milestone/19) | Third party REST source, Group Policy, Delivery Optimization, Metered Networks, .zip, and .exe| +| April 2021 || Group Policy| | May 2021 | [v1.0](https://github.com/microsoft/winget-cli/milestone/1) | Windows Package Manager v1.0 Release | +Note: Many of the features have been implemented in experimental mode. If you execute `winget features` a list of experimental features and their status is displayed. You may modify your settings file with `winget settings` to enable or disable them. The experimental "list" feature is a prerequisite for "upgrade", "uninstall", and other features in development. Once the "list" feature has been fully implemented, the other stable features depending on it will also be migrated from experimental to default. + ## GitHub Milestones Each Release above is/will be reflected in our [GitHub milestones](https://github.com/microsoft/winget-cli/milestones): @@ -74,7 +76,7 @@ Each Release above is/will be reflected in our [GitHub milestones](https://githu | [v0.12](https://github.com/microsoft/winget-cli/milestone/14) | Group Policy | | [v0.13](https://github.com/microsoft/winget-cli/milestone/15) | Delivery Optimization | | [v0.14](https://github.com/microsoft/winget-cli/milestone/16) | Metered Networks | -| [v0.15](https://github.com/microsoft/winget-cli/milestone/17) | App Config Files | +| ~~[v0.15](https://github.com/microsoft/winget-cli/milestone/17)~~ | App Config Files* | | [v0.16](https://github.com/microsoft/winget-cli/milestone/18) | .zip | | [v0.17](https://github.com/microsoft/winget-cli/milestone/19) | .exe | | [v0.18](https://github.com/microsoft/winget-cli/milestone/20) | Portable/Standalone Apps | @@ -93,6 +95,8 @@ Each Release above is/will be reflected in our [GitHub milestones](https://githu | [v0.31](https://github.com/microsoft/winget-cli/milestone/33) | Auto Upgrade Apps | | [Backlog](https://github.com/microsoft/winget-cli/milestone/2) | Work not yet assigned to a milestone or release | +* Versions with strikethroug have been pushed post v1.0. + ## Issue Triage & Prioritization Incoming issues/asks/etc. are triaged several times a week, labelled appropriately, and assigned to a milestone in priority order: @@ -113,39 +117,40 @@ The following are a list of the key scenarios we're aiming to deliver for Window | [v0.1.41821-preview](https://github.com/microsoft/winget-cli/releases/tag/v0.1.41821-preview) | Configurability & Customization | The client will have a modern, flexible settings mechanism that persists settings to/from a JSON file stored in the user's app data folders, and/or in files synchronized between machines via OneDrive, etc. | | [v0.1.41821-preview](https://github.com/microsoft/winget-cli/releases/tag/v0.1.41821-preview) | Color Theming & Styling | The client will honor the user's Windows dark/light theme settings, and/or color accent settings. | | [v0.1.42241-preview](https://github.com/microsoft/winget-cli/releases/tag/v0.1.42241-preview) | Autocomplete | The client will support autocomplete for all commands and packages in the local cache. | -| V1 | #119 `winget list` | The client should be able to tell you what Apps are installed including the Control Panel. | -| V1 | #120 `winget upgrade` | The client should be able to update one or "all" installed Apps. | -| V1 | #121 `winget uninstall` | The client should be able to uninstall Apps. | -| V1 | #220 Export/Import | The client should be able to export the list of installed Apps and import the exported list. | -| V1 | #163 Dependencies | The client should be able to install package dependencies. | -| V1 | #132 Multiple Architectures | The client should support multiple architectures in the same manifest. | -| V1 | #149 User vs. System | Applications may be installed for the local user or for the system. | -| V1 | #124 Multiple Languages | The client will support installation for almost every language for which there is a fixed-width font including East Asian languages. Bonus points for RTL languages/scripts. | -| V1 | #226 REST Repository | Support for a REST based repository. | -| V1 | #154 Group Policy | Support for Group Policy control. | -| V1 | #151 Delivery Optimization | Delivery Optimization should be leveraged for large Apps. | -| V1 | #150 Metered Networks | The client should download responsibly when on metered networks. | -| V1 | #158 App Config Files | Support for silent installers that require a configuration file. | -| V1 | #140 Install .zip | The client should be able to install programs in a .zip file. | -| V1 | #194 Install .exe | The client should be able to install a static .exe file. | -| V1 | #182 Install portable app | The client should be able to install portable Apps. | -| V1 | #201 Specify install directory | The client should be able to install to an alternate directory. | -| V1 | #137 Non-Zero Exit Codes | The client should support applications with non-zero exit codes as success. | -| V1 | #279 Opt-Out of Telemetry | The client should be able to Opt-Out of Telemetry. | -| V1 | #161 Client Verbosity Settings | The client should support different verbosity settings. | -| V1 | #147 Release Channels | Some applications have different release channels and we should support them. | -| V1 | #221 Native PowerShell | Native PowerShell support for the client. | -| V1 | #164 Install PWA | Support installing Progressive Web Applications. | -| V1 | #219 Install Multiple Apps | The client should allow a user to specify multiple apps to install. | -| V1 | #229 Suppress reboot | The client should allow a user to suppress reboot as a default setting. | -| V1 | #227 Version specification | The client should allow more variation to specifying package versions for installation. | -| V1 | #225 Parallel download | The client should support multiple connections per package for download. | -| V1 | #166 Fonts | The client should support installing fonts. | -| V1 | #212 Auto Upgrade | The client should be able to auto upgrade installed apps if configured to do so. | -| V1 | #157 Manifest Wizard | Help a user generate a manifest. | -| V1 | #161 Verbosity | Client Verbosity Settings. | -| V1 | #117 Microsoft Store | Support for installing Apps from the Microsoft Store. | +| V1 | [#119](https://github.com/microsoft/winget-cli/issues/119) `winget list` | The client should be able to tell you what Apps are installed including the Control Panel. | +| V1 | [#120](https://github.com/microsoft/winget-cli/issues/120) `winget upgrade` | The client should be able to update one or "all" installed Apps. | +| V1 | [#121](https://github.com/microsoft/winget-cli/issues/121) `winget uninstall` | The client should be able to uninstall Apps. | +| V1 | [#220](https://github.com/microsoft/winget-cli/issues/220) Export/Import | The client should be able to export the list of installed Apps and import the exported list. | +| V1 | [#163](https://github.com/microsoft/winget-cli/issues/163) Dependencies | The client should be able to install package dependencies. | +| V1 | [#132](https://github.com/microsoft/winget-cli/issues/132) Multiple Architectures | The client should support multiple architectures in the same manifest. | +| V1 | [#149](https://github.com/microsoft/winget-cli/issues/149) User vs. System | Applications may be installed for the local user or for the system. | +| V1 | [#124](https://github.com/microsoft/winget-cli/issues/124) Multiple Languages | The client will support installation for almost every language for which there is a fixed-width font including East Asian languages. Bonus points for RTL languages/scripts. | +| V1 | [#226](https://github.com/microsoft/winget-cli/issues/226) REST Repository | Support for a REST based repository. | +| V1 | [#154](https://github.com/microsoft/winget-cli/issues/154) Group Policy | Support for Group Policy control. | +| V1 | [#151](https://github.com/microsoft/winget-cli/issues/151) Delivery Optimization | Delivery Optimization should be leveraged for large Apps. | +| V1 | [#150](https://github.com/microsoft/winget-cli/issues/150) Metered Networks | The client should download responsibly when on metered networks. | +| V1 | [#140](https://github.com/microsoft/winget-cli/issues/140) Install .zip | The client should be able to install programs in a .zip file. | +| V1 | [#194](https://github.com/microsoft/winget-cli/issues/194) Install .exe | The client should be able to install a static .exe file. | +| V1 | [#182](https://github.com/microsoft/winget-cli/issues/182) Install portable app | The client should be able to install portable Apps. | +| V1 | [#201](https://github.com/microsoft/winget-cli/issues/201) Specify install directory | The client should be able to install to an alternate directory. | +| V1 | [#137](https://github.com/microsoft/winget-cli/issues/137) Non-Zero Exit Codes | The client should support applications with non-zero exit codes as success. | +| V1 | [#279](https://github.com/microsoft/winget-cli/issues/279) Opt-Out of Telemetry | The client should be able to Opt-Out of Telemetry. | +| V1 | [#161](https://github.com/microsoft/winget-cli/issues/161) Client Verbosity Settings | The client should support different verbosity settings. | +| V1 | [#147](https://github.com/microsoft/winget-cli/issues/147) Release Channels | Some applications have different release channels and we should support them. | +| V1 | [#221](https://github.com/microsoft/winget-cli/issues/221) Native PowerShell | Native PowerShell support for the client. | +| V1 | [#164](https://github.com/microsoft/winget-cli/issues/164) Install PWA | Support installing Progressive Web Applications. | +| V1 | [#219](https://github.com/microsoft/winget-cli/issues/219) Install Multiple Apps | The client should allow a user to specify multiple apps to install. | +| V1 | [#229](https://github.com/microsoft/winget-cli/issues/229) Suppress reboot | The client should allow a user to suppress reboot as a default setting. | +| V1 | [#227](https://github.com/microsoft/winget-cli/issues/227) Version specification | The client should allow more variation to specifying package versions for installation. | +| V1 | [#225](https://github.com/microsoft/winget-cli/issues/225) Parallel download | The client should support multiple connections per package for download. | +| V1 | [#166](https://github.com/microsoft/winget-cli/issues/166) Fonts | The client should support installing fonts. | +| V1 | [#212](https://github.com/microsoft/winget-cli/issues/212) Auto Upgrade | The client should be able to auto upgrade installed apps if configured to do so. | +| V1 | [#157](https://github.com/microsoft/winget-cli/issues/157) Manifest Wizard | Help a user generate a manifest. | +| V1 | [#161](https://github.com/microsoft/winget-cli/issues/161) Verbosity | Client Verbosity Settings. | +| V1 | [#117](https://github.com/microsoft/winget-cli/issues/117) Microsoft Store | Support for installing Apps from the Microsoft Store. | | V1 | Accessibility (A11y) | The client will be highly accessible and inclusive. It will expose its contents via [UIA](https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/ui-automation-overview) to support tools such as [Windows Narrator](https://support.microsoft.com/en-us/help/22798/windows-10-complete-guide-to-narrator), and UI automation tools including [WinAppDriver](https://github.com/Microsoft/WinAppDriver). | +| V1.x | [#158](https://github.com/microsoft/winget-cli/issues/158) App Config Files | Support for silent installers that require a configuration file. | + Feature Notes: \* Feature Priorities will be influenced by community feedback on issues.