сначала нашел уже готовую тему, и не хотел создавать новую, но потом обнаружил что во флейме, и решил все же создать. надеюсь с разделом угадал.
например я скачал Inno Setup, запустил какой-то пример, вроде создался инсталятор.
только там нужно все файлы, которые я хочу чтобы были добавлены, прописывать "руками".
я начинал с Бэйсика, и с компилятором VB6 был упаковщик, которые кроме ехе"шки добавлял некоторые, видимо специфические, библы и сам в процессе установки их писал в систем32.
вчера пытался запустить у друга свою демку, ошибка "the application has failed to start because its side-by-side configuration is incorrect"
вот я и подумал, что мб ему просто компонентов не хватает.
а как узнать, какие библиотеки нужны приложению?
(я вот такие либы подключаю
#pragma comment(lib, "dinput8.lib")
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib") )
спасибо!
Не хватает VC redist соответствующей версии.
> The Microsoft Visual C++ 2008 Redistributable Package (x86) installs runtime components of Visual C++ Libraries required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2008 installed.
то есть я теперь все время должен это таскать с собой? на этог обречены все разработчики использующие студию?
чтобы проверить какие либы нужны пользуй dependency walker. Нет ничего плохого в том, чтобы в дистрибутив включить VC redist
dependency walker сча посмотрю (а в тотал коммандере по нажатию F3 в Dll dependency не то же самое?)
VC redist вроде включил в инсталлятор.. вечером проверю.
я так понимаю в инсталлятор включать надо только фалы типа "DINPUT8.DLL" а не юзер32?
хотя тут все длл используют другие длл и получается довольно большое дерево. я в этом не секу.
KERNEL32.DLL
USER32.DLL
GDI32.DLL
D3D9.DLL (добавил)
D3DX9_33.DLL (добавил)
DINPUT8.DLL (добавил)
MSVCR90D.DLL
mehoz
> MSVCR90D.DLL
Это случаем не debug версия?)) Если redist не включил в установку, то эту либу тоже надо добавить.
видимо дебаг. редист включил в установку.
Build -> Configuration Manager там выбрал вместо debug release
только теперь вылезло много ошибок...
а! это юникод включился..
спасибо, я что то не знал и не подумал что это дебаг версия.
D3DX9_33.DLL эта теперь не нужна, вместо ее D3DX9_40.DLL
а мне с такой версией все равно таскать редист?
MSVCR90D.DLL тоже нет вместо ее MSVCR90.DLL
mehoz
> а мне с такой версией все равно таскать редист?
VC Redist и DirectX'овские либы придётся таскать с собой.
Про редист тема уже была, можно якобы включить нужные либы в exe (в настройках линковщика), и тогда он не нужен будет, только лично у меня таки не получилось сделать "автономный" exe, т.е. без установки vc redist программа отказывала запускаться.
mehoz
> то есть я теперь все время должен это таскать с собой? на этог обречены все
> разработчики использующие студию?
У тебя есть такие варианты:
1. компилить в Release с dynamic CRT актуальной версии и распространять вместе с программой соответствующий VC redist.
2. компилить со static CRT (но это возможно не всегда) актуальной версии, тогда VC redist будет не нужен.
3. использовать старую версию CRT (6.0?), которая поставляется в комплекте с Windows XP (про более ранние версии я не в курсе).
mehoz
> D3DX9_40.DLL
На всякий случай напомню, что включать компоненты DX по-отдельности в дистрибутив - противозаконно.
то есть мне весь дх таскать с собой?
оффтоп
я только сегодня узнал что можно компилить как, release. и откомпиленная так прога дает небольшие но регулярные глюки.
её отдельно чтоби отлаживать? почему так?
mehoz
> то есть мне весь дх таскать с собой?
Положи web-setup для dx-а. Весит мало, всё нужное скачает с нета у конечного пользователя.
Crazy Hamster
я так и думал сделать.. я просто вопрос неправильно задал, в смысле дх ведь можно таскать с собой..
Тема в архиве.