New CRT model? Somone please explain it?

Going from forum to forum, I notice that the term "new CRT model" is often used.
What does it mean Someone please explain it to me in a simple manner. Or please tell me where
related information is available.

It seems to me that many runtime problems find their roots in this concept. Thank you very much.




Answer this question

New CRT model? Somone please explain it?

  • m.delara

    Ted,
    Thank you for taking your time. Everything you provide me with is interesting and useful!

     Ted. wrote:


    I don't know the syntax of the others (e.g. TypeLib, interface, etc) as it has been very very hard to find any documentation for it.  I only figured this out by using MSI tools to generate it.   It took a long time to figure out the above, I should write a whitepaper like Richard's that describes all of this (once I figure it out) 


    I am expecting your whitepaper to appear on the Internet. When done, pls let me know it.
    And this sounds very challenging to the people at Microsoft, I think I have to say that their documents are more or less based on "Do as we say" policy. I fact, many people have such problems as "I cannot do this or that. Why ". They are sad news, aren't  they I am expecting easy-to-understand paragraphs to come out!

    Thank you Ted, for your assistance. See you soon somewhere!


  • elygp

    Hi Ted,
    Thank you for the response. I really appreciate it.
    I printed it out and then read it many times. I really enjoyed it! Oh, no, it's not the fact.
    I got very nervous!!!

    Everything stems from DLL HELL and security. I know it very roughly. What had totally confused me was the level of abstraction. This means, how much I have to understand how OS Loader relates to VC++2005 Apps. VC++2005 Apps are collectively called "Isolated Apps". How are they  isolated from What "How" is depend on XML-based file. "What" is clealy Windows itself, namely OS Loader. It seems to me that the article says "the level of abstraction is good but its implementation process is somewhat unclear".  Am I right, Ted

    Thank you for your help.




  • Arunachalam

    Not exactly.  What you need to understand about isolated applications is that if some other application gets installed on your machine, then you don't have to worry about it breaking your app (either through its installation process, or because it is running at the same time as yours)

    An isolated application can be completely independent of the registry.  The entire amount of information required to run the application can be described in the manifest which is embedded in each component (this is the XML file you mentioned - it is not a separate file, but a resource of type RT_MANIFEST)

    In my opinion, you do need to understand the underlying mechanism of how the operating system decides how to load, what to load, and when (in what order does it make the decisions).  This is important for two reasons: 1) it gives you an idea of what needs to be installed on the end users machine and where. and 2) more importantly, it gives you the necessary information to troubleshoot problems that might occur on an end users machine, if something goes terribly wrong.

    Ted.


  • snamburu

    Takashi,

    Your understanding seems to be correct.   We are probably veering away from the original topic of the isolation of runtime library itself, but that's ok, side-by-side COM registered components is an interesting topic as well. 

    DLL HELL is just a slang term invented to describe the breaking of apps by other apps, or by inadvertent unregistering of components.    Yes, you are correct, the XML manifest can describe the COM component completely, although it is not very clear how to generate such information, without the use of specialized tools provided by Windows Installer MSI toolkit.   I prefer to write my own information to have full control over it.  I only know the basics of isolating COM applications in an XML manifest, such as (at top level of file):

    <file name="mytest.dll">
     <comClass clsid="{FF44C0FC-3AB4-11D3-86CA-001D5A22894E}" description="My Class" threadingModel="Apartment" />
    </file>

    I don't know the syntax of the others (e.g. TypeLib, interface, etc) as it has been very very hard to find any documentation for it.  I only figured this out by using MSI tools to generate it.   It took a long time to figure out the above, I should write a whitepaper like Richard's that describes all of this (once I figure it out) 

    Ted.

  • Jens Sauer

    When people talk about the new CRT model they are talking about the CRT being installed in the WinSxS folder of Windows instead of the program directory or system32. 

    For more info see this:

    http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=142124&SiteID=1


  • Visual Martin

    Thank you for the very kind comment, Ted.

     Ted. wrote:

    [Comment 1]
    Not exactly.  What you need to understand about isolated applications is that if some other application gets installed on your machine, then you don't have to worry about it breaking your app (either through its installation process, or because it is running at the same time as yours)

    [Comment 2]
    An isolated application can be completely independent of the registry.  The entire amount of information required to run the application can be described in the manifest which is embedded in each component (this is the XML file you mentioned - it is not a separate file, but a resource of type RT_MANIFEST)

    [Advice]
    In my opinion, you do need to understand the underlying mechanism of how the operating system decides how to load, what to load, and when (in what order does it make the decisions).  This is important for two reasons: 1) it gives you an idea of what needs to be installed on the end users machine and where. and 2) more importantly, it gives you the necessary information to troubleshoot problems that might occur on an end users machine, if something goes terribly wrong.


    Let me summarize;

    Comment 1 refers to the solution of DLL HELL, doesn't  it Comment 2 allows me to interpret  any isolated app to  considered "XML-based component", which means proprietary COM codes have been developed further into a higher level ofstandard-oriented component(not depending on the system registry).

    And I will take your advice into account when I read various documents and books.

    Thank you again, for your comments and advice.



  • New CRT model? Somone please explain it?