Взаимодействие объектной модели хоста скрипта Windows.IWshRuntimeLibrary.dll ссылается на тот же каталог, что и исполняемый файл

#vb.net #dll #reference #host-object

#vb.net #dll #ссылка #хост-объект

Вопрос:

У меня есть приложение, которое создает ярлыки на рабочем столе. Для этого я должен ссылаться на объектную модель узла скрипта Windows. Когда я добавляю его в качестве ссылки, он всегда создает DLL, Interop.IWshRuntimeLibrary.dll в каталоге obj x86 Debug затем ссылается на него, а не просматривает wshom.ocx. Даже если я добавлю ссылку wshom.ocx, это приведет к сохранению файла в каталоге obj x86 Debug. Проблема в том, что если я перемещаю свое приложение на другой компьютер без присутствия этой DLL, программа не запускается.

Каков правильный способ справиться с этой ситуацией?

Спасибо

Ответ №1:

Лучше всего было бы полностью отказаться от хоста сценариев Windows. Вот ссылка на метод создания ярлыков, не полагаясь на WSH. Тем не менее, он все еще использует COM.

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

Вот созданный кем-то класс, который вы можете использовать:

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