Issue #12371 has been updated by Ethan Brown.


In Window Nano Server TP5, Microsoft has temporarily changed the behavior of `OleInitialize` internally to use `CoInitializeEx(NULL, COINIT_MULTITHREADED)` as a compatibility fix, despite what the spec / documentation says.  It is understood that this will not be the final shipping behavior.  I have no information on the timeline, but you can see some more notes at https://github.com/puppetlabs/facter/pull/1327/files#diff-6c0a571515f6f937e35e5b86cbeb8821R11

----------------------------------------
Bug #12371: Windows Nano Server WIN32OLE compatibility
https://bugs.ruby-lang.org/issues/12371#change-58602

* Author: Alessandro Pilotti
* Status: Assigned
* Priority: Normal
* Assignee: Masaki Suketa
* ruby -v: 
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
The `OleInitialize()` call used in WIN32OLE is not supported on Nano Server due to the fact that the STA COM model is not available:

https://github.com/ruby/ruby/blob/32674b167bddc0d737c38f84722986b0f228b44b/ext/win32ole/win32ole.c#L820

As an alternative, `CoInitializeEx(NULL, COINIT_MULTITHREADED)` can be called when running on Nano Server, thus ensuring both compatibility with the preexisting behaviour and support for Nano Server.




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>