2009-02-24 4 views
4

У меня возникла ошибка при использовании установщика Windows для установки источника события в продукте, который я развертываю.Ошибка с установщиком Windows ... «Невозможно получить типы установщика»

Сообщение об ошибке я получаю говорится следующее ...

Не удалось получить типы монтажником в с в: \ TEMP \ program.exe сборки. -> Невозможно загрузить один или несколько запрошенных типов . Получить свойство LoaderExceptions для получения дополнительной информации .

Вот блок кода, который создает установки источника событий ...

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Configuration.Install; 
using System.Diagnostics; 

namespace myapplication 
{ 
    [RunInstaller(true)] 
    public partial class EventSourceInstaller : Installer 
    { 
     public EventSourceInstaller() 
     { 
      InitializeComponent(); 

      string eventSourceName = "MyAppSourceName"; 
      if (!EventLog.SourceExists(eventSourceName)) 
      { 
       EventSourceCreationData data = new EventSourceCreationData(eventSourceName, "Application"); 
       EventLog.CreateEventSource(data); 
       EventLog.WriteEntry(eventSourceName, "Source Added."); 
      } 
     } 
    } 
} 

В инсталлер проекте я добавил пользовательское действие на Установка имени «Первичный выход из MyApplication (Active) "для запуска установщика источника событий.

У меня есть следующие вопросы

  1. кто-нибудь другой проходил через это, и какова была проблема?

  2. Как мне получить свойство LoaderExceptions установщика?

ответ

2

Я никогда не видел эту ошибку, но путь c: \ temp \ program.exe очень странный. Вы пытаетесь запустить установщик из каталога c: \ temp \?

Вы уверены, что результаты всех проектов и всех сторонних библиотек DLL, которые вы используете, включены в проект развертывания? Нажмите на все включенные файлы в проекте развертывания и проверьте их свойство SourcePath; являются ли они исходными исходными файлами, а не целевой выходной папкой? Не временная папка?

+0

Dour High Arch - Спасибо! Как-то DLL была отключена в установщике. Я не знаю, как, но когда я снова включил его, все сработало нормально. Еще раз спасибо за вашу помощь. –

1

У меня была точно такая же проблема.

Я думаю, ваша программа ссылается на другие DLL-файлы, которые установщик устанавливает в GAC или где-то еще за пределами каталога приложения. Вы не можете рассчитывать на то, что эти DLL устанавливаются до запуска вашего действия установки.

Решение: создайте отдельную DLL для действия по установке и убедитесь, что DLL не ссылается ни на какую другую DLL (прямо или косвенно), которые не установлены внутри вашей папки приложения.

BTW, если можно, переключитесь на другую технологию. Я не знаю, какие конкуренты лучше, но если вы делаете нестандартные вещи, проект установки VS вызовет у вас ничего, кроме неприятностей.

2

«Обнаруженные зависимости» вашего проекта установки не обновлены. В моем случае обновление зависимостей не работает. Из-за добавления dll к зависимостям проекта проекта визуальная студия обновила их все. После восстановления проекта установки ошибка больше не возникала!

 Смежные вопросы

  • Нет связанных вопросов^_^