2010-10-26 3 views
4

Получил новую машину Win7 с установленным VS2005. Я пытался начать MyApp.exe, который построен с манифеста, который говорит в Manifest.bin:Почему у меня нет файла Microsoft.VC80.MFC?

...

<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"> 
</assemblyIdentity> 

...

и результат был сообщение об ошибке «Приложение не удалось запустить, поскольку это бок о бок конфигурация неправильна ...

Просмотр событий рассказал мне причину в деталях:

активации контекста Generatio n не удалось выполнить «c: \ Xxx \ MyApp.exe». Зависимая сборка Microsoft.VC80.MFC, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "8.0.50727.4053" не удалось найти. Для детальной диагностики используйте sxstrace.exe.

поэтому я просмотрел папку winsxs и действительно все «4053-папки» отсутствовали. Затем я отредактировал Manifest.bin и заменил 4053 на 4927. Ошибки повторялись с другой версией. Тогда я узнал, что у меня есть «4927-папка» для msvcr80.dll, но нет «4927-папки» для mfc80.dll.

Два вопроса:

-Почему нет "4927-папка" для mfc80.dll?

-Как получить все "4053-папки"?

Благодаря & BR -Matti

+0

Извините за глупый вопрос о том, где обновить: обновлено: http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=766a6af7-ec73-40ff-b072-9112bab119c2 –

ответ

2

Вы должны либо установить Visual C++ распространяемый или использовать модули слияния, чтобы добавить в свой Вторично установочный пакет Windows Installer. Или, альтернативно, вы должны скопировать библиотеки MFC в каталог с вашим приложением.

Библиотеки, которые могут использоваться как частная сборка (в каталоге приложений), находятся в C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\x86 или в amd64, если ваше приложение имеет 64 бит.

Слияние модулей для Windows Installer (MSI) находится в C:\Program Files (x86)\Common Files\Merge Modules.

Распространяемый пакет, который устанавливает все библиотеки, можно найти в C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe для 32-разрядных программ и в …\vcredist_x64\vcredist_x64.exe для 64-разрядных программ. Вы можете получить эти файлы с Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.


И я думаю, что вы хотите обновить Visual Studio с этим пакетом Microsoft Visual C++ 2005 с пакетом обновление 1 распространяемого пакета ATL обновления безопасности.

Смежные вопросы