Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2017, 13:24   #1
eliasum
Пользователь
 
Регистрация: 12.02.2015
Сообщений: 31
По умолчанию Запуск приложения WinForms C# на другом компьютере без Visual Studio - C#

Здравствуйте, уважаемые эксперты.
В Visual Studio 2015 создано приложение WinForms для вывода на дисплей изображения с ip-камер.
Необходимые библиотеки устанавливаются на комп с помощью спец софта для камер, отдельные необходимые dll лежат в папке с проектом. Требуемая версия .Net 4.
Microsoft Visual C++ 2005-2008-2010-2012-2013-2017 Redistributable Package Hybrid стоит.
Система Windows 8.1, х64.

На моем компе все прекрасно работает. Пытаюсь запустить .exe на целевой машине, где стоит .Net 4.5.2, Microsoft Visual C++ 2005-2008-2010-2012-2013-2015, система Windows 8, х64, софт ip-камер стоит. Программа вообще не хочет запускаться, даже никакой ошибки не выдает.

Я запустил на виртуальной машине систему Windows 8.1, х64, софт ip-камер стоит, Microsoft Visual C++ 2005-2008-2010-2012-2013-2017 Redistributable Package Hybrid стоит. При запуске экзешника вылетает ошибка

Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: Camcorder.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 59f172d6
Сигнатура проблемы 04: Camcorder
Сигнатура проблемы 05: 1.0.0.0
Сигнатура проблемы 06: 59f172d6
Сигнатура проблемы 07: 1f
Сигнатура проблемы 08: 16
Сигнатура проблемы 09: System.DllNotFoundException
Версия ОС: 6.3.9600.2.0.0.256.48
Код языка: 1049
Дополнительные сведения 1: f73b
Дополнительные сведения 2: f73bba61db694b225255c1f07cd06508
Дополнительные сведения 3: b4e5
Дополнительные сведения 4: b4e5ef6bbc543bd1d0663422f4da4f89

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=280262

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt

Обработка исключений есть, ничего не отлавливается, даже это не помогает

public MainForm()
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHa ndler);

// Добавить обработчик событий для обработки исключений потока пользовательского интерфейса
Application.ThreadException += new ThreadExceptionEventHandler(Form1_U IThreadException);

..............
}

static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
Exception e = (Exception)args.ExceptionObject;
Log.Write(e);

MessageBox.Show("MyHandler caught : " + e.Message);
MessageBox.Show("Runtime terminating: {0}", args.IsTerminating.ToString());
}

// Handle the UI exceptions by showing a dialog box, and asking the user whether
// or not they wish to abort execution.
private static void Form1_UIThreadException(object sender, ThreadExceptionEventArgs t)
{
DialogResult result = DialogResult.Cancel;
try
{
result = ShowThreadExceptionDialog("Windows Forms Error", t.Exception);
}
catch
{
try
{
MessageBox.Show("Fatal Windows Forms Error",
"Fatal Windows Forms Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop);
}
finally
{
Application.Exit();
}
}

// Exits the program when the user clicks Abort.
if (result == DialogResult.Abort)
Application.Exit();
}

// Creates the error message and displays it.
private static DialogResult ShowThreadExceptionDialog(string title, Exception e)
{
string errorMsg = "An application error occurred. Please contact the adminstrator " +
"with the following information:\n\n";
errorMsg = errorMsg + e.Message + "\n\nStack Trace:\n" + e.StackTrace;
return MessageBox.Show(errorMsg, title, MessageBoxButtons.AbortRetryIgnore,
MessageBoxIcon.Stop);
}

Помогите решить проблему.
eliasum вне форума Ответить с цитированием
Старый 26.10.2017, 13:37   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Он же написал, что не нашел либ. Посмотрите, что ваше приложение хочет из либ и доустановите. Ну или само приложение хоть дайте.
p51x вне форума Ответить с цитированием
Старый 26.10.2017, 17:27   #3
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

Может выводить в лог инфу о загрузки библикотек. ну или как то локализовать ошибку например закоментировать некоторые куски и попробовать запустить
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 26.10.2017, 20:03   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

У Вас exception возникает ДО инициализации главной формы, поэтому CLR20r3
Посмотрите внимательно, какие DLL подтягиваются через Interop.

Ну или выложите текущий боекомплект с exe, поглядим, чего не хватает.
Если конфиденциально, пишите на мыло, договоримся
Black Fregat вне форума Ответить с цитированием
Старый 28.10.2017, 00:25   #5
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

Почти аналогичная проблема. У меня программа запускается а на др компе нет. и там и там win 7 c .Net 4.5. Кто то может пояснить как правильно делать сборки или понимать что происходить после запуска?
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 28.10.2017, 01:35   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Попробуй поменять тип компиляции:

0.jpg



Debag - для отладки (большой файл + дополнительные данные необходимые для отладки, но без внешних библиотек)
Releаsе - окончательный, чистенький exe-ник (со всеми, необходимыми библиотеками внутри).

Но и копировать "exe" надо будет из папки "Releаsе".
ura_111 вне форума Ответить с цитированием
Старый 28.10.2017, 09:52   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
со всеми, необходимыми библиотеками внутри
с чего вдруг?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.10.2017, 18:27   #8
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1.jpg
ura_111 вне форума Ответить с цитированием
Старый 28.10.2017, 18:33   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не видите разницу между "разные" и "внутри"?

Автор статьи хотел сказать, что отладочная сборка использует отладочные библиотеки (имя обычно кончается на d), которых обычно нет на компе без студии. (не отладочные ставятся упомянутым там Redist'ом)

А для "внутри" надо линковать статически, релиз не причем.

И да, тут вообще-то про C# речь, так что это все не причем.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск своей программы на другом компьютере igor.petrov Общие вопросы C/C++ 3 20.04.2014 13:07
Запуск приложения на другом компьютере ArmanPrestige Общие вопросы C/C++ 4 04.07.2012 22:59
запуск на другом компьютере kaljan775 Общие вопросы C/C++ 3 07.12.2010 15:40
Запуск приложения на другом компьютере. VHomer БД в Delphi 6 29.09.2010 08:18
Запуск приложения на другом компе.... Anna_fors БД в Delphi 8 29.05.2009 15:30