почему ОС пишет "переустановите приложение"?

Тема в разделе "WASM.WIN32", создана пользователем rain, 6 янв 2007.

  1. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    Есть например написанная на С программа которая собрана на w2k3 serv, которая под ХР выдаёт сабж
    Прога юзает функции библиотеки FMOD, но ведь это не суть важно, ведь это обычная библиотека?
    как я понимю всё дело именно в ос?
    что можно сделать что-бы собирать программы под другие версии вин которые будут гарантированно работать в свете данного вопроса?

    пожалуйста, любые соображения интересны
    спасибо за внимание
     
  2. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    rain

    "Приложению не удалось запуститься, поскольку *****.dll не был найден. Повторная установка приложения может исправить эту проблему"
    Когда прога не находит dll, из которой импортируются функции, она и выдает такую байду. Скинь дллку туда и все.
     
  3. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    не помню как дословно она говрит, но смысл такой.
    koderr
    в том то и проблема, что больше ничего не говорит, ессесно я бы догадался сделать это :)
     
  4. apple

    apple Виктор

    Публикаций:
    0
    Регистрация:
    26 апр 2005
    Сообщения:
    907
    Адрес:
    Russia
    Сйчас скомпилил Win32 Console в VS2005, перенес на чистую XPSP2 (чистую в смысле только поставил на vmware)
    Та же байда.
    Посмотрел в секции импорта: нужна msvcr80.dll

    Взял отсюда все, что было (C:\Program Files\Microsoft Visual Studio 8\VC\redist\amd64\Microsoft.VC80.CRT) и скопировал в директорию с прогой - запустилось.

    [add]
    У меня amd, есть еще папка x86
    Если скопировать только msvcr80.dll, то не запустится :dntknw:
    Наверное, не все либы в импорт пихает?!
     
  5. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    apple
    у меня в импорте MSVCR80D.dll
    сейчас не распологаю возможностью проверить, но кажется эта библа в директории с прогой, и прога всё равно не запускалась, возможно нужно всё скопровать из такой папки
    Можно ли как-нибудь указать студии что-бы она использовала более старые длл-ки?
     
  6. apple

    apple Виктор

    Публикаций:
    0
    Регистрация:
    26 апр 2005
    Сообщения:
    907
    Адрес:
    Russia
    У меня тоже, если приложение в Debug.

    C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\amd64_или_x86\Microsoft.VC80.CRT_или_MFC

    http://www.sql.ru/forum/actualthread.aspx?tid=344059
     
  7. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    apple пасиба
    [add]
    плохо только одно пухнет размер, почему-бы майкрософту не сделать функцию использования старых длл и всё ?
     
  8. apple

    apple Виктор

    Публикаций:
    0
    Регистрация:
    26 апр 2005
    Сообщения:
    907
    Адрес:
    Russia
    Да. Вот еще.
    Если приложение собрано в Debug - msvcr80D.dll, в Release - msvcr80.dll!!!

    Пухнет? А если человек пишет под NET3.0, то пухнет на 50 метров... Это они еще с++ "пожалели".
     
  9. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    угу, это ж твоём линке есть %)
    и всё-таки меня терзают сомнения, что можно не сильно извратясь (LoadLib\GetProcAddr) юзать в проэктах на си какие угодно старые библиотеки
     
  10. CnCVK

    CnCVK New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2006
    Сообщения:
    108
    дело в том что msvcr80.dll - непростая библа
    она требует манифеста для использования (MSVS2005 его добавляет)
    и поэтому проблема простым копированием не решается :dntknw:
    Варианты:
    1)Использовать статическую компоновку
    2)Вырезать манифесты из файлов и часть кода в msvcr80.dll
     
  11. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    CnCVK где можно об этом толково прочитать?
    о том как устроить статическую компоновку, для чего толком нужен манифест.. и к чему так часто майкрософту обновлять рантаймовые библиотеки С ?