Как узнать, какой распространяемый C++ включить в установщик InstallShield?

У меня есть приложение C#, использующее библиотеку DLL C++, которую я написал. C++ DLL компилируется с использованием набора инструментов v120 (Visual Studio 2013). Какие распространяемые компоненты мне нужно включить в программу установки InstallShield, чтобы эта функция работала?

Для распространяемого пакета VS2013 нет варианта, только различные пакеты VS2012 и два для VS2015.

Несколько вариантов (бесполезно названных): http://imgur.com/VuDNdNt


person Nick Sephton    schedule 14.10.2015    source источник
comment
Вам нужно то, что включает MSVCR120.dll. Вы можете просто включить эту DLL в свою программу в папку установки, а не использовать распространяемый установщик. РЕДАКТИРОВАТЬ: Чтобы быть в безопасности, используйте все файлы msvc*120*.dll, хотя вы, вероятно, можете пропустить те, где часть без расширения заканчивается на d; они предназначены для отладки, и вы, надеюсь, скомпилировали для выпуска.   -  person CBHacking    schedule 14.10.2015
comment
Вы можете и должны пропустить те, которые заканчиваются на D. Отладочные библиотеки DLL не лицензированы для распространения.   -  person MSalters    schedule 14.10.2015
comment
Большое спасибо за Ваш ответ! Я знаю, что мне нужен этот набор DLL, однако параметры в конфигурации InstallShield не предлагают никаких параметров по номеру набора инструментов, а также никаких параметров с именем VS2013 или подобных. Несколько возможных вариантов, с которыми я столкнулся, показаны на этом снимке экрана: imgur.com/VuDNdNt   -  person Nick Sephton    schedule 14.10.2015
comment
Вы пытались вручную установить распространяемый пакет на свой компьютер и посмотреть, появится ли он в диалоговом окне?   -  person MikeMB    schedule 14.10.2015
comment
Установка какого дистрибутива? В том-то и проблема, что не знаю какую поставить.   -  person Nick Sephton    schedule 14.10.2015
comment
@CBHacking Пожалуйста, не предлагайте действия, предпринятые наугад без знания.   -  person David Heffernan    schedule 23.12.2015


Ответы (3)


Вам необходимо получить необходимый распространяемый компонент из установленного VS2013 (C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\1033). Затем в InstallShield нужно выполнить пользовательскую команду (redistr_exe с параметрами /q /norestart)

person dE fENDER    schedule 12.11.2015

Есть простой способ рассказать об этом. Добавьте библиотеки DLL, которые включены в распространяемые файлы С++, и вместо этого автоматически будут добавлены модули слияния.

person Bill    schedule 20.11.2015

Добавьте следующий файл (x86).prq распространяемого компонента Visual C++ 2013 в путь установки Installshield. У меня это (C:\Program Files (x86)\InstallShield\2015LE\SetupPrerequisites). http://pastebin.com/Yu5DM0kJ

После этого откройте проект Installshield, в распространяемых файлах вы увидите Visual C++ 2013 x86. Вы можете сделать то же самое, чтобы добавить x64.

person null1941    schedule 23.12.2015