-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Description
I install PowerShell-6.0.0-beta.4-win10-win2016-x64.msi on Windows Server 2012 R2 and get an exception (see test below). The same package I install on Windows Server 2012 - no exception with the same test.
Conclusion: we should check OS version in our packages and block setup on inappropriate OS version.
Discussion: User can copy-paste folder with installed PowerShell Core from one OS to one with inappropriate version and get unpredictable results. We should to protect in some way. Maybe have a manifest to check dll versions at startup.
(Microsoft.Management.Infrastructure.Native.Unmanaged.DLL version is the same in Win10 and Win81 packagees).
I test Test-Connection computername on Windows Server 2012 R2. The Microsoft.Management.Infrastructure.Native.Unmanaged.DLL is present in root PowerShell Core folder.
TypeName : Microsoft.Management.Infrastructure.Native.ApplicationMethods
Message : The type initializer for 'Microsoft.Management.Infrastructure.
Native.ApplicationMethods' threw an exception.
Data : {}
InnerException : System.DllNotFoundException: Unable to load DLL
'Microsoft.Management.Infrastructure.Native.Unmanaged.DLL':
The specified module could not be found. (Exception from
HRESULT: 0x8007007E)
at
MI_ApplicationWrapper_Initialize(_MI_ApplicationWrapper* ,
UInt16* , IntPtr , IntPtr , IntPtr , IntPtr , IntPtr , IntPtr
, IntPtr , IntPtr , IntPtr , IntPtr , IntPtr , IntPtr ,
IntPtr )
at Microsoft.Management.Infrastructure.Native.MI_Applicatio
nWrapper_Initialize_Managed(_MI_ApplicationWrapper*
pmiApplicationWrapper)
at Microsoft.Management.Infrastructure.Native.ApplicationMe
thods.InitializeCore(InstanceHandle& errorDetails,
ApplicationHandle& applicationHandle)
at Microsoft.Management.Infrastructure.Native.ApplicationMe
thods..cctor()
TargetSite : Microsoft.Management.Infrastructure.Native.MiResult Initialize
(Microsoft.Management.Infrastructure.Native.InstanceHandle
ByRef,
Microsoft.Management.Infrastructure.Native.ApplicationHandle
ByRef)
StackTrace : at Microsoft.Management.Infrastructure.Native.ApplicationMe
thods.Initialize(InstanceHandle& errorDetails,
ApplicationHandle& applicationHandle)
at Microsoft.Management.Infrastructure.Internal.CimApplicat
ion.GetApplicationHandle()
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper
executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at Microsoft.Management.Infrastructure.Options.CimOperation
Options.<>c__DisplayClass9_0.<.ctor>b__0()
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper
executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at Microsoft.Management.Infrastructure.Options.CimOperation
Options.set_Timeout(TimeSpan value)
at Microsoft.PowerShell.Commands.TestConnectionCommand.Proc
essWSManProtocolForTestConnection()
at Microsoft.PowerShell.Commands.TestConnectionCommand.Proc
essRecord()
at System.Management.Automation.Cmdlet.DoProcessRecord()
at
System.Management.Automation.CommandProcessor.ProcessRecord()
HelpLink :
Source : Microsoft.Management.Infrastructure.Native
HResult : -2146233036