You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Latest MSI Az PS MSI installed date is incorrect while version is accurate #30092
I'm using Intune to deploy the Az PS modules using the MSI but the August MSI version is reporting as installed but the install date is incorrect
Using Control Panel on Windows, we can see the MSI has been installed (version) but the install date is incorrect, showing the install date of the July version
Issue script & Debug output
Incorrect installation date
Environment data
Windows 11 25H2, Az PS deployed using the MSI with Intune
The exact Az PowerShell MSI version number(s) involved (e.g. from the MSI filename or msiexec product info) for both the July and August releases you mention.
The exact installed date shown in Control Panel/Programs and Features versus the date you expected (i.e. the actual install date of the August MSI).
Output of Get-Module -ListAvailable Az* (or the actual PowerShell module install path) so we can confirm which module version is present on disk, since Get-Module Az* alone only lists imported modules and returned nothing here.
Whether this metadata is read from Get-Package/Get-WmiObject Win32_Product/Control Panel specifically, or from another source.
This will help us confirm whether the incorrect date comes from the MSI installer/packaging metadata (build pipeline) or from a specific Az module, and reproduce the issue.
Obviously I cannot provide the July one as was expecting to work as always (I think July was 16.1.0.XXXX)
Ausgust MSI version is 16.2.0.41027
You have the screenshot from the control panel showing the version and installed date
Thanks for the additional details Benoit HAMET (@benoithamet). To pin down whether this is a WiX/MSI packaging issue (e.g. a stable Component GUID preventing Windows Installer from refreshing the recorded install date on upgrade) versus something else, could you confirm:
The exact registry value showing the incorrect date (e.g. HKLM\...\Uninstall\{ProductCode}\InstallDate) and what value you'd expect it to show
Whether the issue also reproduces on a clean machine with only the August MSI installed (not upgraded from July), to confirm whether it's specific to in-place upgrades
The exact prior (July) MSI product version for comparison
Whether Get-InstalledModule Az / Get-Package Az report the correct 16.2.0 version, to confirm this is purely a display/metadata issue and not a partial/failed installation
I'm sorry but I don't have clean machine which did not have previous Az PS MSI installed - going to take quite a bit of time to do this
As said I don't have neither the exact July version as MSI is pushed by Intune as mandatory for the specific devices
Registry keys
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{49E06217-9AF8-467E-8C8B-C261B4D96593}
Windows Registry Editor Version 5.00
Observed: After upgrading the Az PowerShell MSI via Intune (e.g. 16.1.x -> 16.2.0.41027), Windows Add/Remove Programs and the HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{49E06217-9AF8-467E-8C8B-C261B4D96593} registry key report the correct new DisplayVersion, but InstallDate still shows the date of the previous (July) installation instead of the actual upgrade date.
Expected:InstallDate should reflect the date the current version was actually installed/upgraded.
Affected source:setup/azurecmd.wxs (the WiX installer definition for the Az PowerShell MSI). Product Id="*" combined with <MajorUpgrade AllowSameVersionUpgrades="yes" .../> controls how the Windows Installer engine treats a version bump. Investigate whether RemoveExistingProducts is scheduled such that Windows Installer treats this as a proper major-upgrade product-code swap (new InstallDate) versus a reinstall/patch of the same product row (which retains the original InstallDate). Likely causes to check: the RemoveExistingProducts schedule relative to InstallExecute/InstallFinalize, whether the product code truly changes between builds, and whether REINSTALLMODE is being forced anywhere in the Intune/MSI invocation that would cause Windows Installer to treat this as a repair instead of an upgrade.
Repro context: Windows 11 25H2, Az PowerShell MSI deployed via Intune as a mandatory app. Reported in #30092.
Suggested fix: Adjust setup/azurecmd.wxs (and/or setup/generate.ps1 if it manipulates ProductVersion/ProductCode) so a version upgrade always results in Windows Installer recording a fresh InstallDate for the upgraded product, while preserving the existing AllowSameVersionUpgrades behavior. Since this is native MSI packaging, there is no PowerShell live-test coverage for it - verification must rely on manual review of the resulting .wxs/.msi build logic and, if possible, a description in the PR of how the change was validated (e.g. msiexec verbose log inspection or WiX documentation references) since this cannot be verified with a Windows install in this pipeline.
Use this EXACT PR title:MSI installer does not refresh registry InstallDate on version upgrade
X Engineering Agent · Fixer · react 👍 / 👎 to train the agent
Activity
x-engineering-agent commentedon Aug 31, 2026
Hi Benoit HAMET (@benoithamet), thanks for the report! Before we can investigate, could you please share:
msiexecproduct info) for both the July and August releases you mention.Get-Module -ListAvailable Az*(or the actual PowerShell module install path) so we can confirm which module version is present on disk, sinceGet-Module Az*alone only lists imported modules and returned nothing here.Get-Package/Get-WmiObject Win32_Product/Control Panel specifically, or from another source.This will help us confirm whether the incorrect date comes from the MSI installer/packaging metadata (build pipeline) or from a specific Az module, and reproduce the issue.
I'll pick this up automatically once you reply.
benoithamet commentedon Sep 1, 2026
Obviously I cannot provide the July one as was expecting to work as always (I think July was 16.1.0.XXXX)
Ausgust MSI version is 16.2.0.41027
You have the screenshot from the control panel showing the version and installed date
Get-Module -ListAvailable Az*
ModuleType Version Name ExportedCommands
Script 5.5.2 Az.Accounts {Disable-AzDataCollection, Disable-AzContextAutosave, Enable-AzDataCollection, Enable-AzContextAutosave...}
Script 3.0.0 Az.Advisor {Disable-AzAdvisorRecommendation, Enable-AzAdvisorRecommendation, Get-AzAdvisorConfiguration, Get-AzAdvisorRecommendation...}
Script 7.2.1 Az.Aks {Disable-AzAksAddOn, Enable-AzAksAddOn, Get-AzAksCluster, Get-AzAksNodePool...}
Script 1.3.0 Az.AnalysisServices {Add-AzAnalysisServicesAccount, Export-AzAnalysisServicesInstanceLog, Get-AzAnalysisServicesServer, New-AzAnalysisServicesFirewallConfig...}
Script 4.2.0 Az.ApiManagement {Add-AzApiManagementApiToGateway, Add-AzApiManagementApiToProduct, Add-AzApiManagementProductToGroup, Add-AzApiManagementRegion...}
Script 2.0.1 Az.App {Disable-AzContainerAppRevision, Enable-AzContainerAppRevision, Get-AzContainerApp, Get-AzContainerAppAuthConfig...}
Script 2.2.0 Az.AppConfiguration {Clear-AzAppConfigurationDeletedStore, Get-AzAppConfigurationDeletedStore, Get-AzAppConfigurationKey, Get-AzAppConfigurationKeyValue...}
Script 3.0.0 Az.ApplicationInsights {Get-AzApplicationInsights, Get-AzApplicationInsightsApiKey, Get-AzApplicationInsightsContinuousExport, Get-AzApplicationInsightsLinkedStorageAccount...}
Script 2.0.0 Az.ArcResourceBridge {Get-AzArcResourceBridge, Get-AzArcResourceBridgeApplianceCredential, Get-AzArcResourceBridgeCredential, Get-AzArcResourceBridgeTelemetryConfig...}
Script 1.0.0 Az.ArizeAI {Get-AzArizeAIOrganization, New-AzArizeAIOrganization, Remove-AzArizeAIOrganization, Update-AzArizeAIOrganization}
Script 3.1.0 Az.Attestation {Add-AzAttestationPolicySigner, Get-AzAttestationPolicy, Get-AzAttestationPolicySigners, Remove-AzAttestationPolicySigner...}
Script 2.0.0 Az.Automanage {Get-AzAutomanageBestPractice, Get-AzAutomanageConfigProfile, Get-AzAutomanageConfigProfileAssignment, Get-AzAutomanageConfigProfileHciAssignment...}
Script 1.12.1 Az.Automation {Export-AzAutomationDscConfiguration, Export-AzAutomationDscNodeReportContent, Export-AzAutomationRunbook, Get-AzAutomationAccount...}
Script 4.1.1 Az.Batch {Disable-AzBatchAutoScale, Disable-AzBatchComputeNodeScheduling, Disable-AzBatchJob, Disable-AzBatchJobSchedule...}
Script 2.3.0 Az.Billing {Get-AzBillingAccount, Get-AzBillingInvoice, Get-AzBillingPeriod, Get-AzBillingProfile...}
Script 6.1.0 Az.Cdn {Add-AzCdnEdgeActionAttachment, Clear-AzCdnEndpointContent, Clear-AzFrontDoorCdnEndpointContent, Deploy-AzCdnEdgeActionVersionCode...}
Script 3.0.0 Az.CloudService {Get-AzCloudService, Get-AzCloudServiceInstanceView, Get-AzCloudServiceNetworkInterface, Get-AzCloudServiceOSFamily...}
Script 1.17.1 Az.CognitiveServices {Add-AzCognitiveServicesAccountNetworkRule, Get-AzCognitiveServicesAccount, Get-AzCognitiveServicesAccountCommitmentPlan, Get-AzCognitiveServicesAccountDeployment...}
Script 11.8.0 Az.Compute {Add-AzGalleryInVMAccessControlProfileVersionRulesIdentity, Add-AzGalleryInVMAccessControlProfileVersionRulesPrivilege, Add-AzGalleryInVMAccessControlProfileVersionRulesRole, Add-AzGalleryInVMAcce...
Script 2.0.0 Az.ConfidentialLedger {Get-AzConfidentialLedger, New-AzConfidentialLedger, New-AzConfidentialLedgerAADBasedSecurityPrincipalObject, New-AzConfidentialLedgerCertBasedSecurityPrincipalObject...}
Script 1.1.1 Az.ConnectedMachine {Connect-AzConnectedMachine, Get-AzConnectedExtensionMetadata, Get-AzConnectedLicense, Get-AzConnectedLicenseProfile...}
Script 5.0.0 Az.ContainerInstance {Add-AzContainerInstanceOutput, Get-AzContainerGroup, Get-AzContainerInstanceCachedImage, Get-AzContainerInstanceCapability...}
Script 5.1.0 Az.ContainerRegistry {Connect-AzContainerRegistry, Get-AzContainerRegistryManifest, Get-AzContainerRegistryRepository, Get-AzContainerRegistryTag...}
Script 1.21.1 Az.CosmosDB {Get-AzCosmosDBAccount, Get-AzCosmosDBAccountKey, Get-AzCosmosDBCassandraKeyspace, Get-AzCosmosDBCassandraKeyspaceThroughput...}
Script 1.3.0 Az.DataBoxEdge {Get-AzDataBoxEdgeBandwidthSchedule, Get-AzDataBoxEdgeDevice, Get-AzDataBoxEdgeJob, Get-AzDataBoxEdgeOrder...}
Script 2.0.0 Az.Databricks {Get-AzDatabricksAccessConnector, Get-AzDatabricksOutboundNetworkDependenciesEndpoint, Get-AzDatabricksVNetPeering, Get-AzDatabricksWorkspace...}
Script 1.20.1 Az.DataFactory {Add-AzDataFactoryV2DataFlowDebugSessionPackage, Add-AzDataFactoryV2TriggerSubscription, Get-AzDataFactory, Get-AzDataFactoryActivityWindow...}
Script 1.2.0 Az.DataLakeAnalytics {Add-AzDataLakeAnalyticsDataSource, Add-AzDataLakeAnalyticsFirewallRule, Get-AzDataLakeAnalyticsAccount, Get-AzDataLakeAnalyticsCatalogItem...}
Script 1.6.0 Az.DataLakeStore {Add-AzDataLakeStoreFirewallRule, Add-AzDataLakeStoreItemContent, Add-AzDataLakeStoreTrustedIdProvider, Add-AzDataLakeStoreVirtualNetworkRule...}
Script 1.1.1 Az.DataMigration {Get-AzDataMigrationProject, Get-AzDataMigrationService, Get-AzDataMigrationTask, Invoke-AzDataMigrationCommand...}
Script 3.0.1 Az.DataProtection {Backup-AzDataProtectionBackupInstanceAdhoc, Edit-AzDataProtectionPolicyRetentionRuleClientObject, Edit-AzDataProtectionPolicyTagClientObject, Edit-AzDataProtectionPolicyTriggerClientObject...}
Script 1.2.0 Az.DataShare {Get-AzDataShare, Get-AzDataShareAccount, Get-AzDataShareDataSet, Get-AzDataShareDataSetMapping...}
Script 1.0.0 Az.DataTransfer {Approve-AzDataTransferConnection, Deny-AzDataTransferConnection, Disable-AzDataTransferConnection, Disable-AzDataTransferFlow...}
Script 6.0.0 Az.DesktopVirtualization {Disconnect-AzWvdUserSession, Expand-AzWvdMsixImage, Get-AzWvdAppAttachPackage, Get-AzWvdApplication...}
Script 3.0.0 Az.DevCenter {Approve-AzDevCenterUserDevBox, Build-AzDevCenterAdminProjectCatalogImageDefinitionImage, Connect-AzDevCenterAdminCatalog, Connect-AzDevCenterAdminProjectCatalog...}
Script 1.0.0 Az.DeviceRegistry {Get-AzDeviceRegistryAsset, Get-AzDeviceRegistryAssetEndpointProfile, Get-AzDeviceRegistryBillingContainer, Get-AzDeviceRegistryNamespace...}
Script 1.2.0 Az.DevTestLabs {Get-AzDtlAllowedVMSizesPolicy, Get-AzDtlAutoShutdownPolicy, Get-AzDtlAutoStartPolicy, Get-AzDtlVMsPerLabPolicy...}
Script 2.2.0 Az.Dns {Add-AzDnsRecordConfig, Get-AzDnsRecordSet, Get-AzDnsZone, New-AzDnsRecordConfig...}
Script 2.0.0 Az.DnsResolver {Get-AzDnsForwardingRuleset, Get-AzDnsForwardingRulesetForwardingRule, Get-AzDnsForwardingRulesetVirtualNetworkLink, Get-AzDnsResolver...}
Script 1.7.0 Az.ElasticSan {Add-AzElasticSanVolumeGroupNetworkRule, Get-AzElasticSan, Get-AzElasticSanSkuList, Get-AzElasticSanVolume...}
Script 2.2.0 Az.EventGrid {Disable-AzEventGridPartnerTopic, Enable-AzEventGridPartnerDestination, Enable-AzEventGridPartnerTopic, Get-AzEventGridCaCertificate...}
Script 5.6.0 Az.EventHub {New-AzEventHubAuthorizationRuleSASToken, Approve-AzEventHubPrivateEndpointConnection, Deny-AzEventHubPrivateEndpointConnection, Get-AzEventHub...}
Script 1.0.0 Az.Fabric {Get-AzFabricCapacity, Get-AzFabricCapacitySku, New-AzFabricCapacity, Remove-AzFabricCapacity...}
Script 1.0.0 Az.FileShare {Get-AzFileShare, Get-AzFileShareLimit, Get-AzFileShareProvisioningRecommendation, Get-AzFileShareSnapshot...}
Script 1.0.0 Az.FirmwareAnalysis {Get-AzFirmwareAnalysisBinaryHardening, Get-AzFirmwareAnalysisCryptoCertificate, Get-AzFirmwareAnalysisCryptoKey, Get-AzFirmwareAnalysisCve...}
Script 2.3.0 Az.FrontDoor {Disable-AzFrontDoorCustomDomainHttps, Enable-AzFrontDoorCustomDomainHttps, Get-AzFrontDoor, Get-AzFrontDoorFrontendEndpoint...}
Script 5.0.1 Az.Functions {Get-AzFunctionApp, Get-AzFunctionAppAvailableLocation, Get-AzFunctionAppFlexConsumptionRuntime, Get-AzFunctionAppPlan...}
Script 6.5.0 Az.HDInsight {Add-AzHDInsightClusterIdentity, Add-AzHDInsightComponentVersion, Add-AzHDInsightConfigValue, Add-AzHDInsightMetastore...}
Script 3.0.0 Az.HealthcareApis {Get-AzHealthcareApisService, Get-AzHealthcareApisWorkspace, Get-AzHealthcareDicomService, Get-AzHealthcareFhirDestination...}
Script 1.0.0 Az.HealthDataAIServices {Get-AzDeidService, New-AzDeidService, Remove-AzDeidService, Update-AzDeidService}
Script 2.9.1 Az.IotHub {Add-AzIotHubCertificate, Add-AzIotHubConfiguration, Add-AzIotHubDeployment, Add-AzIotHubDevice...}
Script 6.6.0 Az.KeyVault {Add-AzKeyVaultCertificate, Add-AzKeyVaultCertificateContact, Add-AzKeyVaultKey, Add-AzKeyVaultManagedStorageAccount...}
Script 3.0.0 Az.Kusto {Add-AzKustoClusterCalloutPolicy, Add-AzKustoClusterLanguageExtension, Add-AzKustoDatabasePrincipal, Get-AzKustoAttachedDatabaseConfiguration...}
Script 1.0.0 Az.LambdaTest {Get-AzLambdaTestOrganization, New-AzLambdaTestOrganization, Remove-AzLambdaTestOrganization, Update-AzLambdaTestOrganization}
Script 2.0.0 Az.LoadTesting {Get-AzLoad, New-AzLoad, Remove-AzLoad, Update-AzLoad}
Script 1.7.0 Az.LogicApp {Get-AzIntegrationAccount, Get-AzIntegrationAccountAgreement, Get-AzIntegrationAccountAssembly, Get-AzIntegrationAccountBatchConfiguration...}
Script 1.3.0 Az.MachineLearning {Add-AzMlWebServiceRegionalProperty, Export-AzMlWebService, Get-AzMlCommitmentAssociation, Get-AzMlCommitmentPlan...}
Script 2.0.0 Az.MachineLearningServices {Get-AzMLServiceQuota, Get-AzMLServiceUsage, Get-AzMLServiceVMSize, Get-AzMLWorkspace...}
Script 1.6.0 Az.Maintenance {Get-AzApplyUpdate, Get-AzConfigurationAssignment, Get-AzMaintenanceConfiguration, Get-AzMaintenancePublicConfiguration...}
Script 2.0.0 Az.ManagedServiceIdentity {Get-AzFederatedIdentityCredential, Get-AzSystemAssignedIdentity, Get-AzUserAssignedIdentity, Get-AzUserAssignedIdentityAssociatedResource...}
Script 4.0.0 Az.ManagedServices {Get-AzManagedServicesAssignment, Get-AzManagedServicesDefinition, Get-AzManagedServicesMarketplaceDefinition, New-AzManagedServicesAssignment...}
Script 2.2.0 Az.MarketplaceOrdering {Get-AzMarketplaceTerms, Invoke-AzMarketplaceSignTerms, Set-AzMarketplaceTerms, Stop-AzMarketplaceTerms}
Script 3.0.0 Az.Migrate {Get-AzMigrateDiscoveredServer, Get-AzMigrateJob, Get-AzMigrateLocalJob, Get-AzMigrateLocalReplicationFabric...}
Script 8.0.0 Az.Monitor {Add-AzLogProfile, Add-AzMetricAlertRule, Add-AzMetricAlertRuleV2, Add-AzWebtestAlertRule...}
Script 2.0.0 Az.MySql {Get-AzMySqlFlexibleServer, Get-AzMySqlFlexibleServerAdvancedThreatProtectionSetting, Get-AzMySqlFlexibleServerConfiguration, Get-AzMySqlFlexibleServerConnectionString...}
Script 1.4.0 Az.NetAppFiles {Approve-AzNetAppFilesReplication, Get-AzNetAppFilesAccount, Get-AzNetAppFilesActiveDirectory, Get-AzNetAppFilesBackup...}
Script 8.1.0 Az.Network {Add-AzApplicationGatewayAuthenticationCertificate, Add-AzApplicationGatewayBackendAddressPool, Add-AzApplicationGatewayBackendHttpSetting, Add-AzApplicationGatewayBackendSetting...}
Script 3.0.0 Az.NetworkCloud {Deploy-AzNetworkCloudCluster, Disable-AzNetworkCloudStorageApplianceRemoteVendorManagement, Enable-AzNetworkCloudStorageApplianceRemoteVendorManagement, Get-AzNetworkCloudAgentPool...}
Script 2.0.0 Az.Nginx {Get-AzNginxCertificate, Get-AzNginxConfiguration, Get-AzNginxDeployment, Invoke-AzNginxAnalysisConfiguration...}
Script 1.3.0 Az.NotificationHubs {Get-AzNotificationHub, Get-AzNotificationHubAuthorizationRule, Get-AzNotificationHubListKey, Get-AzNotificationHubPNSCredential...}
Script 3.4.1 Az.OperationalInsights {Disable-AzOperationalInsightsIISLogCollection, Disable-AzOperationalInsightsLinuxCustomLogCollection, Disable-AzOperationalInsightsLinuxPerformanceCollection, Disable-AzOperationalInsightsLinuxSy...
Script 2.0.0 Az.Oracle {Add-AzOracleCloudVMClusterVM, Get-AzOracleAutonomousDatabase, Get-AzOracleAutonomousDatabaseBackup, Get-AzOracleAutonomousDatabaseCharacterSet...}
Script 2.0.0 Az.PolicyInsights {Get-AzPolicyAttestation, Get-AzPolicyEvent, Get-AzPolicyMetadata, Get-AzPolicyRemediation...}
Script 2.2.0 Az.PowerBIEmbedded {Get-AzPowerBIEmbeddedCapacity, New-AzPowerBIEmbeddedCapacity, Remove-AzPowerBIEmbeddedCapacity, Resume-AzPowerBIEmbeddedCapacity...}
Script 1.3.0 Az.PrivateDns {Add-AzPrivateDnsRecordConfig, Get-AzPrivateDnsRecordSet, Get-AzPrivateDnsVirtualNetworkLink, Get-AzPrivateDnsZone...}
Script 7.14.0 Az.RecoveryServices {Add-AzRecoveryServicesAsrReplicationProtectedItemDisk, Backup-AzRecoveryServicesBackupItem, Copy-AzRecoveryServicesVault, Disable-AzRecoveryServicesBackupAutoProtection...}
Script 1.12.0 Az.RedisCache {Export-AzRedisCache, Get-AzRedisCache, Get-AzRedisCacheFirewallRule, Get-AzRedisCacheKey...}
Script 2.0.0 Az.RedisEnterpriseCache {Export-AzRedisEnterpriseCache, Get-AzRedisEnterpriseCache, Get-AzRedisEnterpriseCacheAccessPolicyAssignment, Get-AzRedisEnterpriseCacheDatabase...}
Script 3.0.0 Az.Relay {Get-AzRelayAuthorizationRule, Get-AzRelayHybridConnection, Get-AzRelayKey, Get-AzRelayNamespace...}
Script 1.3.0 Az.ResourceGraph {Search-AzGraph, Get-AzResourceGraphQuery, New-AzResourceGraphQuery, Remove-AzResourceGraphQuery...}
Script 2.0.0 Az.ResourceMover {Add-AzResourceMoverMoveResource, Get-AzResourceMoverMoveCollection, Get-AzResourceMoverMoveResource, Get-AzResourceMoverRequiredForResources...}
Script 10.1.0 Az.Resources {Export-AzResourceGroup, Export-AzTemplateSpec, Get-AzDenyAssignment, Get-AzDeployment...}
Script 1.9.0 Az.Security {Add-AzSecurityAdaptiveNetworkHardening, Add-AzSecuritySqlVulnerabilityAssessmentBaseline, Confirm-AzSecurityAutomation, Disable-AzIotSecurityAnalyticsAggregatedAlert...}
Script 4.0.0 Az.SecurityInsights {Get-AzSentinelAlertRule, Get-AzSentinelAlertRuleAction, Get-AzSentinelAlertRuleTemplate, Get-AzSentinelAutomationRule...}
Script 4.3.0 Az.ServiceBus {New-AzServiceBusAuthorizationRuleSASToken, Test-AzServiceBusNameAvailability, Approve-AzServiceBusPrivateEndpointConnection, Complete-AzServiceBusMigration...}
Script 5.2.0 Az.ServiceFabric {Add-AzServiceFabricClientCertificate, Add-AzServiceFabricManagedClusterClientCertificate, Add-AzServiceFabricManagedClusterNetworkSecurityRule, Add-AzServiceFabricManagedNodeTypeVMExtension...}
Script 3.0.0 Az.SignalR {Add-AzSignalRNetworkIpRule, Get-AzSignalR, Get-AzSignalRCustomCertificate, Get-AzSignalRCustomDomain...}
Script 7.0.0 Az.Sql {Add-AzSqlDatabaseToFailoverGroup, Add-AzSqlElasticJobStep, Add-AzSqlElasticJobTarget, Add-AzSqlInstanceKeyVaultKey...}
Script 3.0.0 Az.SqlVirtualMachine {Assert-AzSqlVMEntraAuth, Get-AzAvailabilityGroupListener, Get-AzSqlVM, Get-AzSqlVMGroup...}
Script 3.0.0 Az.StackHCI {Add-AzStackHCIVMAttestation, Disable-AzStackHCIAttestation, Disable-AzStackHCIRemoteSupport, Enable-AzStackHCIAttestation...}
Script 2.0.0 Az.StackHCIVM {Add-AzStackHCIVMVirtualMachineDataDisk, Add-AzStackHCIVMVirtualMachineNetworkInterface, Get-AzStackHCIVMImage, Get-AzStackHCIVMLogicalNetwork...}
Script 9.7.2 Az.Storage {Add-AzRmStorageContainerLegalHold, Add-AzStorageAccountManagementPolicyAction, Add-AzStorageAccountNetworkRule, Close-AzStorageFileHandle...}
Script 2.0.0 Az.StorageAction {Get-AzStorageActionTask, Get-AzStorageActionTaskAssignment, Get-AzStorageActionTasksReport, Invoke-AzStorageActionTaskPreviewAction...}
Script 1.0.0 Az.StorageDiscovery {Get-AzStorageDiscoveryWorkspace, New-AzStorageDiscoveryScopeObject, New-AzStorageDiscoveryWorkspace, Remove-AzStorageDiscoveryWorkspace...}
Script 2.1.0 Az.StorageMover {Get-AzStorageMover, Get-AzStorageMoverAgent, Get-AzStorageMoverConnection, Get-AzStorageMoverEndpoint...}
Script 2.6.0 Az.StorageSync {Get-AzStorageSyncCloudEndpoint, Get-AzStorageSyncGroup, Get-AzStorageSyncServer, Get-AzStorageSyncServerEndpoint...}
Script 3.0.0 Az.StreamAnalytics {Get-AzStreamAnalyticsCluster, Get-AzStreamAnalyticsClusterStreamingJob, Get-AzStreamAnalyticsDefaultFunctionDefinition, Get-AzStreamAnalyticsFunction...}
Script 2.1.0 Az.Support {Get-AzSupportChatTranscript, Get-AzSupportChatTranscriptsNoSubscription, Get-AzSupportCommunication, Get-AzSupportCommunicationsNoSubscription...}
Script 3.3.0 Az.Synapse {Add-AzSynapseDataFlowDebugSessionPackage, Add-AzSynapseTriggerSubscription, Clear-AzSynapseSqlPoolVulnerabilityAssessmentRuleBaseline, Convert-AzSynapseSqlPoolVulnerabilityAssessmentScan...}
Script 1.4.0 Az.TrafficManager {Add-AzTrafficManagerCustomHeaderToEndpoint, Add-AzTrafficManagerCustomHeaderToProfile, Add-AzTrafficManagerEndpointConfig, Add-AzTrafficManagerExpectedStatusCodeRange...}
Script 4.0.0 Az.Websites {Add-AzWebAppAccessRestrictionRule, Add-AzWebAppTrafficRouting, Edit-AzWebAppBackupConfiguration, Get-AzAppServiceEnvironment...}
Script 2.0.0 Az.Workloads {Get-AzWorkloadsMonitor, Get-AzWorkloadsProviderInstance, Get-AzWorkloadsSapApplicationInstance, Get-AzWorkloadsSapCentralInstance...}
x-engineering-agent commentedon Sep 1, 2026
Thanks for the additional details Benoit HAMET (@benoithamet). To pin down whether this is a WiX/MSI packaging issue (e.g. a stable Component GUID preventing Windows Installer from refreshing the recorded install date on upgrade) versus something else, could you confirm:
HKLM\...\Uninstall\{ProductCode}\InstallDate) and what value you'd expect it to showGet-InstalledModule Az/Get-Package Azreport the correct 16.2.0 version, to confirm this is purely a display/metadata issue and not a partial/failed installationI'll pick this up automatically once you reply.
benoithamet commentedon Sep 1, 2026
I'm sorry but I don't have clean machine which did not have previous Az PS MSI installed - going to take quite a bit of time to do this
As said I don't have neither the exact July version as MSI is pushed by Intune as mandatory for the specific devices
Registry keys
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{49E06217-9AF8-467E-8C8B-C261B4D96593}
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{49E06217-9AF8-467E-8C8B-C261B4D96593}]
"AuthorizedCDFPrefix"=""
"Comments"=""
"Contact"=""
"DisplayVersion"="16.2.0.41027"
"HelpLink"=""
"HelpTelephone"=""
"InstallDate"="20260807"
"InstallLocation"=""
"InstallSource"="C:\WINDOWS\system32\config\systemprofile\AppData\Local\mdm\"
"ModifyPath"=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,78,
00,65,00,20,00,2f,00,58,00,7b,00,34,00,39,00,45,00,30,00,36,00,32,00,31,00,
37,00,2d,00,39,00,41,00,46,00,38,00,2d,00,34,00,36,00,37,00,45,00,2d,00,38,
00,43,00,38,00,42,00,2d,00,43,00,32,00,36,00,31,00,42,00,34,00,44,00,39,00,
36,00,35,00,39,00,33,00,7d,00,00,00
"NoModify"=dword:00000001
"Publisher"="Microsoft Corporation"
"Readme"=""
"Size"=""
"EstimatedSize"=dword:00130e64
"UninstallString"=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,
78,00,65,00,20,00,2f,00,58,00,7b,00,34,00,39,00,45,00,30,00,36,00,32,00,31,
00,37,00,2d,00,39,00,41,00,46,00,38,00,2d,00,34,00,36,00,37,00,45,00,2d,00,
38,00,43,00,38,00,42,00,2d,00,43,00,32,00,36,00,31,00,42,00,34,00,44,00,39,
00,36,00,35,00,39,00,33,00,7d,00,00,00
"URLInfoAbout"=""
"URLUpdateInfo"=""
"VersionMajor"=dword:00000010
"VersionMinor"=dword:00000002
"WindowsInstaller"=dword:00000001
"Version"=dword:10020000
"Language"=dword:00000409
"DisplayName"="Microsoft Azure PowerShell - August 2026"
x-engineering-agent commentedon Sep 1, 2026
Observed: After upgrading the Az PowerShell MSI via Intune (e.g. 16.1.x -> 16.2.0.41027), Windows Add/Remove Programs and the
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{49E06217-9AF8-467E-8C8B-C261B4D96593}registry key report the correct newDisplayVersion, butInstallDatestill shows the date of the previous (July) installation instead of the actual upgrade date.Expected:
InstallDateshould reflect the date the current version was actually installed/upgraded.Affected source:
setup/azurecmd.wxs(the WiX installer definition for the Az PowerShell MSI).Product Id="*"combined with<MajorUpgrade AllowSameVersionUpgrades="yes" .../>controls how the Windows Installer engine treats a version bump. Investigate whetherRemoveExistingProductsis scheduled such that Windows Installer treats this as a proper major-upgrade product-code swap (newInstallDate) versus a reinstall/patch of the same product row (which retains the originalInstallDate). Likely causes to check: theRemoveExistingProductsschedule relative toInstallExecute/InstallFinalize, whether the product code truly changes between builds, and whetherREINSTALLMODEis being forced anywhere in the Intune/MSI invocation that would cause Windows Installer to treat this as a repair instead of an upgrade.Repro context: Windows 11 25H2, Az PowerShell MSI deployed via Intune as a mandatory app. Reported in #30092.
Suggested fix: Adjust
setup/azurecmd.wxs(and/orsetup/generate.ps1if it manipulatesProductVersion/ProductCode) so a version upgrade always results in Windows Installer recording a freshInstallDatefor the upgraded product, while preserving the existingAllowSameVersionUpgradesbehavior. Since this is native MSI packaging, there is no PowerShell live-test coverage for it - verification must rely on manual review of the resulting.wxs/.msibuild logic and, if possible, a description in the PR of how the change was validated (e.g.msiexecverbose log inspection or WiX documentation references) since this cannot be verified with a Windows install in this pipeline.Use this EXACT PR title:
MSI installer does not refresh registry InstallDate on version upgrade