Writing Shell Extensions / Extending Explorer Context Menu - XP 64

  • Thread starter Thread starter Jeff Gaines
  • Start date Start date
J

Jeff Gaines

I am in the process of upgrading to XP 64. VS2008 is running fine but one
of my apps, which adds functionality to the Explorer context menu, just
won't work under XP 64.

Googling resulted in my finding an article saying that MSFT recommends
against writing shell extensions in managed code and does not consider
them a supported scenario.

So, can anybody point me to any articles relating to writing shell
extensions in non managed code specifically for XP 64? I am beginning to
think that XP 64 is a bit of a Cinderella OS, although the advent of Vista
has, at least, been responsible for the appearance of 64 bit drivers that
previously didn't exist!
 
Hello Jeff,

First off, for you request of articles relating to writing shell extension
in non-managed code specifically for x64 Windows system, I'd suggest:

the KB article http://support.microsoft.com/kb/895561
the technet article
http://technet.microsoft.com/en-us/magazine/cc162472.aspx
the codeproject series:
http://www.codeproject.com/KB/shell/shellextguide1.aspx

The first 2 articles explains why some shell extensions running well on
32bit systems are not displayed in x64-based Windows. They also point out
the key points when writing shell extensions for x64 system: any Explorer
shell extension must be recompiled for x64 in order to work.
The code project shell extension series contain eight articles or so,
giving a very detailed step-by-step demonstration of how to write shell
extension with non-managed code (chiefly for x86).

Thus, we can reference the three articles all together, and convert the
.NET based shell extension to native codes for x64.

By the way, the reason for the unsupported scenario of .NET based shell
extension is because shell extensions are loaded into arbitrary processes
and managed code built against one version of the runtime may not run in a
process running an earlier version of the runtime. See:
http://msdn2.microsoft.com/en-us/magazine/cc188741.aspx, and
http://blogs.msdn.com/oldnewthing/archive/2006/12/18/1317290.aspx

Please have a look at the articles and let me know if they help. And I will
talk with some very experienced shell extension developers from the shell
team to see if there is anything else we should pay special attention to.

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
First off, for you request of articles relating to writing shell extension
in non-managed code specifically for x64 Windows system, I'd suggest:

[snipped]

Many thanks Jialiang, I particularly liked the title "When I'm x64" which
is a bit close to the truth for me :-)

Lots of reading to do which will be interesting, looks like I need to
learn C++ as well which will keep my brain active.
 
Hello Jeff,

As I said I would talk with some experienced shell extension developers
from the shell team to see if there is anything else we should pay special
attention to, a very famous shell developer inside Microsoft (He does not
want me to tell his name) confirmed that writing a 64-bit shell extension
is the same as writing a 32-bit shell extension. We are just doing it in
Win64. The rules are the same; there are no functionality differences.

If you have any other concerns or questions, feel free to let me know. You
are also welcome to post questions here if you encounter any problem when
writing the non-mananged shell extension in C++. We will be very happy to
help you.

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

=================================================
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

This posting is provided "AS IS" with no warranties, and confers no rights.
=================================================
 
Back
Top