Гость
Форумы / C++ [игнор отключен] [закрыт для гостей] / MSVC: vcredist_x** и битность ОС/приложения / 15 сообщений из 15, страница 1 из 1
12.08.2021, 14:16
    #40090316
petrav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
vcredist.exe поставляется в двух вариантах: x86 и x64.

Вопрос: какую версию ставить? Это зависит от размерности ОС или размерности целевого приложения?

PS: Да, это смешной вопрос.
...
Рейтинг: 0 / 0
12.08.2021, 14:19
    #40090319
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
От размерности целевого приложения.
...
Рейтинг: 0 / 0
12.08.2021, 15:53
    #40090356
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Ставьте обе разрядности.
Задача сисадминская и решать её надо соответственно.
...
Рейтинг: 0 / 0
12.08.2021, 20:10
    #40090411
petrav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Забавно я всегда считал, что это зависит от битности ОС. Т.е. я думал, что vcredist_x64.exe
проинсталлирует библиотеки обоих версий. Но тут пришлось писать документацию и меня
начали терзать смутные сомнения…

PS: Всем спасибо.
...
Рейтинг: 0 / 0
17.08.2021, 12:03
    #40091166
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
petrav, рассуди логически - если динамическая библиотека времени исполнения с исполняемым кодом загружается в адресное пространство процесса и становится частью исполняемого бинарного образа приложения, то какую разрядность должен иметь код этой библиотеки?
...
Рейтинг: 0 / 0
17.08.2021, 12:34
    #40091174
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Рассуждая не менее логично, легко прийти к выводу, что 64-разрядный установщик должен устанавливать обе разрядности рантайма.
...
Рейтинг: 0 / 0
17.08.2021, 12:44
    #40091180
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Basil A. Sidorov, зачем?
Само название "vcredist", как бы намекает, что это "Visual C Redistributable", а следовательно должен поставляться вместе с приложением соответствующей разрядности.
...
Рейтинг: 0 / 0
17.08.2021, 13:01
    #40091187
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
С приложениями оно таскается ровно по одной идиотской причине: разработчик не удосужился сообщить о зависимостях своего софта и корректно проверить их наличие.
Сами рантаймы устанавливаются на системном уровне и, по логике, в 64-разрядной системе, они должны обслуживать (под)системы обоих разрядностей. Плюс, 32-разрядная часть для 64-разрядных систем может собираться с несколько более другими опциями оптимизации.

P.S.
Логика - оружие обоюдоострое и правильности выводов оно не гарантирует. Только корректность рассуждений.
...
Рейтинг: 0 / 0
17.08.2021, 13:18
    #40091192
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Basil A. Sidorovразработчик не удосужился сообщить о зависимостях своего софта и корректно проверить их
наличие.

В отличии от линукса в винде нет системы пакетов с автоматической установкой зависимостей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.08.2021, 13:56
    #40091215
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Dimitry Sibiryakov
нет системы пакетов
... а msi, который всё это умеет - есть.

P.S.
Единственное, чего я до сих пор так и не могу понять - задлянафига оборачивать msi в exe-обёртку и всячески затруднять "прямой запуск".
...
Рейтинг: 0 / 0
17.08.2021, 15:13
    #40091249
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Basil A. Sidorov
С приложениями оно таскается ровно по одной идиотской причине: разработчик не удосужился сообщить о зависимостях своего софта и корректно проверить их наличие.
Сами рантаймы устанавливаются на системном уровне и, по логике, в 64-разрядной системе, они должны обслуживать (под)системы обоих разрядностей. Плюс, 32-разрядная часть для 64-разрядных систем может собираться с несколько более другими опциями оптимизации.

P.S.
Логика - оружие обоюдоострое и правильности выводов оно не гарантирует. Только корректность рассуждений.
Поверь, не всё так однозначно!
В венде есть подсистема под названием side-by-side, данные которой хранятся в каталоге "%WinDir%\WinSxS". Предполагается, что каждое отлаженное с конкретным набором RTL приложение должно не только таскать с собой в установщике этот самый набор RTL (который и запихнут в дистрибутив vcredist), но и хранить в ресурсах приложухи некий mandatory файл, по которому венда будет определять какие именно версии библиотек нужны исполняемому файлу. Когда приложуха запускается, венда подсовывает ей соответствующие RTL из подсистемы side-by-side в соответствии с мандатом. Причём разные приложения могут быть отлажены с разными версиями одноимённых библиотек и, соответственно, подсовываться приложухам будут разные версии одноимённых библиотек. Ну, это в идеале...
...
Рейтинг: 0 / 0
17.08.2021, 15:54
    #40091263
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
rdb_dev
В венде есть подсистема под названием side-by-side
Я в курсе, но даже до мелкомягких дошло, что в реальной жизни это не работает и на системном уровне рантайм должен быть "по возможности один".

P.S.
Именно для "рядом с приложением" установщик вообще не требуется.
А для системного уровня "бок о бок" - идиотия.
...
Рейтинг: 0 / 0
17.08.2021, 16:02
    #40091266
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Basil A. Sidorov, тем не менее, библиотеки из vcredist запихиваются именно в подсистему side-by-side.

[upd] На системном уровне эта подсистема не работает и модули драйверов просто хранятся в "%WinDir%\system32". У них своя подсистема с версиями...
...
Рейтинг: 0 / 0
17.08.2021, 16:10
    #40091267
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Дьявол, как обычно - в мелочах
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
> dir/b/s %SystemRoot%\msvc?140*
C:\Windows\SYMBOLS\msvcp140.amd64.pdb\5A1F87551B95443E8D1607B935D5DA271\msvcp140.amd64.pdb
C:\Windows\System32\msvcp140.dll
C:\Windows\System32\msvcp140_1.dll
C:\Windows\System32\msvcp140_2.dll
C:\Windows\System32\msvcp140_atomic_wait.dll
C:\Windows\System32\msvcp140_clr0400.dll
C:\Windows\System32\msvcp140_codecvt_ids.dll
C:\Windows\SysWOW64\msvcp140.dll
C:\Windows\SysWOW64\msvcp140_1.dll
C:\Windows\SysWOW64\msvcp140_2.dll
C:\Windows\SysWOW64\msvcp140_atomic_wait.dll
C:\Windows\SysWOW64\msvcp140_clr0400.dll
C:\Windows\SysWOW64\msvcp140_codecvt_ids.dll

P.S.
тоже уточню
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
> dir/b/s %SystemRoot%\msvc??0*
C:\Windows\SYMBOLS\msvcp100.amd64.pdb
C:\Windows\SYMBOLS\msvcp100.dll
C:\Windows\SYMBOLS\msvcr100.amd64.pdb
C:\Windows\SYMBOLS\msvcr100.dll
C:\Windows\SYMBOLS\msvcp100.amd64.pdb\32F89D1B58A0421B9423A6BC4C3D4A971\msvcp100.amd64.pdb
C:\Windows\SYMBOLS\msvcp100.amd64.pdb\FAE62411E45D4218AB9761C4E55F64791\msvcp100.amd64.pdb
C:\Windows\SYMBOLS\msvcp100.dll\4D5F035C98000\msvcp100.dll
C:\Windows\SYMBOLS\msvcp100.dll\4DF2BCC298000\msvcp100.dll
C:\Windows\SYMBOLS\msvcr100.amd64.pdb\25656EC1175043B696D893AEA9E1984B1\msvcr100.amd64.pdb
C:\Windows\SYMBOLS\msvcr100.amd64.pdb\C3FA8E4D9F7244A38682BB5BCB2DA4101\msvcr100.amd64.pdb
C:\Windows\SYMBOLS\msvcr100.dll\4D5F034Ad2000\msvcr100.dll
C:\Windows\SYMBOLS\msvcr100.dll\4df2bcacd2000\msvcr100.dll
C:\Windows\System32\msvcp100.dll
C:\Windows\System32\msvcp60.dll
C:\Windows\System32\msvcr100.dll
C:\Windows\System32\msvcr100_clr0400.dll
C:\Windows\SysWOW64\msvcp100.dll
C:\Windows\SysWOW64\msvcp60.dll
C:\Windows\SysWOW64\msvcr100.dll
C:\Windows\SysWOW64\msvcr100_clr0400.dll
C:\Windows\winsxs\amd64_microsoft-windows-msvcp60_31bf3856ad364e35_6.1.7600.16385_none_9e968637cb108946\msvcp60.dll
C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_88df89932faf0bf6\msvcm80.dll
C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_88df89932faf0bf6\msvcp80.dll
C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_88df89932faf0bf6\msvcr80.dll
C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_88e41e092fab0294\msvcm80.dll
C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_88e41e092fab0294\msvcp80.dll
C:\Windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_88e41e092fab0294\msvcr80.dll
C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_08e4299fa83d7e3c\msvcm90.dll
C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_08e4299fa83d7e3c\msvcp90.dll
C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_08e4299fa83d7e3c\msvcr90.dll
C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_08e61857a83bc251\msvcm90.dll
C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_08e61857a83bc251\msvcp90.dll
C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_08e61857a83bc251\msvcr90.dll
C:\Windows\winsxs\x86_microsoft-windows-msvcp60_31bf3856ad364e35_6.1.7600.16385_none_4277eab412b31810\msvcp60.dll
C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_d08cc06a442b34fc\msvcm80.dll
C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_d08cc06a442b34fc\msvcp80.dll
C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_d08cc06a442b34fc\msvcr80.dll
C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\msvcm80.dll
C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\msvcp80.dll
C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\msvcr80.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_e163563597edeada\msvcm90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_e163563597edeada\msvcp90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_e163563597edeada\msvcr90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\msvcm90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\msvcp90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\msvcr90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcm90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll
...
Рейтинг: 0 / 0
17.08.2021, 18:00
    #40091308
petrav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSVC: vcredist_x** и битность ОС/приложения
Basil A. Sidorov

Сами рантаймы устанавливаются на системном уровне и, по логике, в 64-разрядной системе, они должны обслуживать (под)системы обоих разрядностей. Плюс, 32-разрядная часть для 64-разрядных систем может собираться с несколько более другими опциями оптимизации.

Угу, собственно, я всегда и воспринимал vcredist как специфическое (но по сути) обновление ОС. Поэтому мне постоянно казалось, что всё зависит от битности ОС.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / MSVC: vcredist_x** и битность ОС/приложения / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]