Собственно проблемма:
Некая организация (П) по заказу написала программу. Передала заказчику. И тут начались танцы.
Программа запускается и работает на машине с Win x64 (7про). при этом устанавливается в каталог Program files(x86), в процессах видится как программа *32.
Однако на машине с Win x86 (ХР и 7про) или не запускается ( под XP кричит, что это не приложение win32) илм запускается ( под х32 Win7 про), но свои функции не выполняет.
Т.к. я далеко не программист, то мне казалось, что правильно было бы — наоборот.
Производитель же на претензии заявляет — запускайте только под х64.
Это новое веяние — разрабатывать программы *32 так, чтобы они работали только под х64? Или это чьи-то ручки?
Как сейчас общепринято — делать относительно простую программу только под х64 или все-таки работать под конечного пользователя, у которого ( бюджетная организация) наиболее вероятно х86?
Собственно, проблемма в том, что я, как пользователь пытаюсь доказать, что это программа написана криво, а производитель — пытается мне указать, ято я должен обязательно покупать х64 и под ней работать.
Какие ваши мнения — кто прав и что делать?
дополнение:
Как выяснилось, никакого ТЗ в том виде, как здесь говорили — не было в принципе. Было просто написано (упрощенно) "программа должна отображать данные".
Дальше еще интереснее — первоначальный исполнитель (субподрядчик, утвержденный в проекте) то ли не справился, то ли еще как, но исполнитель программной части был заменен. Причем без всяких актов, документов и прочего. Новый исполнитель поставил свою программу по принципу "я как вижу, так пишу".
Заказчик, не имея на тот момент более-менее грамотных специалистов в этой области, "проглотил" (или как-то по другому, не берусь гадать).
Вот и имеем — вообще никак не обоснованная программа и голословные требования от исполнителя ( на уровне "мамой клянусь").
Поэтому что-то по человечески требовать от исполнителя — это только терять время.
А хз на чём программа сделана. Вроде программы, написанные в новых Студиях, не работают под хрюшей. И заставить Студию собирать екзешник, работающий под хрюшей, очень тяжело.
Скрытый текст
Как одна из причин, почему я упёрто сижу на ++03
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, valenok, Вы писали:
V>Собственно, проблемма в том, что я, как пользователь пытаюсь доказать, что это программа написана криво, а производитель — пытается мне указать, ято я должен обязательно покупать х64 и под ней работать. V>Какие ваши мнения — кто прав и что делать?
V>Какие ваши мнения — кто прав и что делать?
1. Было ли в договорных доках прописано, какой разрядности должна быть прога?
Или должны быть в доках сформулированы требования к аппаратуре и программной совместимости.
2. На чем написана прога и в какой среде разрабатывалась?
Потому как причин аномального поведения может быть миллион и маленькая тележка...
3. Разработчик может что-то там требовать только на основании того, что записано в договорных доках.
Иначе пусть идет лесом.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
V>Собственно проблемма: V>Некая организация (П) по заказу написала программу. Передала заказчику. И тут начались танцы.
... V>Собственно, проблемма в том, что я, как пользователь пытаюсь доказать, что это программа написана криво, а производитель — пытается мне указать, ято я должен обязательно покупать х64 и под ней работать. V>Какие ваши мнения — кто прав и что делать?
В заказе было указано, под какую платформу программа?
Если не было — это недочёт составителя заказа и решить ситуацию можно только переговорами по обоюдному согласию.
Если было — то смотреть, что там написано. И, заодно, смотреть в методику приёмки (она же в договоре описана, правда?)
Увы, договор может и существует в природе — но мне никак не доступен. Программа была поставлена год назад и благополоучно "стояла", пока вот меня не кинули на нее ( я конечный пользователь, пытаюсь запустить на машинах организации). Организация — бюджетники, и вообще с договором мутная история. Вот я и стал разбираться с производителем. Концов сейчас конечно не найти, поэтому давлю на здравый смысл. Все-таки ну вот никак не могу понять — есть программа видится как х32, то какого ... нужно заявлять, что она работает только под х64.
Написана на(с применением) платформы QT — не знаком с этим зверем, потому не могу сказать чего оно и как.
Здравствуйте, valenok, Вы писали:
V>Увы, договор может и существует в природе — но мне никак не доступен. Программа была поставлена год назад и благополоучно "стояла", пока вот меня не кинули на нее ( я конечный пользователь, пытаюсь запустить на машинах организации). Организация — бюджетники, и вообще с договором мутная история. Вот я и стал разбираться с производителем. Концов сейчас конечно не найти, поэтому давлю на здравый смысл. Все-таки ну вот никак не могу понять — есть программа видится как х32, то какого ... нужно заявлять, что она работает только под х64. V>Написана на(с применением) платформы QT — не знаком с этим зверем, потому не могу сказать чего оно и как.
Почему не работает под Win7x86? В чем это заключается? Возможно пытается использовать более 3GB памяти?
Здравствуйте, valenok, Вы писали:
V>Собственно, проблемма в том, что я, как пользователь пытаюсь доказать, что это программа написана криво, а производитель — пытается мне указать, ято я должен обязательно покупать х64 и под ней работать.
Такие вещи (требования программы к платформе) должны быть оговорены в Т.З.
Здравствуйте, valenok, Вы писали:
V>Если разместил не по адресу, прошу указать куда.
V>Собственно проблемма: V>Некая организация (П) по заказу написала программу. Передала заказчику. И тут начались танцы. V>Программа запускается и работает на машине с Win x64 ( 7 про). при этом устанавливается в каталог Program files(x86), в процессах видится как программа *32.
Это создаёт вам какие-то проблемы? Какая разница, куда оно устанавливается и что там пишется в диспетчере задач?
V>Однако на машине с Win x86 ( ХР и 7 про ) или не запускается ( под XP кричит, что это не приложение win32) илм запускается ( под х32 Win7 про), но свои функции не выполняет.
Раз производитель настаивает на том, что программа должна запускаться под x64, значит так и надо делать.
V>Т.к. я далеко не программист, то мне казалось, что правильно было бы — наоборот. V>Производитель же на претензии заявляет — запускайте только под х64. V>Это новое веяние — разрабатывать программы *32 так, чтобы они работали только под х64? Или это чьи-то ручки? V>Как сейчас общепринято — делать относительно простую программу только под х64 или все-таки работать под конечного пользователя, у которого ( бюджетная организация) наиболее вероятно х86?
На мой взгляд сегодня x86 это мёртвая архитектура. Единственное разумное применение, которое я видел — ставить 32-битный линукс на виртуальную машину с очень малым объёмом памяти (128MB например). Последние лет 10 наверное все процессоры поддерживают 64 бита. Если вашей бюджетной организации нужна поддержка древних архитектур — x86 или 386 или 8086 или PDP/11, такие вещи стоит отдельно оговаривать.
V>Собственно, проблемма в том, что я, как пользователь пытаюсь доказать, что это программа написана криво, а производитель — пытается мне указать, ято я должен обязательно покупать х64 и под ней работать.
V>Какие ваши мнения — кто прав и что делать?
Прав производитель. Он ориентируется на реалии сегодняшнего дня, а не прошлого века.
Здравствуйте, valenok, Вы писали:
V>Увы, договор может и существует в природе — но мне никак не доступен. Программа была поставлена год назад и благополоучно "стояла", пока вот меня не кинули на нее ( я конечный пользователь, пытаюсь запустить на машинах организации). Организация — бюджетники, и вообще с договором мутная история. Вот я и стал разбираться с производителем. Концов сейчас конечно не найти, поэтому давлю на здравый смысл. Все-таки ну вот никак не могу понять — есть программа видится как х32, то какого ... нужно заявлять, что она работает только под х64.
Наиболее вероятно, что у программы есть и 32-битные компенениы и 64-битные. Понятно, что при таком раскладе она работать в x86 не может.
А что ставится в Program files(x86) — так это не критерий, имея достаточно кривые руки можно сделать, чтобы она ставилась куда угодно.
По поводу того, что делать, я вижу три подхода.
Подход 1, "программерский"
Попробовать самому выяснить, что именно и почему не работает в x86.
Можно, например, пройтись по всем exe и dll и посмотреть, для какой они платформы скомпилированы (см, например, http://superuser.com/questions/103071/quick-way-to-tell-if-an-installed-application-is-64-bit-or-32-bit).
Если всё 32-битное, то есть шанс, что программе не хватает каких-то библиотек (можно посмотреть через process monitor от sysinternals).
Ну и при попытках запуска не забывать смотреть в event log, там может быть наводящая информация.
Может и у самой программы свои логи есть.
Подход 2, "менеджерский"
Поговорить с разработчиком по человечески, без наездов и узнать, по какой причине программа может не работать в x86.
Если он прямо скажет, что там есть какие-то заточки под x64, то спросить, какие, сколько их и сколько будет стоить адаптация под x64.
С этим можно идти к начальству и поставить перед фактом того, что в текущей ситуации программа работать не будет и предложить менять платформу или заказывать доработку.
Кроме того, я бы постарался всё-таки глянуть на договор. Наверняка он у кого-то лежит.
Подход 3, "IT-шный"
Ну и третий способ — не парится, а поставить x64. Лицензия на Windows, как я понимаю, должна продолжить действовать.
Здравствуйте, valenok, Вы писали:
V>Концов сейчас конечно не найти, поэтому давлю на здравый смысл.
Если нет ТЗ/договора, или там не прописаны необходимые требования, а работа принята, то давить бессмысленно и вредно, можно только попробовать договориться полюбовно. V>Все-таки ну вот никак не могу понять — есть программа видится как х32, то какого ... нужно заявлять, что она работает только под х64.
Она может использовать какие-то системные компоненты, доступные только на x64. А чтобы понять, надо хотя бы в ProcessMonitor посмотреть, что происходит.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Полезно иметь в виду, что 32-битная программа в общем случае не может корректно работать в Win64. И даже речь не про более-менее хакерские техники, типа внедрения в системные кишки, а про элементарный Shell API (ссылки на конкрентые вопросы-ответы на SO сознательно не даю, но они есть). Будете заключать договор в следующий раз — просите две отдельные сборки, вменяемым разработчикам это труда не составит и можно договориться о небольшой фиксированной доплате.
Здравствуйте, vsb, Вы писали:
vsb>Это создаёт вам какие-то проблемы? Какая разница, куда оно устанавливается и что там пишется в диспетчере задач?
Не работает на установленных в организации компьютерах? Переставлять на них систему не предлагать, тогда отвалится то, что на них сейчас работает.
vsb>Раз производитель настаивает на том, что программа должна запускаться под x64, значит так и надо делать.
А если производитель потребует каждый месяц приносить в жертву девственницу — так и надо делать?
vsb>На мой взгляд сегодня x86 это мёртвая архитектура.
Почему мёртвая, если она реально работает? Процессоры может и поддерживают x64, но кривой софт (то есть большая его часть) вполне может на ней для тех же нужд требовать вдвое больше памяти. А ставить винду x64 чтобы пускать под ней софт в режиме эмуляции — тонкое извращение.
vsb>Если вашей бюджетной организации нужна поддержка древних архитектур — x86 или 386 или 8086 или PDP/11, такие вещи стоит отдельно оговаривать.
Вы слышали о многих архитектурах Но Вы таки правы, требования к софту нужно заранее оговаривать, и теперь выбить доработки уже не реально. Однако, как я понял, основное сейчас — понять степень вменяемости разработчика, дабы осознать можно ли с ним дальше работать. И вот тут возникают серьёзные сомнения.
vsb>Прав производитель. Он ориентируется на реалии сегодняшнего дня, а не прошлого века.
Не факт. С ним работали по джентельменской договорённости, что он сделает по-человечески. Это распространённый сценарий в конторах (у топикстартера — бюджетники), которые не специализируются на разработке софта, а заказывают его для себя и не часто. Ну как к сантехникам, когда протечёт. И если, пользуясь доверием, пейсатели сделали каку, а когда не заработало — начали быковать, типа а где записано, что оно должно ваще работать, то с ними как минимум надо разорвать отношения и оповестить об этом своих коллег.
Главное я выяснил — сделать программу с таким поведением- обычное дело среди некоторых программеров.
Теперь, конечно, с разработчиками я попытаюсь говорить уже с позиции документов (если найду).
А вообще, было очень интересно, узнал много нового ( например, что х86 — мертвое, а у нас в организации даже есть мониторы с ЭЛТ и системник с памятью 500м.)
Когда-то давно писал я для себя разные утилитки. И обязательно — никогда не использовал последние версии библиотек, дабы не получить похожую ситуацию.
Ну, теперь буду знать, чего ждать от разработчиков.
Здравствуйте, 0BD11A0D, Вы писали:
BDA>Здравствуйте, valenok, Вы писали:
BDA>Полезно иметь в виду, что 32-битная программа в общем случае не может корректно работать в Win64. И даже речь не про более-менее хакерские техники, типа внедрения в системные кишки, а про элементарный Shell API (ссылки на конкрентые вопросы-ответы на SO сознательно не даю, но они есть). Будете заключать договор в следующий раз — просите две отдельные сборки, вменяемым разработчикам это труда не составит и можно договориться о небольшой фиксированной доплате.
Ну, мне конечно попадались пара программ, которые не захотели работать под ч64, но, признаться, не думал, что это "правильное" явление.
Увы, я никогда не буду участвовать в заключении договоров, потому как приглашают меня всегда как раз на разбор того, что "назаключают".
Здравствуйте, T4r4sB, Вы писали: TB>А хз на чём программа сделана. Вроде программы, написанные в новых Студиях, не работают под хрюшей. И заставить Студию собирать екзешник, работающий под хрюшей, очень тяжело. TB>
Скрытый текст
TB>Как одна из причин, почему я упёрто сижу на ++03
Хм, у меня VS2012 (и Express и про) нормально собирают — работает и под ХР, и под Win7 — х64, и х86, без косяков, как заявлено. Наверное это от того, что я не программист, а так, любитель.
LVV>>3. Разработчик может что-то там требовать только на основании того, что записано в договорных доках. LVV>>Иначе пусть идет лесом. G>Все не распишешь.
Не работали вы с военными...
Те именно все расписывают.
А если выясняется, что не все, так расписывается протокол согласования разногласий...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, valenok, Вы писали:
V>Написана на(с применением) платформы QT — не знаком с этим зверем, потому не могу сказать чего оно и как.
А я вот прекрасно знаком, это ещё нужно очень сильно специально постараться, чтобы используя кроссплатформенное ПО сделать такую несовместимость. Посмотрите какие зависимости использует приложение с помощью Dependency Walker (http://rsdn.ru/forum/cpp.qt/4546978.hot