Подробная установка

Last modified by gitlab wiki on 02.07.2026, 13:38

Установка клиента «Якорь IFC»

Клиент — один исполняемый файл IFCAnchor.exe: UI, tray, IPC с CAD, расписания экспорта, миграции БД.

Где хранятся данные

 Что  Путь 
 Бинарники (по умолчанию)  `%LocalAppData%\Programs\IFCAnchor\` 
 Пользовательские данные (токены, конфиги, БД)  `%AppData%\IFCAnchor\` 
 Манифест установки  `%AppData%\IFCAnchor\install.json` 
 Реестр (расположение установки)  `HKCU\Software\IFCAnchor` 

У каждого пользователя Windows — свои %AppData% и %LocalAppData%.

Папка установки

В мастере и в --install-dir указывается родительская папка. К ней автоматически добавляется каталог IFCAnchor:

 Выбрано / указано  Установка в 
 `D:\Apps`  `D:\Apps\IFCAnchor` 
 `D:\Apps\IFCAnchor`  `D:\Apps\IFCAnchor` (без дублирования) 

Права администратора (UAC)

При включении «для всех пользователей» показывается один запрос UAC: приложение перезапускается с правами администратора, мастер открывается снова. Повторного UAC при нажатии «Установить» обычно нет (пароль вводится один раз, если политика Windows это требует). Если UAC отменён, опция снимается.

Для установки только для текущего пользователя в %LocalAppData% повышение прав не требуется.

Если папка недоступна без администратора, а процесс не запущен elevated, копирование выполняется во временно повышенном дочернем процессе (отдельный UAC) — мастер при этом остаётся открытым.

Способы установки

1. Bootstrap (первый запуск)

Скачайте IFCAnchor-Bootstrap.exe и запустите. Откроется мастер: область установки (текущий пользователь или все пользователи), папка, автозапуск, плагины CAD. При выборе «для всех пользователей» путь по умолчанию — Program Files\IFCAnchor.

2. Командная строка (без мастера и без плагинов)

# Минимальная установка (автозапуск включён по умолчанию)
.\IFCAnchor-Bootstrap.exe --install-dir "$env:LOCALAPPDATA\Programs"

# Для всех пользователей (по умолчанию — Program Files, HKLM, общий манифест)
.\IFCAnchor-Bootstrap.exe --all-users

# Без автозапуска
.\IFCAnchor-Bootstrap.exe --all-users --no-register-autostart

# Встроенное значение (без пробела после =)
.\IFCAnchor-Bootstrap.exe --install-dir=D:\Anchor

После успешной установки bootstrap перезапустит приложение из целевой папки.

3. PowerShell-скрипт (из собранного клиента)

.\Install-Client.ps1 -SourceDir ".\client" -InstallDir "D:\Apps\IFCAnchor" -RegisterAutostart
 Параметр  Описание 
 `-SourceDir`  Папка с `IFCAnchor.exe` (обязательный) 
 `-InstallDir` / `-InstallRoot`  Папка установки 
 `-RegisterAutostart` / `-RegisterAgent`  Автозапуск при входе в Windows (`Run` в реестре, `minimized`) 
 `-SkipAutostart`  Не создавать задачу автозапуска 

Параметры командной строки

 Параметр  Описание 
 `install-dir <путь>`  Тихая установка 
 `all-users` / `per-machine`  Установка для всех пользователей; без `install-dir` — `Program Files\IFCAnchor` 
 `per-user` / `current-user`  Только для текущего пользователя (явно) 
 `register-autostart` / `register-agent`  Автозапуск (по умолчанию включён
 `no-register-autostart` / `no-register-agent`  Без автозапуска 
 `setup`  Показать мастер установки 
 `skip-setup`  Пропустить мастер 
 `minimized`  Старт в tray без окна 
 `wait-for-debugger`  Ждать отладчик 
 `uninstall`  Удаление (интерактивный диалог или тихий режим с `silent`) 
 `silent` / `quiet` / `no-ui`  Удаление без UI (вместе с `uninstall`) 
 `remove-plugins`  Удалить установленные плагины Revit / Archicad 
 `remove-user-data`  Удалить `%AppData%\IFCAnchor\` (токены, конфиги, БД) 

Обновление из приложения

На странице «Установка плагинов» вверху — карточка «Приложение IFCAnchor»:

  1. Проверить — сравнение с versions.json на https://git.mifors.com/plugins/standalone/-/raw/master/versions.json
    2. Обновить — загрузка bimit.zip или msi.zip (по бренду сборки), распаковка и замена файлов в папке установки

Приложение закрывается, остальные копии завершаются, затем выполняется --deploy-only (при установке в Program Files — через UAC) и автоматический перезапуск с --minimized.

При старте (в том числе из трея): через около 1,5 с проверяется versions.json. Диалог или уведомление в трее показывается только при смене Major или Minor (например 1.0.x.x1.1.x.x), а не при каждой патч-сборке 1.0.5.101.0.5.11. Патчи по-прежнему доступны через Проверить / Обновить на этой же странице. Кнопки диалога: «Обновить сейчас», «Позже», «Не напоминать об этой версии» (сохраняется в ClientSettings.json). Подробнее: Обновление и уведомления.

Тот же пакет публикуется CI вместе с bootstrap (scripts/Build-ClientRelease.ps1Publish-StandaloneRelease.ps1).

Удаление

Перед удалением желательно закрыть IFCAnchor вручную (иконка в трее). При запуске удаления установщик сам завершает другие экземпляры из папки установки (трей, второй запуск --uninstall и т.п.); текущий процесс удаления не трогается до завершения мастера.

 Способ  Описание 
 Меню «Пуск» → Якорь IFCУдалить IFCAnchor  Ярлык на `Uninstall IFCAnchor.exe` (копия `IFCAnchor.exe` с `uninstall`) 
 `IFCAnchor.exe uninstall`  Диалог: что удалить (плагины, пользовательские данные), подтверждение 
 `IFCAnchor.exe uninstall silent ...`  Без UI; сообщения — в консоль PowerShell (`$LASTEXITCODE`) 

Коды выхода: 0 — удаление запущено; 1 — установка не найдена, отмена в диалоге или ошибка.

Примеры (PowerShell)

$installRoot = Join-Path $env:LOCALAPPDATA "Programs\IFCAnchor"
$exe = Join-Path $installRoot "IFCAnchor.exe"

# Только приложение (ярлыки, автозапуск, реестр; папка установки — после выхода процесса)
& $exe --uninstall --silent
if ($LASTEXITCODE -ne 0) { throw "Uninstall failed: $LASTEXITCODE" }

# Полное удаление: плагины CAD + пользовательские данные
& $exe --uninstall --silent --remove-plugins --remove-user-data

# Интерактивно (окно выбора опций)
& $exe --uninstall

Для установки «для всех пользователей» укажите путь к IFCAnchor.exe в Program Files\IFCAnchor\ (или найдите через реестр HKCU\Software\IFCAnchor).

Перед сборкой или повторной установкой из репозитория:

IFCAnchor.exe --uninstall --silent

Примеры

# Разработка
$env:IFCANCHOR_SKIP_SETUP = "1"
.\IFCAnchor.exe

# Автозапуск как в production
.\IFCAnchor.exe --minimized

CI / релиз

Тег вида 0.0.0.N на master запускает сборку клиента для Bimit и Msi: bimit.zip, msi.zip, IFCAnchor-Bootstrap-*.exe, versions.json (публикация в репозиторий standalone).