Search code examples
vb.netdllreferencehost-object

Windows Script Host Object Model's Interop.IWshRuntimeLibrary.dll referencing same directory as executable


I have an application that creates desktop shortcuts. To do this I have to reference the Windows Script Host Object Model. When I add it as a reference, it always creates the DLL, Interop.IWshRuntimeLibrary.dll, in the obj\x86\Debug directory, then references itself to it, rather than looking at wshom.ocx. Even if I add reference wshom.ocx it reverts to saving the file in the obj\x86\Debug directory. The problem is if I move my application to another computer without that DLL being present, the program fails to run.

What's the proper way of handling this situation?

Thank you


Solution

  • Your best bet would be to ditch the Windows Scripting Host completely. Here's a link to a method for creating shortcuts without relying on the WSH. It still uses COM though.

    http://vbaccelerator.com/home/NET/Code/Libraries/Shell_Projects/Creating_and_Modifying_Shortcuts/article.asp

    Here is a class that someone created that you can use:

    http://www.msjogren.net/dotnet/eng/samples/dotnet_shelllink.asp