{Packaging} Remove aio and dist-info folders in MSI#17317
{Packaging} Remove aio and dist-info folders in MSI#17317fengzhou-msft merged 3 commits intoAzure:devfrom
Conversation
azure-pipelines.yml
Outdated
| }else { | ||
| $reinstall_option="" | ||
| } | ||
| Start-Process "msiexec.exe" -ArgumentList "/i `"$env:SYSTEM_ARTIFACTSDIRECTORY\msi\Microsoft Azure CLI.msi`" $reinstall_option /q /norestart /l*v .\install_logs.txt" -Wait -NoNewWindow |
There was a problem hiding this comment.
$InstallArgs looks more readable to me.
| if ($pre_installed_version -eq $to_be_installed_version){ | ||
| # See https://docs.microsoft.com/windows/win32/msi/reinstallmode about options of REINSTALLMODE | ||
| $reinstall_option="REINSTALL=ALL REINSTALLMODE=emus" | ||
| $InstallArgs += $reinstall_option | ||
| } |
There was a problem hiding this comment.
ADO agent has a pre-installed Azure CLI MSI, so this job tries to "reinstall" with the artifact MSI. If the artifact MSI has the same version as the pre-installed Azure CLI, L226 adds REINSTALL=ALL REINSTALLMODE=emus.
If I run the msiexec.exe command locally (with or without /q):
msiexec.exe /i "Microsoft Azure CLI.msi" REINSTALL=ALL REINSTALLMODE=emusit succeeds very fast but doesn't install anything, so the "reinstall" actually never works.
I guess it is because the artifact MSI is actually a different product as the pre-installed one, so it has nothing to "reinstall". I am not sure if this is related to Product.Id being *:
After removing REINSTALL=ALL REINSTALLMODE=emus, the artifact MSI can install successfully, but is installed side-by-side with the pre-installed one.
|
After removing the |
Description
azure-clidoes not useaiofiles in azure management SDKs.dist-infois not used in MSI for installation or update. Remove them in this PR.This PR also adds back the MSI test task to resolve #9270
Testing Guide
History Notes
[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.
This checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.