Установщик Windows (C #) код ошибки 2869 - PullRequest
10 голосов
/ 12 апреля 2010

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

Я получаю код ошибки 2869 при попытке установить приложение. Весь код написан на C #. Я погуглил этот код ошибки в Windows XP, но нашел только статьи, которые касаются Vista и Windows 7. Есть идеи, что может произойти? Есть ли обходной путь?

Ответы [ 4 ]

21 голосов
/ 04 сентября 2013

Это не поможет с исправлением кода установщика, но на случай, если это случится с кем-либо при установке на Windows 2008 Server, вам, вероятно, потребуется запустить установщик из командной строки с повышенными привилегиями:

  1. Откройте командную строку с помощью «Запуск от имени администратора», а затем запустите установщик
  2. msiexec / i installer.msi
7 голосов
/ 12 апреля 2010

Ошибки установщика трудно отлаживать, вы можете попробовать:

  1. Посмотрите в Event Viewer / Application для зарегистрированных исключений
  2. Окружите свой код большой попыткой / уловом и MessageBox.Show(ex.ToString()) в предложении catch
  3. Создание журнала при установке: msiexec / i "installer.msi" / lvx "log.txt" и поиск в нем подсказок
0 голосов
/ 03 мая 2017

Ошибка 2869 задокументирована как проблема диалога с диалогами установщика Windows. Единственная причина, по которой вы это видите, заключается в том, что программа установки отображает диалоговые окна с сообщениями об ошибках, и в этом есть небольшая проблема. Истинная ошибка будет раньше в журнале. Другими словами, это бессмысленная нисходящая ошибка от установки, которая уже не удалась. Посмотрите ранее в журнале фактическую ошибку, которая в девяти случаях из десяти будет неудачным настраиваемым действием.

0 голосов
/ 02 мая 2017

Чтобы получить представление о том, что произошло, вы можете использовать Process Monitor компании Sysinternals. Он автоматически подключается к вашей операционной системе и является переносимым, поэтому вам просто нужно сделать следующее:

  • Скачать Process Monitor с https://technet.microsoft.com/sysinternals/processmonitor.aspx
  • Запуск монитора процесса
  • Установите фильтр «Имя процесса - msiexec.com» для мониторинга вашего установщика
  • Запустите установщик (например, setup.exe) (не нужно изменять или запускать его с помощью специального переключателя командной строки)
  • Проверка журнала мониторинга на наличие ошибок (доступ к файлам, реестр и т. Д.)

В моем случае Process Monitor показал мне причину «DISK FULL» при извлечении файла, что привело к коду ошибки 2869.

...