This is the expected behavior. There is no project setting that can generate interop for XP shell32.dll on Windows 7, distributing the dll from XP to 7 is against your Windows end user license agreement.
When you write code that is expected to run on earlier versions of COM server, don't use features only available on later version of COM servers. Generally speaking you should not use classes in a interop dll except when creating the COM objects. You should
only use interfaces that are known to work with your deployment environment (IShellDispatch4, for example) to access the properties and methods of the object.
This forum is not a catch-all forum for the code you can write in the IDE, otherwise the forums under the Windows Forms category and forums.asp.net won't be created in the first place. If you need more help in programming the shell, I suggest you to visit
the
shell programming forum.
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP