Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   Net send в Windows 7 / Vista (http://forum.oszone.net/showthread.php?t=193918)

Delirium 14-12-2010 08:47 1565357

Net send в Windows 7 / Vista
 
Проблема, озвученная в шапке темы, довольно актуальна для многих пользователей. Т.к. данная опция отключена в Windows Vista/Seven, то отправлять широковещательные сообщения сейчас нельзя.
В ходе написания программы по документообороту мне стало необходимо придумать способ оповещения клиентов о новых сообщениях/документах.
В итоге родилась программка netsend7, работающая по протоколу UDP 9050, которая рассылает сообщения по сети несколькими способами:
1. Всем пользователям, у которых запущена программка
2. Только тем пользователям, у которых запущена определенная программа (например, 1С).
3. На указанный компьютер.
4. Указанному пользователю.
5. Группе пользователей.

Программа запускается и висит в трее, кушать не просит :). При появлении нового сообщения вылетает окно с текстом сообщения. Скрывается окно по кнопке Esc или скрыть. При наведении на основные поля выводится подсказка с описанием.

Также работает и на Windows XP.
Для корректной работы под Win 7 при запуске программы происходит запрос на повышение прав UAC. Это необходимо для того, чтобы Firewall смог создать разрешающее правило для данного приложения.



P.S. Для работы необходим .Net FrameWork 2.0

Последние версии программы доступны по адресам http://firsov.ucoz.ru/load/netsend7/1-1-0-3 или http://soft.oszone.net/program/11545/NetSend7.html

P.S. Обновил версию. Список изменений в архиве, файл changes.txt.

Delirium 15-12-2010 04:32 1566175

Обновил дистрибутив до версии 151210. Поправлена ошибка, не позволяющая запускаться программе из автозагрузки под Windows 7.

Delirium 21-12-2010 07:51 1570912

Обновил дистрибутив до версии 211210. Добавлено окно с динамическим отображением списка активных пользователей. Интервал обновления - 30 сек.


setwolk 21-12-2010 08:19 1570916

Delirium,
Подскажите, а если скажем мне надо отправить net send на ПК где данная программа не установлена, как тогда быть?!
UDP же установлен на всех ПК, поэтому пользователь все равно получит мою месагу?

Delirium 22-12-2010 00:51 1571723

Нет, не получит, кто ж будет мониторить получение сообщений? Я сделал очень просто - в bat файле групповой политики прописал запуск программки при входе в систему. В планах на будущее сделать программу службой, чтобы ее не выгружали и не снимали процесс.

setwolk 22-12-2010 07:48 1571815

Delirium,
Спасибо!

Delirium 23-12-2010 06:31 1572557

Обновил дистриб. Поправлена мелкая ошибка, связанная с выделением имя машины, содержащей только NETBIOS имя, без доменного окончания.

Delirium 01-01-2011 13:25 1578697

Хотелось бы услышать хоть какие нибудь ответы по поводу работы программы. Стоит ли продолжать её развитие, или нет?

Казбек 01-01-2011 14:32 1578720

Цитата:

Цитата Delirium
Хотелось бы услышать хоть какие нибудь ответы по поводу работы программы. Стоит ли продолжать её развитие, или нет? »

Продолжать стоит.Только вот сообщения по непонятным причинам не всегда доходят.

Delirium 02-01-2011 06:05 1579017

Казбек, опиши в каких случаях, как отправляется сообщение, в общем все подробности. ПОсмотрим, в чем дело.

Morpheus 12-02-2011 16:32 1611084

Delirium, спасибо! Решил тоже опробовать и столкнулся с проблемкой - с одной машины сообщения не уходят.
3 машины в рабочей группе, в программе все машины видятся. У всех по одной сетевухе, а там откуда не отправляются - 2 (обычная и VirtualBox Host-Only Ethernet Adapter). Отключаю второй адаптер и сообщения начинают отравляться.
Можно чего-нить придумать?

Delirium 13-02-2011 10:18 1611584

Хм.... интересно... Программа просто открывает порт и начинает его мониторить... У меня тоже 3 сетевых на машине и работало. Единственное, что приходит в голову - в сетевых настройках (ncpa.cpl) - дополнительно-дополнительные параметры - выставить рабочую сетевую первой в списке. Тогда, возможно, заработает.

А вообще я потестирую на работе с виртуальными сетевыми, посмотрим.

Morpheus 13-02-2011 10:32 1611595

Цитата:

Цитата Delirium
Единственное, что приходит в голову - в сетевых настройках (ncpa.cpl) - дополнительно-дополнительные параметры - выставить рабочую сетевую первой в списке. »

Она первая.

Delirium 14-02-2011 01:34 1612297

Чего то у меня даже мыслей нет, почему может не отправляться... ;(
С точки зрения логики - открывается порт 9050, через netstat -a -p UDPего видно. Сообщения отправляются широковещательно - всем подряд без исключения... Получается, что виртуалка глушит широковещательные посылки? А простой net send computername message работает на этой машине?

Morpheus 14-02-2011 02:07 1612310

Цитата:

Цитата Delirium
А простой net send computername message работает на этой машине? »

Net :)
Код:

C:\Windows\system32>net
Синтаксис данной команды:

NET
    [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
      HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START |
      STATISTICS | STOP | TIME | USE | USER | VIEW ]


Комсомолец 13-03-2011 06:34 1633597

Delirium, и как ею вообще воспользоваться? Запустил в домене на 3 машинах-тишина. Может краткий мануал сделать?

Delirium 14-03-2011 00:59 1634266

Комсомолец, ОС какая? Если 7 - то ей нужно запустить от имени Админстратора и дать разрешение файрволу на работу программы в сети. Плюс проверить, чтобы не был заблокирован UDP 9050.
При нажатии кнопки > - отобразится список машин в сети с запущенной программой. При наведении мыши на любое поле ввода появится уведомление о назначении поля.

volk1234 09-09-2011 21:40 1749929

По поводу программки- весьма неплохо.
1. По результатам тестов- неудобно сворачивать окошко, надо бы сделать в заголовке слева одну кнопочку стандартную "полоску" свернуть, и желательно полноценную по размерам. Кнопку "свернуть" нажимать неудобно. Про кнопку Esc, пользователи вообще не знают.
2. Всеже подумайте по поводу создания групп. Есть у меня отделы- проектировщики, бухгалтерия, менеджеры, склад. Их приложения и файлы размещены на разных серверах - соответственно, когда надо перезагрузить один сервер с файлами проектировщикам- зачем оповещать других? Это раздражает и притупляет внимание к сообщениям.
3. Рассмотрите возможность скрыть иконку из таскбара. Сообщения должны появляться, а иконка пользователям ни к чему.

Delirium 12-09-2011 00:57 1751136

volk1234, принято к рассмотрению :)
1. Сделаем, дел на минуту.
2. Подумаю, как это покрасивее реализовать, быстро не обещаю, много работы.
3. Это тоже минутное дело, вопрос в том, как ты будешь отсылать сообщения, если приложения не будет ни в трее ни на панеле задач :) Вынесу это в параметр конфига.

Вообще эта утилита на моей работе маленько разрослась, сейчас она еще параллельно с основной функцией при запуске в трее показывает сегодняшних именинников предприятия. Очень удобно, народ уже начал воспринимать ее как часть системы и возмущаются, почему у них не показывает день рождения :)

Delirium 12-09-2011 03:33 1751154

Подправили по просьбам. Вопрос №2 пока открыт(разделение по группам). Вопрос - как сделать добавление в группы? Могу предложить такой вариант: Справа изначально будет список, как сейчас. По нажатию правой кнопки будет меню "Добавить в группу" - и далее список групп, который будет формироваться автоматом из справочника групп. Сверху списка будут отображаться группы, и таким образом можно будет все машины рассортировать по группам.
В итоге все машины будут в группе, а если появится новая машина, то она будет отображаться вне всех групп. Такой своеобразный контроль. Пойдет такой способ?

volk1234 12-09-2011 08:32 1751195

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

Delirium 12-09-2011 09:26 1751216

Предлагаю маленько другой вариант.
В конфиге есть настройка - "Отображать в трее". Если ее выставить в false, то программа будет всегда невидима, пока ей не придет сообщение. (Если честно, я просто ни разу не делал реакцию на горячие клавиши, поэтому пока так). Плюс к этому, если опция выставлена в false, то нельзя будет редактировать справочник Отделов.

Вроде бы сделал группы и отправку в группу. Суть такова:
Слово "Получатели" теперь является ссылкой на открытие справочника "Отделы". В нем можно добавлять любое количество отделов, проверка на одинаковые имена есть.
После этого закрываем справочник, выбираем в списке получателей поле "Все" (даже если оно выбрано, выбираем еще раз для обновления полей). Затем жмем кнопку раскрытия списка ">", видим список добавляющихся машин. Правой кнопкой на нем - "переместить в группу..." - И динамический выпадающий список групп.
Если компа больше нет в сети(умер, поломался и т.д.), то можно его удалить таким же способом(через контекстное меню).
Все данные хранятся в базе Access (base.accdb), наличие Access на машине необязательно.

В шапке темы ссылки на обновленную версию. (вложение в шапке - актуальное).

volk1234 12-09-2011 19:39 1751638

А можно убрать кнопки закрыть и во весь экран?

Delirium 13-09-2011 00:59 1751832

Увы, но нет, студия не позволяет их скрыть :( В любом случае кнопка "Закрыть" сворачивает, а не закрывает приложение.

volk1234, сообщи о результатах тестирования, какие недочеты, что не работает?

Delirium 17-10-2011 08:05 1775048

volk1234, я все еще жду результаты тестирования :)

volk1234 03-11-2011 12:09 1787943

скоро будут, поставил на вторую организацию - там точно будут использовать..

volk1234 03-11-2011 12:39 1787964

чего не хватает- короткой инструкции по установке и настройки :)
Могу взяться.

Delirium 03-11-2011 13:13 1787984

Ну если есть желание - милости просим :) Я, кстати, ищу программку для простого создания хелпа, есть что нибудь на примете? Кроме HtmlHelpWorkShop. Неохота, если честно, писать html-ку и переводить ее в CHM :)

Vadikan 03-11-2011 15:01 1788055

Delirium, MS Word -> PDF / XPS

Delirium 03-11-2011 16:44 1788115

Vadikan, это понятно, что можно конвертировать. Я имел ввиду, неохота и нет времени пока писать контекстно-зависимый хелп, чтобы при нажатии справки выдавалась помощь по открытому в данный момент разделу той или иной программы.

Iska 03-11-2011 19:56 1788225

Цитата:

Цитата Delirium
Неохота, если честно, писать html-ку… »

Отчего? Я с большой охотой делаю сие во «FrontPage». Главное тут — во-первых, не выпендриваться (чтобы оформление не довлело над смыслом и содержанием), во-вторых — правильно определиться со стилями. Последние я готовлю в «TopStyle Lite» — это удобнее, нежели в самом «FrontPage».
Цитата:

Цитата Delirium
Я имел ввиду, неохота и нет времени пока писать контекстно-зависимый хелп, чтобы при нажатии справки выдавалась помощь по открытому в данный момент разделу той или иной программы. »

Пусть будет простая справка, без контекста. Поиском всегда можно будет найти нужное место.

Vadikan 03-11-2011 21:49 1788278

Delirium, можно подумать, у тебя такой программный продукт, что ему нужна огромная контекстно-зависимая справка. Я вообще там вижу одно окно - о каком контексте может идти речь? :)

Если не заниматься пересказом пользовательского интерфейса, то описание работы с программой сводится к 3-4 типовым процедурам = 1 страница + еще одна на любую ерунду, которой ты захочешь наполнить документ :)

volk1234 04-11-2011 10:18 1788419

Лучше пускай автор объяснит принцип формирования списка пользователей.
У меня мешанина в списке из следующих названий:
192 (это я так понимаю начало IP адреса)
WS137
192.168.1.15
ws138.local.net
ws132.local.net

Почему при выборе конкретного адресата в строке пользователь появляется число очень напоминающее телефон, а не IP или что либо еще. Хочу предложить добавить в таблицу пользователей поле Алиас-и хотябы вручную его редактировать, а по умолчанию двать имена User1-999. Одназначно индефицировать пользователей можно по MAC адресу.

И второе, я уже писал в личку- надо сделать в главном окне сообщений вывод сообщений некий лог последних сообщений. Например вот так.


Плюс в самом сообщении выводить время, дату и какой группе отправленно.

Delirium 05-11-2011 19:00 1789212

Цитата:

Цитата Vadikan
Delirium, можно подумать, у тебя такой программный продукт, что ему нужна огромная контекстно-зависимая справка »

Вадим, я говорил в общем, не применимо к конкретной программе :) Здесь то понятно, что немного надо.

Цитата:

Цитата volk1234
Лучше пускай автор объяснит принцип формирования списка пользователей. »

А вот это вообще мистика, которую я сам пока не пойму. Одна машина отзывается как положено, вторая почему то только по IP, третья не понять как. Хотя процедура одна и та же. Закономерность пытаюсь выяснить.

Цитата:

Цитата volk1234
надо сделать в главном окне сообщений вывод сообщений некий лог последних сообщений »

Лог, это конечно не проблема, но мне почему то начинает казаться, что мы превращаем утилиту в некое подобие IRC клиента. Первоначальная задача была в аналоге net send, а тут постепенно переходим к многофункциональной утилите. Чувствую не за горами время, когда появится пожелание поставить серверную часть службой и клиентов с сохранением всех логов где нибудь на sql.

Лог я сделаю, это быстро. Насчет остального - будет видно. Если в понедельник руководство не заставить сесть плотно за продолжение написание системы контроля документооборота, то постараюсь исправить недочеты и внедрить пожелания.

volk1234 09-11-2011 18:01 1791704

Просьба обратить внимание кроме лога, на алиасы- т.е. понятные всем имена пользователей. А то компьютеры не везде называются понятно..

ЗЫ. И еще неплохо было бы для варианта отправить всем, только группам и т.д. поле фильтр- т.е. кому не отправлять даже если отправляется всем или группе в состав которой входит человек

Delirium 10-11-2011 00:55 1791957

volk1234, а если сделать не фильтр, а просто мышкой повыделять, кому отправлять (в группе, к примеру)? Тогда невыделенным и отправлять не будет. А если нет выделенных, то всем?

volk1234 10-11-2011 17:48 1792429

Да, так будет логичнее, тогда можно отказаться от выпадающего меню и строки для ввода имени хоста.
Все действия по выбору адресатов будут выполняться во вкладке со списком пользователей, нажал галочку Все- выделились все кто есть в списке, убрал галки с тех кто не должен получать и все. Выбрал группу проектировщики- выделились все кто относится к ней и добавил например директора галочкой.

Но пожалуйста сделай алиасы для компьютеров.
Мне видится такая таблица в базе:
Алиас NETBIOS IP MAC

Delirium 11-11-2011 03:39 1792728

Цитата:

Цитата volk1234
тогда можно отказаться от выпадающего меню и строки для ввода имени хоста. »

Строка для ввода имени служит еще вот для чего:
можно вписать не имя хоста, а имя ПОЛЬЗОВАТЕЛЯ, и сообщение получат все пользователи, вошедшие в систему под этим логином.

По поводу остального попытаюсь сегодня сделать, если успею.

Delirium 11-11-2011 08:36 1792779

Выпущено обновление от 11-11-2011 :). Как всегда, доступно на моем сайте и на софт-портале OsZone.
Список изменений:
1. Добавлен лог. (как на скриншоте volk1234)
2. Сделаны алиасы. В таблицу БД base.accdb в Компьютеры добавил столбцы IP адрес и Алиас. При первоначальном заполнении БД в поле Имя и Алиас прописывается имя компьютера. Далее уже в самой программе или через справочники - ПКМ - редактировать алиасы, или в основном списке ПКМ - редактировать - можно редактировать записи(но только алиасы, остальные поля только для чтения). Для чего я это описываю - существующий формат БД отличается от прежнего, поэтому необходимо будет либо по новой наполнить БД, либо открыть эти две базы и перенести записи в соответствующие таблицы. Их там всего 2, и поля на русском языке.
3. Изменил внешний вид и формат отправки сообщения.
4. Поле МАС-адрес вводить не стал, т.к. получения MAC в .Net идет через WMI, а он не везде корректно работает, да и не нужен этот МАС для функционирования.
5. Исправлены мелкие недочетики.


По поводу странных записей появляющихся. Сегодня заметил, что глюки с распознаванием имен появляются когда в DNS нет записи о машине в прямой или обратной зоне.

volk1234 17-11-2011 10:26 1796959

осталось совсем чуть чуть :)

Сделать так чтобы программа работала как служба- дабы видно было сообщения которые приходят когда пользователь Logoff
Хотя может это и не надо- у нас же инстант мессенжер, с другой стороны оригинальный netsend присылает сообщения и после выхода из системы...

Мелкие доработки- убрать в строке заголовка программы все кроме NetSend, всю информацию -название базы билд и т.д. считаю правильнее поместить в окно "О программе". Эта информация не нужна постоянно...

Сделать так, чтобы после отправки сообщение исчезало из текстового поля, а то непонятно отправилось оно или нет.

Сделать автопрокрутку в логе + ее отключение в конфиге autoscroll=0:)

и еще чето не исчезает иконка- поставил в конфиге False.

Delirium 18-11-2011 01:06 1797634

Цитата:

Цитата volk1234
Сделать так чтобы программа работала как служба »

Цитата:

Цитата Delirium
Чувствую не за горами время, когда появится пожелание поставить серверную часть службой и клиентов с сохранением всех логов где нибудь на sql. »

гыыыы :)

Ок, сейчас сяду подкорректирую эти недочетики. :)

Delirium 18-11-2011 08:58 1797732

Обновление. Версия 18112011.
Изменения:
1. Убран в заголовке текст о версии и БД (перенесено в "О программе").
2. Добавлен поиск по списку станций. Для поиска просто вводим первую букву имени станции.
3. В меню "О программе" добавлены 2 опции - автопрокрутка и отображение в трее.
4. Текст сообщения очищается после отправки.
5. Сделана автопрокрутка лога сообщений.
6. Добавлена справка о работе с программой :)
7. Немного изменен внешний вид для "красивости" :)

Проверяйте :)

По поводу неисчезания иконки.
Если ОС Win 7 - C:\Users\Имя\AppData\Local\NetSend7 - удаляем эту папку и при посл. старте все настройки обнулятся. Выставь в программе False и должно заработать. Это связано с тем, что я не увеличивал билд программы, и новые обновления не затирали старые. Версия 18112011 выставлена как 2.0 (версия файла), поэтому теоретически все старые данные не должны будут уже учитываться, но на всякий случай можно удалить.

volk1234 18-11-2011 11:16 1797836

Осталось теперь только одна вечная задача - оптимизация кода :)
Поскольку программа в состоянии покоя занимает места в памяти места почти столько же сколько Скайп и в 3 раза больше места чем Pandion клиент.
Осмелюсь напомнить себе и Delirium основная задача программки - сервисные сообщения. Все навороты только для удобства пользования, и от них теоретически можно отказаться.
Поэтому хотелось бы следующего

1. Маленький размер (как на диске, так и в памяти), нигде ее не видно у пользователя...

2. Простейший интерфейс, не отвлекающий внимание

3. Возможность набирать сообщение по горячей клавише, ну и\или хотябы из командной строки net2send * Vyiti iz 1C !!!

4. Вопрос: Для чего служит кнопка обновить?? :)

4.5 Так как невозможно предсказать длинну сообщения, предлагаю осуществлять вывод текста на экран и в лог осуществлять следующим образом:
Отправитель, дата,время [перевод строки] сообщение.

5. Рассмотреть возможность: у большинства пользователей должно выводиться только сообщение БЕЗ ИНТЕРФЕЙСА УПРАВЛЕНИЯ:


Т.е. в конф файле должна быть настрока: GUI_Rights= 1(только окно сообщения без возможности ответить и просмотреть список адресатов) =2 (с возможностью нажав кнопку развернуть интефейс отправки сообщений и выбора адресатов, (который внизу)), =3 (отправить только ответ на текущее сообщение, т.е. маленькое поле для ответа и кнопка ответить), =0 (полный интерфейс)

:)))))))))))))))))))))))))))))))))))))) :)))))))))))))))))))))))))))))))))))

Зы. в новой версии кнопка открывающая список выглядит получше, но позорно просвечивается старая стрелочка под новыми :)

Зы2. Для справки слишком жирно отдельной кнопки, предлагаю перенести ссылку на справку в окно о программе :)

volk1234 18-11-2011 11:43 1797862

Текст скрипта приведенный в справке будет постоянно затирать существующую программу, может лучше так:

Код:

@Echo OFF

If not exist %windir%\temp\netsend7 (
md %windir%\temp\netsend7
copy \\server\distrib\netsend7\*.* %windir%\temp\netsend7\ /Y
cd %windir%\temp\netsend7
start %windir%\temp\netsend7\netsend7.exe
)Else(
start %windir%\temp\netsend7\netsend7.exe
)

А вообще проще добавить в программу проверку на присутствие в автозапуске и добавления себя туда ежели нету.

Delirium 18-11-2011 15:39 1798000

Цитата:

Цитата volk1234
Маленький размер (как на диске »

800 кб не так уж и много :)
Цитата:

Цитата volk1234
так и в памяти »

С этим тяжелее, учитывая что я память как таковую не использую для работы, я имею в виду, что в программе отсутствуют какие либо массивы, хранящиеся в оперативке, равно как и соединения с БД открываются только по мере необходимости и закрываются сразу же.

Вообще, большой объем занимаемой памяти от того, что данное приложения является как бы и клиентом и сервером одновременно. Ей же приходится и клиентов мониторить, и сообщения распарсивать и т.д. и т.п. Почему скайп и прочие так мало места в памяти кушают? Да потому, что это обыкновенный GUI клиент, вся задача которого - получить сообщение, которое уже предварительно распарсено на сервере и отсечено лишнее. Так же и отправка сообщения - оно отправляется в полет, а дальше уже дело сервера.

Одновременно со всем этим накладывает свои ограничения и недостатки технология .Net FrameWork.
Я постараюсь пересмотреть логику работы, может и получится что нибудь оптимизировать.


Цитата:

Цитата volk1234
нигде ее не видно у пользователя... »

Ну для этого надо скрывать иконку в трее + пихать ее в автозагрузку всем пользователям. Или имеется в виду скрытие ее даже в диспетчере задач? :)

Цитата:

Цитата volk1234
Возможность набирать сообщение по горячей клавише, ну и\или хотябы из командной строки net2send * Vyiti iz 1C !!! »

А вот это интересная фича, я посмотрю, как это реализовывается.

Цитата:

Цитата volk1234
Для чего служит кнопка обновить?? »

После запуска программы в списке справа отображаются станции в группе ВСЕ. Т.к. опрос идет постоянно, то возможно появление новых записей. Но сами по себе они не появятся, для этого и нужна кнопка "Обновить".

Цитата:

Цитата volk1234
Отправитель, дата,время [перевод строки] сообщение. »

Это без проблем, 20 секунд делов.

Цитата:

Цитата volk1234
у большинства пользователей должно выводиться только сообщение БЕЗ ИНТЕРФЕЙСА УПРАВЛЕНИЯ »

Это тоже легко и просто реализуемо, если считаете, что такая фишка нужна, можно и сделать. Но опять же не стоит забывать о основной задаче программы :)

Цитата:

Цитата volk1234
открывающая список выглядит получше, но позорно просвечивается старая стрелочка под новыми »

Да не может этого быть, старая стрелка была просто знаком <,> в виде текста на кнопке, а новая - PNG файлы. Можно скрин увидеть? :)

Цитата:

Цитата volk1234
Для справки слишком жирно отдельной кнопки, предлагаю перенести ссылку на справку в окно о программе »

Без проблем, сделаем.
Цитата:

Цитата volk1234
может лучше так: »

Может и лучше, я в BAT скриптах вообще не силен, то что я привел - мой максимум :)
Цитата:

Цитата volk1234
проще добавить в программу проверку на присутствие в автозапуске и добавления себя туда ежели нету »

Но для начала проверки программе же надо себя откуда то и как то запуститься хотя бы первый раз? :)

А в целом справка понятная получилась? Или мой первый опыт вышел как блин - комом? :)

volk1234, вот ты зрячий. Сейчас дома скачал, присмотрелся - и правда откуда то знак > просвечивает :) Поправлю обязательно )

Delirium 18-11-2011 16:03 1798014

Цитата:

Цитата volk1234
Текст скрипта приведенный в справке будет постоянно затирать существующую программу »

В этом есть плюс - мне достаточно на сервере обновить программу и на след. день все пользователи запустят уже обновленную версию. Это проще, чем писать инсталлятор либо вшивать в программу проверку версий.

Vadikan 26-11-2011 21:32 1803929

Программу надо перепаковать в ZIP. RAR не нужен в каталоге.

И кстати, при запуске на чистой установке 7 SP1 со всеми обновления вылетает ошибка, но продолжить работу можно.

Код:

Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.InvalidOperationException: Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
  в System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
  в System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
  в System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
  в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
  в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
  в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
  в System.Data.OleDb.OleDbConnection.Open()
  в NetSend7.baseDataSetTableAdapters.ГруппыTableAdapter.КодГрВсе()
  в NetSend7.MainFrm.MainFrm_Load(Object sender, EventArgs e)
  в System.Windows.Forms.Form.OnLoad(EventArgs e)
  в System.Windows.Forms.Form.OnCreateControl()
  в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
  в System.Windows.Forms.Control.CreateControl()
  в System.Windows.Forms.Control.WmShowWindow(Message& m)
  в System.Windows.Forms.Control.WndProc(Message& m)
  в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
  в System.Windows.Forms.ContainerControl.WndProc(Message& m)
  в System.Windows.Forms.Form.WmShowWindow(Message& m)
  в System.Windows.Forms.Form.WndProc(Message& m)
  в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
NetSend7
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.0.0
    CodeBase: file:///C:/netsend7/NetSend7.exe
----------------------------------------
System.Windows.Forms
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5447 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms.resources
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Transactions
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Data.resources
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Data.resources/2.0.0.0_ru_b77a5c561934e089/System.Data.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.


Delirium 27-11-2011 11:45 1804129

Цитата:

Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
Это моя ошибка, я ее озвучивал выше. Ошибка связана с тем, что программа использует DB Access 2007 (db.accdb), а в системе по умолчанию нет этого провайдера данных. Надо установить примочку от MS (http://www.microsoft.com/download/en...ng=en&id=23734 ). Я переделаю, наверное, программу, под использование старой версии Access, чтобы не вылетало это исключение.

Цитата:

Цитата Vadikan
Программу надо перепаковать в ZIP. RAR не нужен в каталоге. »

Ок, перепакую завтра.

Vadikan 27-11-2011 12:17 1804137

Delirium, если нужны дополнительные компоненты, нбх указывать это в описании программы.

volk1234 29-11-2011 00:40 1805367

Delirium
А когда ждать новой версии

Delirium 29-11-2011 01:23 1805381

volk1234, меня, к сожалению, загрузили сильно сейчас основной задачей, как только освобожусь, сразу допишу.

Упуат 28-03-2012 16:25 1888637

Не могли бы вы объяснить нубу по поводу этой программки такой момент:
у мну 7-ка 64, все остальные машинки в локальной сети XP-шные, эту программу следует устанавливать на каждой рабочей станции? Если нет, то каков принцип действия последней?
Спасибо.

volk1234 29-03-2012 18:57 1889502

Delirium

Может у Вас появилось время доработать програмку?

Delirium 02-04-2012 02:33 1891651

Упуат, ставить на каждую машину. Точнее даже не ставить а копировать в любую папку и кидать в автозагрузку. Все действия описаны вышы.

volk1234, времени пока увы, но не появилось. Сейчас пишу корпоративный телефонный справочник для предприятия на основе Active Directory + Oracle. Занимает все время :)

Михаил_Королев@vk 03-04-2012 06:26 1892321

В программе нужно сделать упрощённый режим. Кажется, кто-то говорил уже об этом. Т.е. нужно, чтобы выводилось просто сообщение с кнопкой ОК. Ну максимум, с редактируемым текстовым полем и кнопкой Ответить. Причём выводить сообщение нужно поверх экрана. Честно, устал искать что-то подобное для Server 2008 :(...

Если времени не хватает, может, стоит выложить софтину на GitHub?

Delirium 03-04-2012 07:17 1892330

Цитата:

Цитата Михаил_Королев@vk
Если времени не хватает, может, стоит выложить софтину на GitHub? »

Если есть желание, ради бога, исходники предоставлю.

Михаил_Королев@vk 03-04-2012 13:40 1892510

Есть :) На чем написано?

ferget 03-04-2012 13:58 1892524

на C#

cnekTep 09-04-2012 13:54 1896212

А выложите пожалуйста куда-нибудь исходники, есть мысли по доработке программы:)

Delirium 18-04-2012 01:08 1901590

Вложений: 1
Исходники выкладываю. Пожелание одно - не надо делать из нее shareware :) Ну и желательно сохранить сноски на oszone.net.

cnekTep 18-04-2012 05:07 1901609

Delirium, спасибо большое, если получится что-то доработать, обязательно поделюсь:)

Королев Михаил 25-05-2012 10:43 1922246

Написал свою софтину, с блэкджеком и девочками :). Коллеге Delirium спасибо за вдохновение! Исходник не использовал.

http://forum.oszone.net/showthread.php?p=1922239

Delirium 28-05-2012 01:56 1923708

Королев Михаил, всегда рад помочь :)

klif.sys 15-01-2015 09:07 2456260

"Обновил дистрибутив до версии 211210."
Где можно взять этот дистр? В шапке 3_netsend7_181120.rar. Если выложены исходники то можно понимать что работа над программой закончена?


Время: 09:08.

Время: 09:08.
© OSzone.net 2001-