PowerShell / MMI

Other
24 stars 17 forks source link

Version mismatch between versions 2 and 3 of the nuget package #58

Open ArnaudDebaene opened 5 months ago

ArnaudDebaene commented 5 months ago

Prerequisites

Steps to reproduce

In version 2 of the Microsoft.management.infrastructure nuget package, the dll microsoft.management.infrastructure.dll is versionned 10.0.18362.1

In version 3 of the Microsoft.management.infrastructure nuget package, the dll microsoft.management.infrastructure.dll is versionned 10.0.17763.30000

There are also similar mismatches for microsoft.management.infrastructure.native.unmanaged.dll and for Microsoft.Management.Infrastructure.Native.dll

This make it difficult/impossible to upgrade a software from version 2 to version 3 of the nuget package using MSI for installation, because the MSI engine detects that the new version has a lower version than the new version

Exemple of an MSI installation log that tries to do a major update of a software, where the old version uses nuget package V2 and the new version uses nuget package V3: (485D5A86-F6FD-53B0-A0C9-4B845AE0E8F8 is the GUID of the MSI component that contains microsoft.management.infrastrucure.dll)

1) When checking wether or not to install the new version of the DLL: MSI (s) (8C:AC) [11:56:32:018]: Disallowing installation of component: {485D5A86-F6FD-53B0-A0C9-4B845AE0E8F8} since the same component with higher versioned keyfile exists MSI (s) (8C:AC) [11:56:32:271]: Component: microsoft.management.infrastructure.dll; Installed: Absent; Request: Local; Action: Null

2) Even if the new version of the file is NOT installed, the old version is deleted when removing the old version of the software MSI (s) (8C:50) [11:56:38:587]: Component: Microsoft.Management.Infrastructure.dll; Installed: Local; Request: Absent; Action: Absent MSI (s) (8C:50) [11:56:49:874]: Executing op: FileRemove(,FileName=Microsoft.Management.Infrastructure.dll,,ComponentId={485D5A86-F6FD-53B0-A0C9-4B845AE0E8F8})

Net effect : the old version of the file is removed, but the new version is NOT installed.

Expected behavior

The version of DLLs in nuget package v3 shall be > to those in nuget v2

Actual behavior

The version of DLLs in nuget package v3 is < to those in nuget v2

Error details

No response

Environment data

Name                           Value
----                           -----
PSVersion                      5.1.19041.3803
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.3803
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Version

nuget package v3

Visuals

No response