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

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

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

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

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

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

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

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

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

[upd] На системном уровне эта подсистема не работает и модули драйверов просто хранятся в "%WinDir%\system32". У них своя подсистема с версиями...
...
Рейтинг: 0 / 0
MSVC: vcredist_x** и битность ОС/приложения
    #40091267
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дьявол, как обычно - в мелочах
Код: 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
MSVC: vcredist_x** и битность ОС/приложения
    #40091308
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov

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

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


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