| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Снова про переносимость программы. Ну не работает. |
| Автор: Atomic 4.12.2006, 23:43 |
| Сделал программку под C#.Net. Сделал Setup в VS2005.net. Перенес дистрибутив на другой компьютер и установил. При попытке запустить программу, винда пишет, что сорри, но я ее закрою и предлагает что-то куда-то послать. Причем делает это на английском языке, хотя винда русская. Видимо, сообщение прямо от Frameworkи. Framework стоит. 2-ой. (Столкнувшись с проблемой, первым делом скачал 3-ю .Net, но сейчас снес для однообразия - все равно никакой разницы). Все тоже самое, но на моем компьютере - работает. На обоих компах WinXP (с одного диска), .NET 2.0 (из дистрибутива VS), все патчи и апгрейды скачены. Не подскажете, что еще может быть не так? |
| Автор: Softaz 4.12.2006, 23:52 |
| Твоя программа использует генерацию отчетов, Managed DX, MSSQL. Ну самая невероятная ситуация в твоем случае - версии mdac? P.S.: http://www.gotdotnet.ru/LearnDotNet/NETFramework/603.aspx |
| Автор: Atomic 5.12.2006, 01:17 | ||
Используется одна БД Access во внешнем файле и программа подключается к ней через .NET-библиотеку (OleDB..., dataGrigView... и пр.). В принципе, создание почти всех форм программы (включая инициализацию БД и всего с ней связанного) происходит в начальный период работы приложения, так что, возможно, действительно ошибка возникает при обращении к БД. Кроме БД ничего больше такого особенного не используется, dll-ки не подключаются и пр. Начитавшись поссыленной статьи, я пробовал устанавливать: Jet 4.0 SP8 для Windows XP - уже был; Microsoft Data Access Components (MDAC) 2.7 Service Pack 1 Refresh - установилась. Но на тексте сообщения об ошибке это не сказалось. С Crystal Reports какая-то непонятка пока. Завтра с утра попробую еще раз. Вообще странно, вроде .Net позиционируется как "все есть". А при создании первой же, пробной программы обнаруживается, что нужно еще кучу библиотек с собой таскать... Или я чего-то не понимаю? |
| Автор: mr.DUDA 5.12.2006, 09:43 |
| Неплохо было бы заглянуть в системный event log и в текстовые логи, создаваемые в папке Temp (сразу после установки найти последний по дате). |
| Автор: Atomic 5.12.2006, 11:08 | ||
Если речь о windows/temp, то никаких обновлений файлов во время установки не происходило. В корневой windows пара файлов .log была обновлена во время установки, но они используются системой и прочитать их не удается, да и вряд ли они будут интересны - уж больно длиннющие. Файла event.log я не нашел, а все, похожие по названию (на всех дисках) были изменены задолго до установки программы. |
| Автор: Naum 5.12.2006, 11:15 |
Пуск->Панель управления->Администрирование->Просмотр событий. |
| Автор: Atomic 5.12.2006, 11:23 | ||
В "Приложении" писано, что установка завершена успешно. В "Система" сообщение об ошибке "Получен неправильный пакет драйвера от подсистемы ввода/вывода. Данные представляют пакет.". Источник - eventlog. |
| Автор: Softaz 5.12.2006, 15:55 | ||
Нужен MDAC 2.8 |
| Автор: Atomic 5.12.2006, 19:31 |
| Нашел MDAC 2.8 где-то в сети (microsoft делиться отказался), но при попытке установить пишет, что несовместим с текущей версией Windows и вообще является частью системы. В общем, как я понял, он уже есть. Может, правда, конфликтует с 2.7, но я не сумел ее найти, чтобы снести перед установкой 2.8. |
| Автор: mr.DUDA 5.12.2006, 22:39 |
| Есть ещё вероятность, что .config-файл приложения запорчен, если он есть. Например кодировка не та что указана в <?xml или же тег не закрыт, ну и так далее. Проверить очень просто: переименовать в .xml и открыть в Internet Explorer -- если покажет ошибку, значит дело именно в конфиге. |
| Автор: Atomic 7.12.2006, 11:22 |
| Увы, но в XML ошибок не обнаружено. В качестве эксперимента сделал пустую форму с инсталятором и установил на втором компе - работает. Из своей программы исключил форму с обращением к БД (совсем, из проекта) и еще кучу файлов, в которых БД так, или иначе поминалась - все равно ошибка. Так что это не в БД дело. Вероятно, где-то в программе что-то не так. |
| Автор: Atomic 8.12.2006, 18:18 |
| Разобрался я, в чем было дело. Дело было не в БД - разболтай сидел в кабине. В конструкторе одной из форм я создавал некоторое количество объектов (PictureBox) и инициалировал их картинкой из внешнего файла. Так получилось, что по пути, указанному при инициализации, на втором компьютере по какой-то, до сих пор не выясненной причине, такого файла никогда и не было... Вот оно и не стреляло... |
| Автор: mr.DUDA 8.12.2006, 23:06 |
| Atomic, вот для этого и существует try...catch, логи на пару с TraceListener-ами и в конце концов, событие UnhandledException... |