2016-12-08 4 views
0

Мы распространяем распространяемые VC++ файлы как часть нашего приложения - они находятся на том же уровне папок, что и наше приложение. И 9 из 10 раз это просто работает. Однако иногда мы сталкиваемся с клиентом, на компьютере которого не распространяются распространяемые компоненты - приложение не запускается при запуске. И, по-видимому, исправление заключается в том, чтобы зайти на компьютер клиента и установить официальную рассылку на SMTP C++, а затем все будет работать. Минимальная версия Windows, на которой работает наше приложение, - Windows 7 - не слишком древняя. Мы попытались установить наше приложение на новый образ Windows 7 - он просто работает. Любые идеи относительно того, что происходит? СпасибоVS2015 C++ redistributables ИТОГО НЕ обнаруживается

+0

Почему вы устанавливаете распространяемые файлы на том же уровне, что и приложение? Обычно они идут в windows \ system32 или windows \ syswow64. – rrirower

+0

не хотите ничего беспокоить на машине клиента. – alernerdev

+0

Стандартная практика - установить их в этом месте. Установка должна обновить путь. – rrirower

ответ

0

Если приложение (или программное обеспечение) является большим даже без перепродажи Visual C++, игнорируйте этот ответ.
Мое предложение состоит в том, чтобы скомпилировать с /MT вместо /MD a.k.a. вместо библиотек динамической компоновки (DLL) использовать библиотеки статических ссылок (LIB).

+0

Его отличная идея, но у нас есть тонна DLL. Таким образом, файлы времени выполнения должны быть частью каждой DLL? Его старое 32-битное приложение - это значительно увеличило бы площадь, верно? – alernerdev

+0

Возможно, клиент не установил правильную версию? –