none
How to clone SHELL component ? RRS feed

  • Question

  • Hi,

    I've already cloned BSP and drivers, but I cannot understand how to clone SHELL component.

    I've studied SHELL's folder and I cannot found where are the instructions to link all the libs to generate the shell.exe.

    Could you please help me clonning it ?

    Thanks a lot,

    At0s

    Friday, August 20, 2010 7:25 PM

Answers

All replies

  • I have a few articles on my blog that should get you started:

    http://geekswithblogs.net/BruceEitman/archive/2008/07/02/platform-builder-clone-public-code.aspx

    http://geekswithblogs.net/BruceEitman/archive/2010/03/23/platform-builder-cloning--the-linker-is-your-friend.aspx

     


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Friday, August 20, 2010 7:43 PM
    Moderator
  • Hi Bruce,

    Thanks for your reply.

    I've already read your articles when I started clonning public code, but the SHELL component is more complicated.

    Clonning BSPs and drivers are easy because all needed information is found on the original folders.

    But the SHELL has many DIR files and the "sub-components" (if I may name then like this) only generates lib files. Giving no clues to how to create the shell.exe file.

    I just want to know which libraries are needed to build the shell.lib. Even the sysgen_capture does not know which libraries are needed, it creates a source file contaning shell.lib, toolhelp.lib and coredll.lib.

    At0s

    Friday, August 20, 2010 8:03 PM
  • Maybe you are cloning the wrong thing.  What do you think that you are cloning? Don't use the word shell in your answer.

    I suspect that you are trying to clone Explorer.exe and not shell.exe as you stated.


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Friday, August 20, 2010 11:29 PM
    Moderator
  • I am sorry for my mistake.

    I thought that the folder PUBLIC\SHELL generates the shell.exe file at the end.

    I would like clonning this folder.

    What does it generate and could you give some directions of how to clone it ?

    Thanks again

    Monday, August 23, 2010 11:40 AM
  • Why on earth would you want to clone the entire Public\Shell folder?  That doesn't typically make sense.  Usually people need to modify something like Explorer.exe and then clone some or all of the code for Explorer.exe.  And even then, you can clone a subset of Explorer.exe to achieve the goal in most cases.

    You still haven't told us what your goal is.

    But, lets assume that you actually need to clone the entire folder.  You can look in Public\Shell\Cesysgen\Makefile to find out what the targets are, and then clone them all.


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Monday, August 23, 2010 11:48 AM
    Moderator
  • I beg your pardon, if I am not beeing clear enough.

    I do not know if I can clone only some subfolders of PUBLIC\SHELL, I think that clonning the whole folder could be easier.

    I have to protect the Windows key functions, enabling them only if allowed and add screen saver support.

    Then I have to modify some files under CESHELL and TASKBAR folders.

    Thanks again.

    Monday, August 23, 2010 7:00 PM
  • Okay, the cloning is very similar to the example that I give on my blog, but there are three targets, not just one.  The following will create the sources files:

    sysgen_capture -p SHELL explorer

    If it were me, I would minimize the amount of code that I clone.  But if you want to clone the whole thing, go ahead.  Just keep in mind that easy today doesn't equal easy tomorrow, you may end up making maintenance more difficult.


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Monday, August 23, 2010 8:27 PM
    Moderator
  • Thank you for your time and pacience.

    I will work on it now.

    Monday, August 23, 2010 9:36 PM
  • I have succeded in clonning the explorer.exe, without clonning the whole PUBLIC\SHELL folder as suggested.

    Now I want to remove some shortcuts from LOC_PROGRAMS_DIR folder, which are created by shell.dat file. Because I have to leave only my program's shortcut.

    Remove or disable Directory("\Windows\LOC_PROGRAMS_DIR"):-File("LOC_WINDOWSEXPLORER_LNK", "\Windows\explore.lnk") for example.

    How can I achieve this without modifying the public source code ?

    Thanks,

    Atos

    Wednesday, September 1, 2010 7:32 PM
    • Marked as answer by At0s Friday, September 10, 2010 12:41 PM
    Wednesday, September 1, 2010 7:57 PM
    Moderator