Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Winget Repair - Eliminate installer type mapping for MSI/WIX and MSIX NonStore ,code refactoring & E2E Test Coverage #4534

Commits on Jun 4, 2024

  1. [WinGet][Repair] Winget Repair - Eliminate installer type mapping for…

    … MSI/WIX and MSIX NonStore & code refactoring
    
    The changes includes:
    - Code changes eliminate installer type mapping for MSI/WIX and MSIX NonStore, leveraging native platform support for repairs.
    - Refactored code for better readability and maintainability.
    Madhusudhan-MSFT committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    ed277fb View commit details
    Browse the repository at this point in the history
  2. AppInstallerTestExeInstaller - Repair support

    - Refactored AppInstallerTestExeInstaller to support repair operations. The code now accommodates Modify Repair, Uninstaller Repair, and Installer Repair.
    - Minor refactoring is also part of this update
    Madhusudhan-MSFT committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    99bf2e4 View commit details
    Browse the repository at this point in the history
  3. Winget Repair E2E Test cases

    - Added E2E tests for winget, targeting installer types such as
      - MSI,
      - NonStore MSIX,
      - Burn, Nullsoft, Inno, and Exe.
        - These tests aim to ensure reliability across Modify Repair, Uninstaller Repair, and Installer Repair scenarios.
    Madhusudhan-MSFT committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    c928c65 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    470856c View commit details
    Browse the repository at this point in the history
  5. Fix: To address MSI repair test failures, AppInstallerTest.TestMsiIns…

    …taller will be uninstalled as part of test setup to avoid interference.
    Madhusudhan-MSFT committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    78e7613 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Configuration menu
    Copy the full SHA
    fec6f13 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cb35e5a View commit details
    Browse the repository at this point in the history
  3. Resolving Spellcheck error by changing the test manifest name to 'Tes…

    …tBurnInstaller.MissingRepairBehavior.yaml'
    Madhusudhan-MSFT committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    1fa5ac0 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Configuration menu
    Copy the full SHA
    bb5acc4 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. Removed unused includes and test data from project files

    - In `RepairFlow.h`, the inclusion of `"winget/ManifestCommon.h"` has been removed.
    - In `AppInstallerCLIE2ETests.csproj`, several test data files, including 'AppInstallerTestMsiInstallerV2.msi` and various YAML files, have been removed
    Madhusudhan-MSFT committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    5b32349 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    da362f3 View commit details
    Browse the repository at this point in the history
  3. Refactor RepairFlow and update function names

    - The function `SelectApplicableInstallerWhenEssential` has been renamed to `SelectApplicableInstallerIfNecessary` and modified to include new checks and calls.
    - The function `HandleUnknownRepair` has been removed and its error handling code has been directly inserted where it was previously called.
    - The function `GetInstalledPackageInstallerType` has been renamed to `GetInstalledType`.
    - Comments in `RepairFlow.cpp` and `RepairFlow.h` have been updated to reflect these changes.
    Madhusudhan-MSFT committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    e918ee9 View commit details
    Browse the repository at this point in the history
  4. Refactor SetPackageFamilyNamesInContext usage in RepairFlow.cpp

    `Moved the line 'context << SetPackageFamilyNamesInContext;' fRepairMsixPackage. This change ensures that the SetPackageFamilyNamesInContext operation is only executed for non-store MSIX packages, possibly when the package is not from the MSStore.`
    Madhusudhan-MSFT committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    0ef11dc View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Updated repair functions and improved code readability

    - Updated the `ExecuteRepair` and `GetRepairInfo` functions to handle different installer types more flexibly
    - Removed `RepairMsixPackage` function. Updated function declarations in `RepairFlow.h` to reflect these changes.
    - Simplified the determination of `repairPackage` in `ReportRepairResult`.
    Madhusudhan-MSFT committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    6fd832b View commit details
    Browse the repository at this point in the history
  2. Renamed RepairMsixNonStorePackage to RepairMsixPackage

    Renamed the function `RepairMsixNonStorePackage` to `RepairMsixPackage` in `RepairFlow.cpp` and `RepairFlow.h` files. This change is also reflected in the context where this function is called in the `InstallerTypeEnum::Msix` case.
    Madhusudhan-MSFT committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    f65bb70 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. `Refactor msix /msi installer mapping requirment logic in RepairFlow.…

    …cpp`
    
    - The `IsInstallerMappingRequired` function now uses a `switch` statement for different `InstallerTypeEnum` values and checks remotepackage source for MSIX type to confirm MSStore package check
    - `SelectApplicablePackageVersion` function now returns early for `Msi` types and `Msix` packages not from the Microsoft Store.
    - The `SelectApplicableInstallerIfNecessary` function has been updated to select the applicable package version before checking if installer mapping is required.
    Madhusudhan-MSFT committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    de203b4 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2024

  1. PR Feedback Fix : Refine MSIX handling & simplify installer checks

    - Refined the logic for MSIX package handling in the repair flow, focusing on Microsoft Store packages and improving installer selection accuracy.
    - Simplified installer type checks by removing redundant MSI checks, streamlining the repair process.
    - Adjusted repair command tests for clarity, removing unnecessary string interpolation.
    - Enhanced documentation and comments for better clarity on the repair flow and installer selection logic.
    Madhusudhan-MSFT committed Jun 15, 2024
    Configuration menu
    Copy the full SHA
    cd6c65e View commit details
    Browse the repository at this point in the history