2

How does acronis create this virtual folders. For example I created a backup of the folder Example located at C:\Example This is how the backup looks:

enter image description here

If I double click on that file then I could navigate to:

enter image description here

if I right click on that folder I will not get the regular menu that I get with directories. If I double click that directory then I will navigate to the content of that folder as:

enter image description here

Note that the content that I am looking at is inside a file not on windows explorer.

I know that if I send VirtualDir.tib to somewone they will not be able to see the same because they do not have acronis true image installed.

How could I be able to do something similar with c# ?


Edit

Sorry I just updated the title. How will I be able to create a chell namespace extension with c#?

Tono Nam
  • 34,064
  • 78
  • 298
  • 470

1 Answers1

2

To answer your question about whether it can be done in C#, the answer is no. As is explicitly stated here, writing shell extensions in managed code is entirely unsupported. This is because shell extension DLLs can be loaded into multiple processes, some of which would already have another version of the CLR loaded.

Jason Malinowski
  • 18,148
  • 1
  • 38
  • 55
  • 2
    This no longer applies if the namespace extension is developed using .Net 4.0, becuase .Net 4.0 supports side-by-side in-process loading. See http://msdn.microsoft.com/en-us/magazine/ee819091.aspx – logicnp Sep 11 '12 at 05:40
  • 1
    logicnp: ah, I thought our recommendation for 4.0 had still been no, even with the SxS support. I'm actually not sure if Microsoft teams are consistent here... – Jason Malinowski Sep 11 '12 at 15:42
  • 1
    There is no inconsistency on their part regarding .Net 4.0. Namespace extensions. Namespace extensions and shell extensions can be developed without any issue. Even with earlier versions of .Net, the issue did not apply for all circumstances. Please see http://www.ssware.com/support/viewtopic.php?t=341 which discusses this. – logicnp Sep 12 '12 at 03:38
  • 2
    I thought I had read something somewhere where another Microsoft team was still saying it wasn't supported. I could be wrong. – Jason Malinowski Sep 12 '12 at 05:08
  • 3
    @logicnp, that is not correct. See http://blogs.msdn.com/b/oldnewthing/archive/2006/12/18/1317290.aspx and http://msdn.microsoft.com/en-us/library/windows/desktop/dd758089(v=vs.85).aspx and related links. – Matt Smith Feb 04 '14 at 18:56
  • 1
    This commercial product (disclaimer: I work for the company that sells it) allows you to write Shell Namespace Extension in .NET *out-of-process*: https://shellboost.com so you still follows Microsoft recommendations – Simon Mourier Jul 22 '18 at 07:40