Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Есть проект где используются Microsoft Visual C++ Runtime Libraryes 2012 года. Каждый раз при установке программы запускать инсталлер Microsoft Visual C++ Runtime Libraryes довольно не приятная процедура, так как большинство пользователей не понимают что это и зачем. Можно ли программно определить есть ли на компьютере данные библиотеки и если есть, то какой они версии? (Для создания инсталятора использую INNO Setup, если это важно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 14:46 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
HellFighterКаждый раз при установке программы запускать инсталлер Microsoft Visual C++ Runtime Libraryes довольно не приятная процедура, так как большинство пользователей не понимают что это и зачем. А зачем ты заставляешь их запускать его руками? Сам в режиме /SILENT этого сделать не умеешь?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 15:14 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
HellFighter, Можно загрузить библиотеку, загрузить из неё ресурс типа VERSION_INFO и оттуда взять версию библиотеки. Подробности в MSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 16:15 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Затем, что её установка происходит оооочень долго, а когда программа установки что-то очень долго делает в конце установки некоторые пользователи пугаются и закрывают установку (прога рассчитана в том числе на пользователей не имеющих глубоких познаний в компьютере). Хотя я обдумываю данный вариант в виде решения. А что будет выбрано из Remove / Repair / Cancel при тихой установке? MasterZiv, MasterZivHellFighter, Можно загрузить библиотеку, загрузить из неё ресурс типа VERSION_INFO и оттуда взять версию библиотеки. Подробности в MSDN. Если я правильно понимаю, то Вы описали способ получения версии из инсталятора. Если это так, то проблема в получении версии установленного набора библиотек. Если я ошибся, то можно по подробнее на тему "загрузить библиотеку" для локально установленного дистрибутива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 16:30 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Runtime обычным копированием "устанавливается". Просто положи нужные DLL-ки рядом со своим EXE. Какие нужны вычисли копированием своей проги на голую винду. Запускай, будет сообщение выскакивать что надо такую-то DLL, и подкладывай пока не заработает. Потом все что доложил копируй к пользователю на комп. PS Если наворотов при инсталяции не надо, то WinRAR отличный инсталятор. И прав админских не надо для установки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 17:17 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima T, Навороты при инсталяции нужны. Ну тоже вариант, но очень уш запарный. Думаю хорошей альтернативой копированию файлов по очереди стало бы использование проги Depends, если я правильно понимаю её принцип действия, но я пока с ней не совсем разобрался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 17:25 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
HellFighterЕсли я правильно понимаю, то Вы описали способ получения версии из инсталятора. Если я ошибся, то можно по подробнее на тему "загрузить библиотеку" для локально установленного дистрибутива? Без инсталятора. Без каких-либо дистрибутивов. LoadLibrary LoadResource http://msdn.microsoft.com/en-us/library/windows/desktop/ms648008(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 18:35 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima TRuntime обычным копированием "устанавливается". Просто положи нужные DLL-ки рядом со своим EXE. Какие нужны вычисли копированием своей проги на голую винду. Запускай, будет сообщение выскакивать что надо такую-то DLL, и подкладывай пока не заработает. Потом все что доложил копируй к пользователю на комп. Это всё здорово, но только в конце концов кончается обычно плохо. В системе обычно есть CRT и хорошо, если оно нужной версии. А вот если другой, да потом запускают программу не из того каталога, тут и начинается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 18:37 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivА вот если другой, да потом запускают программу не из того каталога, тут и начинается... Оно обычно начинается даже если запускают программу из того каталога, поскольку С++ рантайм требует манифестов и прочей дребедени. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:02 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivА вот если другой, да потом запускают программу не из того каталога, тут и начинается... Если верить Рихтеру то сначала DLL ищется там где живет EXE. Если судить по близкому мне фоксу, то так оно и есть. Там с рантаймом все гораздо хуже, если в систему залит от версии *.0 то бывают нездоровые глюки на ровном месте. Поэтому кладу рантайм только в папку с EXE, проблем нет, мой EXE всегда исполняется нужным мне рантаймом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:15 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivБез инсталятора. Без каких-либо дистрибутивов. LoadLibrary LoadResource Если нет вообще рантайма нужного? Как скомпилировать EXE который сделает LoadLibrary() ? При старте EXE рантайм будет искать, если не найдет - не запустится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:25 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMasterZivА вот если другой, да потом запускают программу не из того каталога, тут и начинается... Оно обычно начинается даже если запускают программу из того каталога, поскольку С++ рантайм требует манифестов и прочей дребедени. Не всегда. Только в определённый период развития оного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:30 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima TMasterZivБез инсталятора. Без каких-либо дистрибутивов. LoadLibrary LoadResource Если нет вообще рантайма нужного? Как скомпилировать EXE который сделает LoadLibrary() ? При старте EXE рантайм будет искать, если не найдет - не запустится. А зачем тебе CRT для этого ? Пиши без CRT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:30 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivТолько в определённый период развития оного. Ну да, у 2012-й студии может это и пофиксили (по крайней мере обещали), а вот сборки на 2005-2008 простым подкладыванием DLL-ек было не запустить. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:32 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivDima Tпропущено... Если нет вообще рантайма нужного? Как скомпилировать EXE который сделает LoadLibrary() ? При старте EXE рантайм будет искать, если не найдет - не запустится. А зачем тебе CRT для этого ? Пиши без CRT. Научи как. Я пытался обойтись без него, не пользовал никаких Сишных функций, т.к. мне только printf() нужен и то без него проживу, но компилятор все равно рантайм включает в загрузку DLL. Сморишь Far`ом - рантайм загружен в твоем процессе. Вот откомпилировал в 2012 студии такой код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Забросил на комп без рантайма - не запускается. Требует msvcr110.dll far показываетModules: Base Size Path (version info is not displayed) 01170000 6000 T:\VC\TestVC\Release\TestVC.exe 77480000 180000 C:\Windows\SysWOW64\ntdll.dll 769C0000 110000 C:\Windows\syswow64\kernel32.dll 76590000 47000 C:\Windows\syswow64\KERNELBASE.dll 74420000 D2000 C:\Windows\system32\MSVCR110.dll Насколько я понимаю, эта строчка Код: plaintext 1. требует наличия рантайма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 19:53 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima T, ОК, если тебе так нужен рантайм (хотя здесь вроде бы причин для того нет), собирай со СТАТИЧЕСКИМ рантаймом (.lib). Собирай в RELEASE режиме. Собирай без доп. проверок в рантайме, я не знаю точно, но думаю, их можно отключить. Т.е. вариантов много. Также реализация своего sprintf есть в Win32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 20:00 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima TC:\Windows\system32\MSVCR110.dll Мнда... Это, вообще-то С рантайм, а в сабже - С++ рантайм. Это как бэ две большие разницы... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 20:11 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivDima T, ОК, если тебе так нужен рантайм (хотя здесь вроде бы причин для того нет) Мне он не нужен, но избавится от него я не могу. Может не умею. Я не профи вот и прошу подсказать как без него сделать EXE. В свое время я мозг сломал чтоб эту проблему решить, но она не решаема как мне кажется. MasterZiv собирай со СТАТИЧЕСКИМ рантаймом (.lib). Подскажи где настроить или ссылку дай где почитать как это сделать. MasterZivСобирай в RELEASE режиме. Собирай без доп. проверок в рантайме, я не знаю точно, но думаю, их можно отключить. Т.е. вариантов много. Дай хоть один пример проекта EXE (не требующего рантайм) выполняющего одну строку Код: plaintext 1. Дальше я сам разберусь. PS Я не глумлюсь и не троллю. Мне это реально надо. как уже писал VC мне надо только для оберток над WinAPI из-за ограничений фокса. У меня несколько тысяч пользователей, автообновление проги, и если после него даже всего у сотни выскочит что не найдена какая-то DLL то это будет большая .опа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 20:21 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima TЯ не глумлюсь и не троллю. Тупишь: http://msdn.microsoft.com/en-us/library/2kzt1wy3(v=vs.100).aspx Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 20:29 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDima TЯ не глумлюсь и не троллю. Тупишь: http://msdn.microsoft.com/en-us/library/2kzt1wy3(v=vs.100).aspx Туплю. На VC6 сижу до сих пор. Спасибо. /MT помогло с EXE из Sleep(). Работает без доп. DLL (MSVCR110.dll). Буду с DLL-проектами пробовать. Потестил: в VC6 (проект Win32 console) релиз никаких рантаймов не грузит для такой проги, даже без /MT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 20:58 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dima TНа VC6 сижу до сих пор. Тогда что у тебя там делает рантайм от VC2012? У VC6 эта DLL называется msvcr60.dll. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 21:03 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDima TНа VC6 сижу до сих пор. Тогда что у тебя там делает рантайм от VC2012? У VC6 эта DLL называется msvcr60.dll. 2012 тоже есть. Поставил пока для тестов. Работающий софт на VC6 собран. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 21:12 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
Хочу сказать Спасибо всем критиковавшим на мои домыслы. В очередной раз понял что самопридуманные выводы надо иногда пересматривать, а не воспринимать как аксиомы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 21:23 |
|
||
|
Как узнать установлены ли Microsoft Visual C++ Runtime Libraryes?
|
|||
|---|---|---|---|
|
#18+
MasterZivHellFighterЕсли я правильно понимаю, то Вы описали способ получения версии из инсталятора. Если я ошибся, то можно по подробнее на тему "загрузить библиотеку" для локально установленного дистрибутива? Без инсталятора. Без каких-либо дистрибутивов. LoadLibrary LoadResource http://msdn.microsoft.com/en-us/library/windows/desktop/ms648008(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx Ну да, я так понимаю это всё не сложно сделать, если точно знаешь что использует твоя прога. В принципе, если знать что используется, то я думаю есть достаточно много вариантов проверки наличия и версии. Тогда я не верно зада вопрос. Как узнать что использует твоё приложение? Копированием недостающих библиотек по очереди это как-то не айс. Знаю прогу Depends, но как-то пытался скопировать всё необходимое используя её - ничего не получилось. Какие ещё есть способы определения используемых приложением DLL? (Видел тут про Far писали, но в нём такого не наблюдал ни разу) ЗЫ: Это всё нужно для DLL COM-сервера, отвечающего за расширение контекстного меню в Shell. Бог его знает что он там вообще подгружает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 12:32 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38438975&tid=2019903]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 280ms |

| 0 / 0 |
