Я работаю над программой установки, которая создает файл .msi. С ним связана программа CustomAction, которая написана на C#. В этой программе CustomAction есть три ссылки на COM-объекты, которые необходимы для ее работы. Они заключаются в следующем.Ошибка в файле или сборке Ошибка
- Активный DS IIS пространство имен Обеспечить (C: \ Windows \ System32 \ Inetsrv \ adsiis.dll)
- для Windows Script Host Object Model (C: \ Windows \ System32 \ wshom.ocx)
- NetFwTypeLib (C: \ Windows \ System32 \ FirewallAPI.dll)
Как добавил информации, являются следующие задачи, которые я использую эти библиотеки DLL в моей программе.
- Чтобы установить параметры MIME для определенного типа файла.
- Чтобы создать ярлык на рабочем столе для папки.
- Чтобы зарегистрировать программу в качестве исключения брандмауэра
.
Теперь, вот моя проблема. Когда я перестраиваю программу C# и запускаю программу CustomAction из Visual Studio, она отлично работает, и я могу выполнить три задачи, выполненные как шарм. Однако, когда я действительно создаю .msi и пытаюсь выполнить его и установить программу в свою систему, это дает ошибку. Я использую японскую ОС, поэтому она дает ошибку на японском языке, поэтому я постараюсь перевести сообщение об ошибке на английский, насколько это возможно. Ошибка что-то вроде этого:
*
файл или сборку 'Interop.IISOle, Version = 1.0.0.0, культура = нейтральной, PublicKeyToken = нуль', или один из его зависимостей может не загружается. Не удается найти указанный файл.
*
Это конкретное сообщение об ошибке дается, поскольку она имеет отношение к первому DLL (adsiis.dll), потому что это тот, который содержит пространство имен IISOle. Точно так же сообщения об ошибках относятся ко всем трем COM-объектам, на которые я ссылался, из моей программы. Теперь, что я могу понять из этого, так или иначе, когда этот код находится внутри .msi-файла, он не может найти соответствующие COM-объекты. Я действительно смущен, почему это происходит, когда программа установки дает ту же ошибку, когда я пытаюсь установить программу даже на том же компьютере, который я использовал для кодирования CustomAction. Смешно он безупречно работает с интерфейсом Visual Studio. Пожалуйста, помогите мне с этим. Заранее спасибо!
Обратите внимание, что я работаю на Windows Vista Business, но мне нужна настройка, чтобы иметь возможность установить на различных ОС Windows, начиная от Windows Server 2003 до Windows, 7.
Ваши действия работают как отложенные? Кроме того, вам не нужно писать свои собственные действия, по крайней мере, для 2. и 3. используйте Wix! –