использование Windows Script Host

Я использую хост сценария окон к некоторому приложению установщика, и я создаю ярлыки в меню "Пуск" с ним. Эта проблема подошла, когда я переключился на x64 среду (win7 окончательный x64+vs2010)

Я добавил ссылку на Windows Script Host Object Model (от c:\windows\syswow64\wshom.ocx), это генерировало Interop. IWshRuntimeLibrary dll.

Я добавил 'использование IWshRuntimeLibrary'; в мои .cs файлы, но когда я пытался создать

WshShell sh = new WshShellClass(); 

это выдает исключение:

Не мог загрузить файл или блок 'Interop. IWshRuntimeLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' или одна из его зависимостей. Попытка была предпринята для загрузки программы неверным форматом.

Я предполагаю, что мне была бы нужна 64-разрядная версия того, что wshom.ocx для этого для работы, но я не знаю то, что должно, я пробую.

Или я просто выведу материал Windows Script, но мне нужен другой способ создать ярлыки меню "Пуск" от приложения .NET.

6
задан Uwe Keim 17 July 2014 в 11:49
поделиться

1 ответ

Похоже, что .NET требует, чтобы все сборки были одинаковыми 32-битными или 64-битными, и не позволяет вам смешивать и сочетать. Поэтому, если ваше приложение работало в 32-битном режиме, попробуйте установить опции компилятора (в свойствах проекта) для явного создания "x86" (т.е. 32-битного) приложения (которое должно работать как в 32-битном, так и в 64-битном режиме). Это может быть проще, чем искать 64-битную версию скриптового хоста.

Обратите внимание, что опцией компилятора по умолчанию, похоже, является "Any", которая будет запускать сборку .NET как 64-битную на 64-битной ОС, и 32-битную на 32-битных ОС.

6
ответ дан 17 December 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: