well, here is some strings inside mscorrc.dll 11024,Immersive bind. 11025,Framework bind. 11026,Assembly.LoadFile bind. 11027,Windows Runtime Type bind. 11028,Dependency name: %s 11029,Found: %s 11030,IL image bind. 11031,Native image bind. so Immersive is aware by the CLR, insane. and some boring error strings about WinRT interop: 9733,Null strings may not be marshaled in HSTRING fields. 9734,Invalid managed/unmanaged type combination (Windows Runtime strings must be marshaled as HString). 9735,HiddenLengthParamIndex '%1' refers to an index in the native method signature which does not precede '%2', the index of the hidden length array. 9736,HiddenLengthParamIndexes may not be duplicated in a single method signature. 9737,Illegal use of both implicit and explicit hidden length array indexes in a single method signature. 9738,HiddenLengthArray may not be combined with the LCIDConversionAttribute. 9739,The LCIDConversionAttribute may not be used on Windows Runtime methods. 9740,Invalid managed/unmanaged type combination (Windows Runtime arrays must be marshaled as HiddenLengthArray). 9741,Invalid managed/unmanaged type combination (Windows Runtime interfaces, classes and delegates must have a Guid or a default interface). 9742,Invalid managed/unmanaged type combination (SpecifiedInterface can only be used on Windows Runtime interface group and class types). 9743,The default interface must refer to a Windows Runtime interface with a GUID. 9744,The default interface must refer to an interface that is implemented by the type. 9745,Invalid managed/unmanaged type combination (Delegates must be imported from Windows Runtime and marshaled as Interface). 9747,Unexpected change made to file '%1'. 9748,Invalid managed/unmanaged type combination (the DateTimeOffset structure must be paired with Struct). 9749,There is not enough information to call IEnumerable.GetEnumerator on a Windows Runtime object, please cast the object to IEnumerable<T> first. 9750,There is not enough information to cast a Windows Runtime object to IEnumerable, please cast the object to IEnumerable<T> first. 9751,Windows Runtime interface '%1' in assembly '%2' must have a valid GUID. 9752,Windows Runtime interface group '%1' in assembly '%2' cannot have a GUID. 9753,Unable to compute GUID for type '%1' because the instantiation contains types that are not supported by Windows Runtime. 9754,Unable to compute GUID because type '%1' does not have a default Windows Runtime interface. 9755,Cannot construct type '%1'. Windows Runtime attribute types are not constructable. 9756,Windows Runtime type '%1' could not be found. 9757,When attempting to unbox a Windows Runtime IReference<T> or IReferenceArray<T>, IInspectable's GetRuntimeClassName returned an invalid type name. Type name: '%s' 9758,The type '%1' is not supported by Windows Runtime.
there is a class called WindowsRuntimeDesignerContext in the namespace System.Runtime.DesignerServices, look like design-time support for WinRT. it uses CreateDesignerContext/SetDesignerContext functions in native dll QCall.dll. what the heck is this QCall.dll used everywhere in CLR ?
qcall.dll methods are implemented in clr.dll. This reminds me of the immersvive PE section. I can understand what WinRT type bind is, but what's that "immersive bind"?!! He he, when I first saw the IReference<T> interface in 7989 my first thought was "hey, this is basically boxing for WinRT"
Yes, this is mostly being done by Silverlight teams post Silverlight 5 hitting escrow. There is usually a long delay between Silverlight 5 "official release" and when the team finishes (mostly due to tooling etc catching up). My sources tell me that what you folks are seeing is Silverlight teams pitch to Windiv on how to retain the work produced in Silverlight - kind of - more complicated story than just that but the crux of what i was able to get was that.
Well if they are keen to put an overlay of UI ontop of Windows8 tablet, then having a customizable chrome thats less headaches with the as-is seems logical. Think Out Of Browser chrome customization with steroids.
You're looking at the vNext incarnation of Out Of browser. You'll find Web UI will work embedded in IE10 etc (while a beefy upgrade in rendering pipelines to boot) then to go out of browser and into more desktop via elevated trust(s) you get more access. I'd wager big that it also wont be like SL5 today, where OOB is kind of mickey mouse / clunky in execution. This will probably appear as a native desktop icon and the concept itself will most likely be abstracted from the users (kind of like Flash vs Adobe AIR). IE10 will still be your anchor point though.
Well win8 is about device usage, so you're seeing prescribed UX around how multi-touch etc works. Developer Experience team are likely to release a metro-inspired approach to way it all snaps together and rather than doing that via external bits it makes sense to bake it into the core (lessons learnt from WP7/SL days)
so Scott Barnes is here, wow I was wondered why those WinMD files looks differenct, most of them uses Camel.Case in file names, but the DirectUI stuff are all lower.case, surely they come from different department , then who owns glcnd.exe the pdf reader ? it has been ported from DUI70 to DirectUI, as a showcase ?
Hmm, has any one dug into the stuff in Windows.ApplicationModel, particularly Windows.ApplicationModel.Core? It looks like Win8 apps under the new application model will be suspended and resumed by the system (to save battery power?) similar to smartphones? Also there are classes for telephone dialing (in Windows.Devices)
Hmm, did anyone notice that the WPF ribbon (System.Windows.Controls.Ribbon.dll) has been added to the .NET Framework in 7989? That's how WindowChrome got in. Also, the .NET Framework directory now contains a subdir named "Facade" that contains a bunch of assemblies. They only contain TypeForwardedTo assembly attributes. It looks as if they're trying to split existing larger assemblies into smaller ones.
There's a new NGenTask.exe command in .NET Framework. I'm still looking into it (it's a .NET exe so it can be decompiled) but it looks like this ngens assemblies that have been used in the past. And it appears to have something to do with appx too: Code: Console.Error.WriteLine(" /RuntimeWide - Parse the fusion stream of the usage logs instead of the AppX stream. Task runs in machine-wide mode.");
This ? Managed AppX packages installs native images into its own private or 'local appdata' locations instead of 'runtime wide' or 'global' location ? Code: if (string.CompareOrdinal(binder, "fusion") == 0) { this.NGenArgs = "install \"{0}\" /NoDependencies /noroot"; return; } if (string.CompareOrdinal(binder, "AppX") == 0) { this.NGenArgs = string.Concat(new string[] { "install \"{0}\" /NoDependencies /noroot /package:\"", binderParam, "\" /localappdata:\"", logFile.Root.Directory.FullName, "\"" }); this.Container = binderParam; return; }
the purpose of the 'Facade' dir is a mystery to me. splitting larger assemblies is not a 'Facade' to me. if I can take a wild guess then maybe they are trying to define a subset of the BCL for whatever reasons, maybe a portable profile ?
Maybe, but it's weird that even primitive types like int and bool are in System.Runtime instead of mscorlib. This reminds me a bit of the api-ms-win-* dlls that they are using in the win32 world.
2 small additions to .NET: - WeakReference<T> - finally, a generic version of WeakReference - IProgress<T>, Progress<T> - simple api to report progress from a background thread, used when "marshaling" WinRT's IAsyncActionWithProgress<T>.
I guess the purpose of the facade is that you can write your application with ONLY these assemblies in the facade, so obviously you need primitive types to write an app. After some quick checkings, my first impression about the subset api of this facade is, they DONT have those classes that NOT-available in Silverlight, or, ARE-available in WinMetadata. So, perhaps Facade + WinMetadata == Core Profile ?? make any sense ??
oh, I just found something about "Mosh", the Mbae.exe uses "CMoshWindow" as the class name member in the WNDCLASSEX parameter of a RegisterClassEx call, then it uses this class in a call of CreateImmersiveWindow.