2010-08-30 1 views
1

Я заканчиваю приложение C# для работы и хочу сделать установщик ClickOnce.ClickOnce, мои ошибки приложения Visual C# Express

Прямо сейчас, я просто хочу убедиться, что установщик работает и что я могу запустить exe без Visual Studio.

Итак, я настроил свой проект на требуемый Windows Installer и .NET 3.5 SP1 и скажу, чтобы он загружался у поставщика (позже я буду включать компоненты, но не для этого теста). Это просто базовая утилита, которая не нуждается в обновлениях, поэтому я отключу обновления и скажу, чтобы она использовала метод установки CD/DVD, поскольку я просто хочу запустить его локально. Когда я запускаю результирующий файл setup.exe, я получаю приглашение к установке, а MyApp появляется в «Установка и удаление программ». Но, как только заканчивается инсталлятор он падает с этим сообщением:

[MyApp] столкнулся с проблемой и необходимо закрыть. Мы сожалеем о неудобстве .

Такое же сообщение появляется при попытке запустить .exe. Во время установки не создаются папки «Пуск». Я попытался полностью избавиться от создания файла установки, так что он просто сгенерировал файл .application, но я все равно получил ту же ошибку.

Я пропустил что-то очевидное? Мое приложение компилируется в конфигурации Release и работает отлично. Является ли ClickOnce просто не работать с обычными приложениями WinForms?

Этот вопрос: WPF application crash after ClickOnce publish Звучит похоже на мой вопрос, но я использую Windows Forms, и, таким образом, не получаю исключение XAML. Он просто отказывается бежать.

ответ

3

Хорошее место для начала - добавить обработчик для события AppDomain.UnhandledException. Это событие возникает, когда исключение возникает внутри вашего кода и не обрабатывается блоком try/catch (или повторно загружается и никогда не обрабатывается снова). Поведение .NET в этом состоянии заключается в том, чтобы закрыть приложение - с его точки зрения существует беглая ошибка.

В этом обработчике событий вы должны - как минимум - регистрировать ошибку таким образом, чтобы она была написана до закрытия приложения. Это может быть очень грубый MessageBox, чтобы отображать содержимое ошибки, записывать в текстовый файл или (предпочтительно) записывать в общее место регистрации.

+0

> _ < Вы правы! Спасибо, что помогли новичкам. Оказывается, одна из моих схем не была настроена на создание как Content, поэтому XmlReader гаснул. –

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

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