Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .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
Цитата(Softaz @ 4.12.2006,  23:52)
Твоя программа использует генерацию отчетов, Managed DX, MSSQL. Ну самая невероятная ситуация в твоем случае - версии mdac?

P.S.: http://www.gotdotnet.ru/LearnDotNet/NETFramework/603.aspx

Используется одна БД 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
Цитата(mr.DUDA @ 5.12.2006,  09:43)
Неплохо было бы заглянуть в системный event log и в текстовые логи, создаваемые в папке Temp (сразу после установки найти последний по дате).

Если речь о windows/temp, то никаких обновлений файлов во время установки не происходило.
В корневой windows пара файлов .log была обновлена во время установки, но они используются системой и прочитать их не удается, да и вряд ли они будут интересны - уж больно длиннющие.
Файла event.log я не нашел, а все, похожие по названию (на всех дисках) были изменены задолго до установки программы.

Автор: Naum 5.12.2006, 11:15
Цитата(Atomic @  5.12.2006,  12:08 Найти цитируемый пост)
Файла event.log я не нашел,

Пуск->Панель управления->Администрирование->Просмотр событий.

Автор: Atomic 5.12.2006, 11:23
Цитата(Naum @ 5.12.2006,  11:15)
Цитата(Atomic @  5.12.2006,  12:08 Найти цитируемый пост)
Файла event.log я не нашел,

Пуск->Панель управления->Администрирование->Просмотр событий.

В "Приложении" писано, что установка завершена успешно.
В "Система" сообщение об ошибке "Получен неправильный пакет драйвера от подсистемы ввода/вывода. Данные представляют пакет.". Источник - eventlog.

Автор: Softaz 5.12.2006, 15:55
Цитата(Atomic @  5.12.2006,  01:17 Найти цитируемый пост)
Microsoft Data Access Components (MDAC) 2.7 Service Pack 1 Refresh

Нужен 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 ошибок не обнаружено.
В качестве эксперимента сделал пустую форму с инсталятором и установил на втором компе - работает.
Из своей программы исключил форму с обращением к БД (совсем, из проекта) и еще кучу файлов, в которых БД так, или иначе поминалась - все равно ошибка.
Так что это не в БД дело.
Вероятно, где-то в программе что-то не так.

Автор: ivashkanet 7.12.2006, 15:43
Цитата(Atomic @  7.12.2006,  10:22 Найти цитируемый пост)
Из своей программы исключил форму с обращением к БД (совсем, из проекта) и еще кучу файлов, в которых БД так, или иначе поминалась - все равно ошибка.

А референсы на базу или чё-там у тя отключил тоже?

Автор: Atomic 8.12.2006, 18:18
Разобрался я, в чем было дело.
Дело было не в БД - разболтай сидел в кабине.
В конструкторе одной из форм я создавал некоторое количество объектов (PictureBox) и инициалировал их картинкой из внешнего файла. Так получилось, что по пути, указанному при инициализации, на втором компьютере по какой-то, до сих пор не выясненной причине, такого файла никогда и не было...
Вот оно и не стреляло...
 smile 

Автор: mr.DUDA 8.12.2006, 23:06
Atomic, вот для этого и существует try...catch, логи на пару с TraceListener-ами и в конце концов, событие UnhandledException...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)