Павлов Максим писал(а):Слуш, а если сжать экзэшник?
Павлов Максим писал(а):http://bbs.vbstreets.ru/viewtopic.php?t=18128
Смотри что Шурик писал...
Andrey Fedorov писал(а):Если файл используется в рамках одной конторы то при запуске можно просто сверять его контрольную сумму с выложенной на сервере - IMHO это самый простой вариант позволяющий избежать модификации юзерами...
alibek писал(а):Если файл выложен на сервере, почему бы его не запускать оттуда?
Andrey Fedorov писал(а):То бишь файл запускается с клиента. На клиенте все-же есть возможность его подкорректировать, а так - уже защищаемся...
alibek писал(а):Andrey Fedorov писал(а):Ну... Всегда есть возможность "подделать" сервер, на котором будет эталонная версия. Либо замаппить другой диск (или использовать subst), либо сделать отдельный сегмент сети и в нем файл-сервер с тем же именем.
Ну ка подделай \\192.168.111.115\ - посмотрм что получится... Особенно если на нем-же живет и SQL-сервер.alibek писал(а):Просто я считаю, что лучше использовать один экземпляр программы на сетевом ресурсе, а не локальные копии.
Andrey Fedorov писал(а):Ну ка подделай \\192.168.111.115\ - посмотрм что получится... Особенно если на нем-же живет и SQL-сервер.
Andrey Fedorov писал(а):Благодаря этому я уже давно не имею абсолютно никаких проблем с обновлением программы и ее компонентов (а попробуй обновить, скажем, сетевой exe-шник на котором сидит несколько десятков пользователей - их выгнать из программы просто нереально), во вторых ниже трафик сети.
А что касается пользователей, то выгнать их легко Если они как следует выдрессированы, то они умеют своевременно реагировать на административные оповещения.
alibek писал(а):Мне просто привычней обновлять один экземпляр.
alibek писал(а):Да и гибкость тут выше -- а что если тебе надо откатить версию назад?
alibek писал(а):А что касается пользователей, то выгнать их легко Если они как следует выдрессированы, то они умеют своевременно реагировать на административные оповещения.
alibek писал(а):А что касается пользователей, то выгнать их легко Если они как следует выдрессированы, то они умеют своевременно реагировать на административные оповещения.
alibek писал(а):Погоди.
Если делаешь обновление, у юзеров ведь программа не обновляется. Т.е. чтобы они стали работать с новой версией, им нужно все-равно перезапустить программу. Или она обновляется в рун-тайме?
alibek писал(а):Понял. В определенных случаях наверное удобно.
Но у нас обновления делаются нечасто, мне удобнее выгонять всех и обновлять на сервере.
alibek писал(а):Ну например, такой подход не применим на бездисковых рабочих станциях
alibek писал(а): Так же он неприменим, когда разработкой и доработкой ПО занимается другая фирма. Ну и другие случаи могут найтись, сейчас все не вспомню.
Хемуль писал(а):Дааа! Чувствуется, я за больное капнул!
VVitafresh писал(а):Andrey Fedorov, а твоя утилита копирует токлько exe'шник или и другие необходимые для проги файлы тоже?
VVitafresh писал(а):Просто у меня есть сходная задача: проект (не мой) постоянно дорабатывается, приходят новые патчи, в которых не обязательно исполняемый файл, могут быть только *.dll и SQL скрипты. Так вот мне все это дело нужно раскидывать по отделениям (ФТП связь по выделенке), не знаю как лучше автоматизировать процесс обновления клиентской части. Какие есть идеи?
Andrey Fedorov писал(а):При запуске программы-стартера (она-же утилита) на клиенте она должна запросить с серевера ini-шку (можно xml-файл) с версиями компонентов программы на сервере. При получении производится сверка версий компонентов на клиенте с прописанными в полученном файле. Несовпадающие или отсутствующие скачиваются и при необходимости регистрируются. После чего запускается собственно рабочая программа.
VVitafresh писал(а):А как у тебя производится сверка версий? Вернее, как определяется версия компонента у клиента?
VVitafresh писал(а):Кроме того при копировании по ФТП дата файла может изменятся на текущую (если не паковать).
Andrey Fedorov писал(а):Ну на сервере версию тоже определять надо - для той-же ini-шки.
GetVersionInfo - версия файла.
И с помощью TlbInf32.dll получаем версию компонента
VVitafresh писал(а):А метод GetVersionInfo является методом из объектной модели .NET Framework
VVitafresh писал(а):Все что я нарыл по этому поводу в MSDN:-- The tlbinf32.dll file and the HTML Help file are provided for your reference only, and they are not supported by Microsoft.
Сейчас этот форум просматривают: AhrefsBot и гости: 75