Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Программ автоматического обновления клиентских приложений - для тестирования  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5015
В прошлом году совместными усилиями разработали довольно неплохой модуль авторизации для программ на Access
Захотелось повторить удачный опят.

Представляю на тестирование программу для Контроля и автоматического обновления клиентских приложений Описание в архиве. Два формата mdb и accdb.

Назначение.
Автоматически заменять клиентские модули (базы) на новые при появлении новых версий. Полезно для многопользовательских разделённых баз данных.

Более подробные сведения и обсуждение можно посмотреть по ссылке.
Контроль и автоматическое обновление клиентских приложений


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

К сообщению приложен файл (sd_ReleaseUpdate30.rar - 129Kb) cкачать
27 ноя 19, 16:48    [22026847]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
разработчику неизвестны пути, нет доступа ни на сервер ни на клиента.
Я открываю доступ к диспетчеру связанных таблиц в программе. все.
Считаю это недостаточным.
Можно считать пути к табличной базе со старой версии и переписать в новую, заменив старую (пароли известны пусть будут), искать не надо - сказать чтоб положили в тот же каталог.
т.е. прога обновлятор может создаваться сразу при создании защищенной версии вместе с лаунчером и потом ею обновлять?-проверили версию, обновили пути/пароли в новой версии, обновили ярлык...
27 ноя 19, 22:51    [22027074]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5015
Всё можно сделать сложнее и проще.

Пути к серверным базам и таблицам можно хранить в отдельном файле конфигурации. Можно в формате той же базы, или в другом виде, даже текстовом, но шифрованном. Новая версия просто подхватывает файл конфигурации и никаких телодвижений пользователю делать не надо.

Лично у меня есть доступ ко всем базам, я же их и администрирую, так что в новой версии все пути к базам уже прописаны.

Тут есть замечание о том, что если попробовать заместить уже открытую программу, то она будет испорчена. Да и мало ли что может случиться. Это первое улучшение программы. Теперь надо подумать, как это сделать? Например проверять наличие файла блокировок. Если он есть, то попробовать удалить. Иногда при сбоях файл блокировок не удаляется.
28 ноя 19, 09:15    [22027237]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5015
На сайте у Андрея Митина нашел две статьи о том, как запретить повторный запуск программы. Можно что-то использовать из них.

Как запретить запуск более одной копии на компьютере?
Использование мьютексов для синхронизации процессов
28 ноя 19, 09:58    [22027299]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5015
Вставил проверку наличия файла блокировки. Теперь если он есть, то программа пробует его удалить. Если он не удаляется, то считается, что программа запущена и никаких действий не производится.

Файл формата accdb создаётся из mdb. Оба в архив не помещаются.

К сообщению приложен файл (sd_ReleaseUpdate31.rar - 134Kb) cкачать
28 ноя 19, 13:31    [22027592]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Дар1
Member

Откуда:
Сообщений: 46
Всем привет.
Есть разделенная База. Основной файл хранится на флешке, для мобильности.
Иногда Имя диска на флешке может поменяться, из за этого путь подключения дает сбой.
Хочу в базе с формами прописать автоматический поиск и подключение к базовому файлу. Может кому попадалась такая Процедура!
12 фев 20, 13:19    [22078244]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
Дар1, можно в qat добавлять соответствующую команду вызова диспетчера связанных таблиц. правда при этом вкладка File обязательно торчит.
12 фев 20, 16:00    [22078482]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
ИВП
Member

Откуда:
Сообщений: 312
alecko
Дар1, можно в qat

Куда?
В qat?
12 фев 20, 16:10    [22078507]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
ИВП,
qat-quick Access toolbar

К сообщению приложен файл. Размер - 142Kb
12 фев 20, 16:44    [22078547]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Дар1
Member

Откуда:
Сообщений: 46
Алексо, это самый крайний случай!
Тем более в Рантайм версии это скорее всего работать не будет.
Хотя надо проверить
12 фев 20, 17:15    [22078589]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Дар1
Member

Откуда:
Сообщений: 46
Проверил. В ранТайм режиме это функция не работает
12 фев 20, 17:21    [22078599]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
Дар1, тогда свое придется городить, но базу лучше искать не сканированием, а просто выбрать.
+
(создайте форму а в ней одну кнопку
Private Sub btn1_Click()
Const strFilename$ = "datas.accde" ' тот файл который ищете
On Error GoTo handle1
Dim Pathname$, r%, str$, Pathname2$, strPath$
strPath = CurrentProject.path
r = 0
str = "Выберите файл Access (" & strFilename & ")"
Pathname2 = openfilepathBase(str, strPath, r)
If r = 0 Then Exit Sub
If Dir(Pathname2) = "" Then Exit Sub
' здесь меняются пути к связанным таблицам (где-то была процедурка а вот
  Dim tD As DAO.TableDef
  For Each tD In currentdb.TableDefs
    If tD.Attributes And dbAttachedTable Then
      tD.Connect = Pathname2
      tD.RefreshLink
    End If
Next tD

Exit Sub
handle1:
' If RejDevel00pers Then Stop: Resume ' это режим отладки
End Sub
Function openfilepathBase(Titl$, Pathname$, Res%) As String
Dim str$
With Application.FileDialog(1)
   .Title = Titl
   .InitialFileName = Pathname
    .AllowMultiSelect = False
    .Filters.Clear
     .Filters.Add "MS Access", "*.accd?", 1
    Res = .Show
    If Res = 0 Then Exit Function
End With
If Trim(Application.FileDialog(1).SelectedItems.Item(1)) <> "" Then str = Trim(Application.FileDialog(1).SelectedItems.Item(1)) Else str = Pathname
openfilepathBase = str
End Function

' процедура создана на коленке, могут быть неточности


Сообщение было отредактировано: 12 фев 20, 17:40
12 фев 20, 17:39    [22078625]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Дар1
Member

Откуда:
Сообщений: 46
alecko,
Согласен, но это в том случае если она под твоим контролем.
А если передаешь в пользование, то все должно быть четко.
Скопировал и все работает.
Надо принимать во внимание что пользователи бывают оооочень слабенькие, и если дам им возможность куда то лазить то могут такое нагородить что ужас ...
14 фев 20, 11:46    [22079847]     Ответить | Цитировать Сообщить модератору
 Re: Программ автоматического обновления клиентских приложений - для тестирования  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5015
Есть программа автоматического подключения файла с таблицами к клиенту, если они находятся в одном разделе.
Смотреть тут Автоматическое подключение внешних таблиц
18 фев 20, 10:22    [22081914]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить