Все о реестре Regedit / All about registry. Не устанавливается vcredist 2018


c++ - Почему установка vcredist_x86.exe не исправляет ошибку SideBySide, когда я разрабатываю EXE на одной машине и запускаю ее на другой?

Вопрос

Я написал проект С++ под названием "Foo", используя Microsoft Visual Studio 2005 Verison 8.0.50727.762 (SP.050727-7600) в Windows XP Professional Version 2002 с пакетом обновления 3. Я построил проект в Foo.exe. Затем я скопировал файл Foo.exe в пакет обновления 2 (SP2) для Windows Server 2003 Enterprise Edition. Когда я попытался запустить его, он не смог выполнить эту ошибку,

C:\foo.exe The application has failed to start because the application configuration is incorrect. Reinstalling the application may fix the problem.

В Event Viewer > System было зарегистрировано три события.

Идентификатор события: 32; Источник: SideBySide

Dependent Assembly Microsoft.VC80.CRT could not be found and Last Error was The referenced assembly is not installed on your system.

Код события: 59; Источник: SideBySide

Resolve Partial Assembly failed for Microsoft.VC80.CRT. Reference error message: The referenced assembly is not installed on your system.

Код события: 59; Источник: SideBySide

Generate Activation Context failed for C:\foo\Foo.exe. Reference error message: The referenced assembly is not installed on your system.

Установка распространяемого Microsoft Visual С++ 2005 не исправила его

Версия этого программного обеспечения, найденная в разделе "Установка и удаление программ", была "8.0.50727.42".

При попытке запустить C:\foo\foo.exe, я получил те же ошибки, которые я описал выше.

Установка распространяемого Microsoft Visual С++ 2005 пакета обновления 1 (SP1) не исправила его

Версия этого программного обеспечения, найденная в разделе "Установка и удаление программ", была "8.0.56336".

При попытке запустить C:\foo\foo.exe, я получил те же ошибки, которые я описал выше.

Копирование DLL-библиотек CRT и манифеста с того же компьютера (где я запускаю EXE) не исправляло его.

  • Я скопировал msvcm80.dll, msvcp80.dll и msvcr80.dll из C:\windows\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd до C:\foo.
  • Затем я скопировал C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd.manifest на C:\foo и переименовали его в Microsoft.VC80.CRT.manifest.

Четвертая строка файла манифеста выглядела так:

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

Когда я попытался запустить C:\foo\foo.exe на этот раз, это не сработало. Я повторил эту вещь снова с DLL в C:\windows\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700 и соответствующим файлом манифеста. Это тоже не помогло. Я получил ту же ошибку.

В обоих случаях я получил следующие ошибки в Event Viewer > System.

КОД события: 34; Источник: SideBySide

Component identity found in manifest does not match the identity of the component requested

Код события: 58; Источник: SideBySide

Syntax error in manifest or policy file "C:\foo\Microsoft.VC80.CRT.MANIFEST" on line 4.

Код события: 59; Источник: SideBySide

Generate Activation Context failed for C:\foo\Foo.exe. Reference error message: The manifest file contains one or more syntax errors.

Копирование DLL-библиотек CRT и манифест с компьютера Windows XP (где я построил EXE) не исправил его.

  • Я скопировал msvcm80.dll, msvcp80.dll и msvcr80.dll из C:\winnt\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700 машины Windows XP (где я разработал и создал foo.exe) на C:\foo Windows Server 2003 (где я пытаюсь запустить foo.exe).
  • Затем я скопировал C:\winnt\winsxs\Manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700.manifest на C:\foo и переименовали его в Microsoft.VC80.CRT.manifest.

Четвертая строка файла манифеста выглядела так:

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

При попытке запустить C:\foo\foo.exe теперь я получил те же ошибки, о которых упоминалось в предыдущем разделе.

Копирование DLL-библиотек CRT и манифест из папки Visual Studio исправлено.

  • Скопировано msvcm80.dll, msvcp80.dll, msvcr80.dll и Microsoft.VC80.CRT.manifest из C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT машины Windows XP (где я разработал и построил файл foo.exe) на C:\foo машины Windows Server 2003 (где я пытаясь запустить его).

Четвертая строка файла манифеста выглядела так:

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

На этот раз я смог запустить C:\foo\foo.exe без каких-либо проблем.

Вопрос

Я ожидал, что установка 'Microsoft Visual С++ 2005 SP1 Redistributable' (vcredist_x86.exe), как описано во втором подходе, исправит его. Но это не так. Скопировав DLL и файлы манифеста из папки C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT на машине разработки, исправил ее. Почему это было так?

Параметры сборки

В случае, это поможет вам ответить на мой вопрос. Вот параметры компилятора и компоновщика, которые я выбрал из свойств проекта Visual Studio:

Свойства конфигурации > C/С++ > Командная строка:

/O2 /GL /D "_MBCS" /FD /EHsc /MD /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /nologo /c /Wp64 /Zi /TP /errorReport:prompt

Свойства конфигурации > Коннектоp > Командная строка:

/OUT:"C:\MixedBag\Release\Foo.exe" /NOLOGO /MANIFEST /MANIFESTFILE:"Release\Foo.exe.intermediate.manifest" /DEBUG /PDB:"c:\MixedBag\release\Foo.pdb" /OPT:REF /OPT:ICF /LTCG /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

qaru.site

Ответы@Mail.Ru: Не устанавливается Vcredist_64

Дима Лось Профи (573), на голосовании 4 года назад

Microsoft Visual C++ 2013Redistributable (64x) - 12.0.21005Настройка не завершенаОдна или несколько проблем вызвали сбой программы установки. Исправте эти проблемы и попробуйте повторить установку. Дополнительные сведение см. в файле журналаЖурнал: [3440:20AC][2014-01-06T13:58:22]i001: Burn v3.7.2002.0, Windows v6.1 (Build 7601: Service Pack 3), path: C:\Users\Бог\Desktop\Новая папка (2)\vcredist_x64.exe, cmdline: '-burn.unelevated BurnPipe.{24FB0D45-9EE9-4727-A42C-CED06B6EDCBB} {DB4C5EF9-8637-4AA0-A726-F6EAFEF7E190} 5680'[3440:20AC][2014-01-06T13:58:22]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\664B~1\AppData\Local\Temp\dd_vcredist_amd64_20140106135822.log'[3440:20AC][2014-01-06T13:58:22]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\Бог\Desktop\Новая папка (2)\vcredist_x64.exe'[3440:20AC][2014-01-06T13:58:22]i000: Setting string variable 'WixBundleName' to value 'Microsoft Visual C++ 2013 Redistributable (x64) - 12.0.21005'[3440:20AC][2014-01-06T13:58:23]i100: Detect begin, 2 packages[3440:20AC][2014-01-06T13:58:23]i101: Detected package: vcRuntimeMinimum_x64, state: Absent, cached: None[3440:20AC][2014-01-06T13:58:23]i101: Detected package: vcRuntimeAdditional_x64, state: Absent, cached: None[3440:20AC][2014-01-06T13:58:23]i052: Condition 'VersionNT64 >= v6.0 OR (VersionNT64 = v5.2 AND ServicePackLevel >= 1)' evaluates to false.[3440:20AC][2014-01-06T13:58:23]e000: Error 0x81f40001: Bundle condition evaluated to false: VersionNT64 >= v6.0 OR (VersionNT64 = v5.2 AND ServicePackLevel >= 1)[3440:20AC][2014-01-06T13:58:23]i199: Detect complete, result: 0x0Далее 0x81f40001 - Microsoft Visual C++ 2013 Redistribulatble (x64) - 12.0.20015 can only be installet on Windows XP SP1 (64x) and newer platformsУменя windows 7 (32bit)

Голосование за лучший ответ

Похожие вопросы

Также спрашивают

otvet.mail.ru

Тихая установка vcredist / How silent install vcredist?

vcredist - программа, а вернее пакет который часто встречается в дистрибутиве какой-либо программы. Предназначен для установки компонентов среды выполнения которые необходимы для выполнения  приложений на C++

Недавно я писал статью, в которой, как раз и нужен данный пакет -

http://regedit.su/silent-install-application/70-o/824-silent-install-obsstudio

Может кому-то понадобится и для других приложений.

Для просмотра ключей тихой установки vcredist используется ключ -

/?

Ключи тихой установки vcredist -

/install - Установка программы

/repair - Устранение ошибок установки программы

/uninstall - Удаление программы

/layout - Создание полной копии пакета в каталоге

/passive - Отображение минимального интерфейса при установке

/quiet - Тихая установка, без отображения интерфейса

 

Рассмотрим пример тихой установки vcredist если он находится на сервере APPSOFT в папке VCREDIST

start /wait \\APPSOFT\VCREDIST\vcredist_x64.exe /install /quiet

 

Для примера был взят пакет для 64 разрядной Windows, есть и для 32 разрядной версии Windows доступный на сайте Microsoft.

Вроде и не программа, а нужная фича о которой надо было написать - может это и неинтересно.

Спасибо за прочтение.

Подписывайтесь в наше Сообщество для того, чтобы не пропустить что-то интересное.

 

vc_redist - program, but rather a package that is often found in the distribution of any program. Designed for installation of runtime components that are required to run C++ applications.

 

I recently wrote an article that, just need this package

http://regedit.su/silent-install-application/70-o/824-silent-install-obsstudio

Maybe someone will need it for other applications.

To view the keys silent install vcredist use the -

/?

Keys silent install vcredist -

/install - installs the program

/repair - Repair the installation of the program

/uninstall - uninstall a program

/layout - Create a complete copy of the package in the directory

/passive - Displays minimal UI with the installation of

/quiet - Quiet installation without any UI

Consider the example of a silent install vcredist if it is on the server APPSOFT in the folder VCREDIST

start /wait \\APPSOFT\VCREDIST\vcredist_x64.exe /install /quiet

For example, had taken the package for 64-bit Windows for 32-bit version of Windows available on the Microsoft website.

And not like a program, and need a feature which had to write - maybe that's uninteresting.

Thank you for reading.

Subscribe to our Community in order not to miss something interesting.

regedit.su