Розгортання та міграція
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Передумови
Існує 2 версії LibreOffice для Windows.
- 32-розрядна версія для 32- та 64-розрядної Windows
- 64-розрядна версія для 64-розрядної Windows, починаючи з LibreOffice 5.0.
Вам не потрібно видаляти попередню версію LibreOffice, якщо це версія 3.4.5 або вище; налаштування зберігаються, а стара інсталяція буде перезаписана. Версії нижче 3.4.5 слід видалити перед встановленням.
OpenOffice.org не буде видалено, але вам потрібно видалити OpenOffice Quickstart, якщо LibreOffice має бути вашим основним офісним пакетом.
LibreOffice 3.5 і вище – це MSI-файл з усіма вбудованими компонентами, що містить мовні перетворення як підсховища, розповсюджувані VC-файли як модулі злиття, а також вбудований CAB-файл. У той час як LibreOffice 3.4 та старіші версії були окремими файлами: EXE-файл, який містив передінсталятор NSIS + завантажувач setup.exe + MSI-файл + окремий CAB-файл + багато мовних перетворень + файли розповсюдження VC.
Існує багато способів встановлення LibreOffice, деякі з них такі:
- Для кількох комп'ютерів, можливо, до десятка, найшвидше просто використовувати графічний інтерфейс на кожному комп'ютері.
- Для кількох десятків комп'ютерів просто запустіть пакетний файл на основі наведених нижче прикладів на кожному комп'ютері.
Тихі автоматичні інсталяції:
- Десятки або сотні комп'ютерів використовують сценарії запуску комп'ютера групової політики.
- Для сотень комп'ютерів отримайте навички редагування MSI-файлів, можливо, використовуючи редактор MSI, такий як ORCA.
- WPKG — це автоматизована програма розгортання, оновлення та видалення програмного забезпечення для Windows.
План тестування, план розгортання та міграції
Перед міграцією вам потрібен план тестування. Це може включати запуск інсталяції LibreOffice разом із існуючим офісним пакетом. Його можна налаштувати як стандартний для файлів OpenDocument, а інші налаштування типів файлів за замовчуванням можна залишити такими, як вони є, доки ви не розпочнете міграцію.
Доступний документ з розгортання та міграції білий папір, який допоможе з міграцією. Також дивіться протокол міграції TDF
Пропозиція бізнес-кейсу для оновлення до LibreOffice
Ось добре написана та переконлива пропозиція бізнес-кейсу, яка працює. Вона призначена для оновлення до LibreOffice з Microsoft Office 2003; ви можете легко адаптувати її для пропозиції оновлення з іншого офісного пакету, такого як Microsoft Office 2007 або 2010. Її легко змінити, оскільки це гібридний PDF. Спочатку збережіть його локально, потім відкрийте PDF-файл з LibreOffice та відредагуйте його, як звичайний документ.
File:Office Suite And Editable Document Format Upgrade Options.pdf
Тиха та автоматична інсталяція
Параметри функцій та властивостей можна використовувати як параметри командного рядка.
Функція
ADDLOCAL=ALL, Встановлені функції є основними компонентами, і вони майже повністю відповідають сторінці в діалоговому вікні, яке доступне лише за умови вибору опції «Вибіркова інсталяція» з графічного інтерфейсу. Якщо ви хочете маніпулювати встановленими компонентами за допомогою параметрів, спочатку потрібно або визначити кожен компонент, який ви хочете встановити, або (краще) встановити все за допомогою параметра ADDLOCAL=ALL, а потім визначити все, що вам не потрібно, за допомогою REMOVE.
REMOVE=, Все, що ви хочете видалити, має бути вказано в одному рядку з комою як роздільником та без пробілів.
Якщо ви використовуєте ADDLOCAL=ALL, будуть встановлені всі словники, виберіть ті, які ви хочете видалити, за їхніми мовними кодами, див. нижче приклади цих кодів. Словники також встановлюються як попередньо визначені розширення, але в процесі встановлення вони класифікуються як словники, тому вам потрібно додати додаткову частину до REMOVE, ось так:
REMOVE=gm_r_ex_Dictionary_Af,gm_r_ex_Dictionary_An
Так само ми можемо видалити попередньо визначені розширення або компоненти, як ці:
REMOVE=gm_o_Extensions_PRESENTER_SCREEN,gm_o_Extensions_REPORTDESIGN
REMOVE=gm_o_Xsltfiltersamples,gm_o_jf_Palm,gm_o_jf_Pocketp
Функція онлайн-оновлення — це лише перевірка наявності новішої версії зі спливаючим повідомленням, яке повідомляє користувача, коли вона є. У корпоративному середовищі це безглуздо, оскільки персонал зазвичай не зможе оновити своє програмне забезпечення. Ми можемо повністю видалити функцію онлайн-оновлення, вийшовши на крок далі, ніж властивість ISCHECKFORPRODUCTUPDATES:
REMOVE=gm_o_Onlineupdate
Щоб інсталювати лише деякі програми, ви можете вказати, які програми потрібно пропустити:
REMOVE=gm_p_Calc,gm_p_Base,gm_p_Math,gm_p_Impress,gm_p_Draw,gm_p_Writer
Властивості
Під час встановлення ви можете встановити ці властивості. Список неповний, ось кілька прикладів:
ALLUSERS (за замовчуванням=1) – виконати встановлення для кожного користувача або для кожного комп’ютера залежно від прав доступу користувача
CREATEDESKTOPLINK (за замовчуванням=1) – створити ярлик на робочому столі (помилка у 4.1.0+, вирішено в tdf#65102 для 4.1.4 та 4.2.0)
INSTALLLOCATION – вказати каталог встановлення
RebootYesNo (за замовчуванням=Так) – перезавантажити після встановлення
ISCHECKFORPRODUCTUPDATES (за замовчуванням=1) – перевірити наявність оновлень
REGISTER_ALL_MSO_TYPES (за замовчуванням=0) – використовувати LibreOffice як програму за замовчуванням для форматів файлів Microsoft Office
REGISTER_NO_MSO_TYPES (за замовчуванням=0) – не використовувати LibreOffice як програму за замовчуванням для будь-яких форматів файлів Microsoft Office
REGISTER_DOC (за замовчуванням=0) – використовувати LibreOffice як програму за замовчуванням для файлів Microsoft Word у форматі .doc (можна використовувати аналогічні для .xls, .ppt тощо)
VC_REDIST (за замовчуванням=1) – встановлює Microsoft Visual C++ Runtime. Починаючи з LibreOffice 3.5.4.
QUICKSTART (за замовчуванням=0) – вмикає швидкий старт, якщо функція швидкого старту встановлена. Починаючи з LibreOffice 3.6.0.
IS1033 (за замовчуванням=1) – до LibreOffice 3.5.4 всі мови інтерфейсу встановлювалися за замовчуванням, тому вам доводилося вказувати кожну мову, яку ви не хочете встановлювати.
UI_LANGS – вибір мови інтерфейсу. Починаючи з LibreOffice 3.5.5
VC_REDIST=0 може заощадити час та ресурси встановлення, якщо середовище виконання C++ вже встановлено. Середовище виконання C++ має бути встановлено перед LibreOffice, тому наступна команда може передувати команді встановлення LibreOffice, вона перевіряє середовище виконання та встановлює його лише за потреби. У цьому прикладі msvcr110.dll постачається з 32-розрядним LibreOffice 4.4.2: Якщо його немає, c:\windows\system32\msvcr110.dll c:\file-path-to\vcredist_x86 /q /promptrestart / l c:\file-path-to\vcredist_install_log.txt Щоб знайти потрібну версію середовища виконання C++, встановіть LibreOffice через графічний інтерфейс, оскільки це встановлює вхідне середовище виконання, а потім перегляньте Панель керування, Програми та засоби. Будьте обережні, оскільки якщо ці середовища виконання сумісні зі зворотною сумісністю, встановлення може запускатися та скасовуватися, і ви не хочете, щоб це відбувалося щоразу, коли комп'ютер запускається, оскільки це може призвести до марного використання пропускної здатності чи чогось іншого.
32-розрядний файл msvcr110.dll Пакет розповсюдження Microsoft Visual C++ 2010 (x86). Це необхідно для 32-розрядної версії LibreOffice 4.42 (Windows 7 (x86)).
64-розрядний файл msvcr120.dll Visual Studio 2013 C++ 64-розрядне середовище розповсюдження. Це потрібно для нової 64-розрядної версії LibreOffice 5.00, вона має вищі системні вимоги до 512 МБ (Windows 7 (x86 та x64)).
У малоймовірному випадку, якщо під час встановлення ви отримаєте код помилки 1935, спробуйте встановити LibreOffice з VC_REDIST=0.
За замовчуванням тиха інсталяція вибирає лише ті мови інтерфейсу користувача (UI), які є серед мов інтерфейсу користувача, доступних у системі. Варіанти мов включені. Це означає, наприклад, що для англійської мови буде 3 інтерфейси користувача.
Ми можемо додати кілька мов інтерфейсу користувача, а також видалити непотрібні мови, використовуючи числовий Ідентифікатор локалі, залишаючи основну ввімкнену мову останньою, ось так: IS5146=1 IS1033=1 IS1078=0 IS1025=0
У LibreOffice 3.5.4 вибір мови інтерфейсу користувача через властивості IS<lcid> не працює під час тихої інсталяції. У LibreOffice 3.5.5 та вище вибір мови працює наступним чином.
msiexec /i Lib...._.msi UI_LANGS=en_US,de,fr,hu Встановлення англійської (США), німецької, французької та угорської мов. Існують деякі незначні проблеми з вибором мови, оскільки, наприклад, pt_BR також неявно вибирає pt, але це те саме, що й з автоматичним вибором мови.
Коли користувач намагається обдурити інсталятор, надаючи недійсні коди мов, інсталятор повернеться до en_US. Також en_US не встановлюється за замовчуванням, на відміну від автоматичного вибору.
Словники: див. Інструменти/Диспетчер розширень, щоб побачити встановлені словники. Див. Інструменти/Параметри/Налаштування мови/Мови для позначених мов, які вказують на доступність перевірки орфографії, вони відповідають встановленим спільним розширенням у C:\Program Files (x86)\LibreOffice 4\share\extensions (Windows 7 та 8.1).
Швидкий старт, якщо його ввімкнено, створює ярлик, який залежить від користувача: "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\LibreOffice 3.5.lnk" (Windows 7).
Довідка: Рядок командної лінії для встановлення довідки LibreOffice для додаткових локальних файлів довідки, в іншому випадку доступна онлайн-довідка в Інтернеті. msiexec /qb /i шлях-до-файлу\LibreOffice_4.4.2_Win_x86_helppack_en-GB.msi /l* шлях-до-файлу\libo_helpinstall_log.txt
Мова інтерфейсу інсталятора
Інсталятор LibreOffice для Windows підтримує стільки ж мов, скільки й сам LibreOffice. Це залежить від мови, встановленої в розділі Регіон та мова -> Формат (Windows 7); ви можете отримати доступ до діалогового вікна за допомогою командного рядка intl.cpl.
Ви можете примусово запустити його будь-якою мовою. У наступному прикладі інсталятор LibreOffice 3.5.3 запуститься шотландською гельською мовою. Число після двокрапки – це Ідентифікатор локалізації мови.
msiexec /i LibO_3.5.3_Win_x86_install_multi.msi TRANSFORMS=:1084
Ви, ймовірно, не зможете примусово встановити англійську (США) мову (1033) таким чином, оскільки для неї немає вбудованого перетворення (вона використовується як базова мова інсталятора). У цьому випадку тимчасове налаштування мови через вкладку Формат intl.cpl має допомогти.
Або використовуйте властивість ProductLanguage з десятковим значенням [MS-LCID] для будь-якої мови, що підтримується інсталятором:
msiexec /i LibreOffice_X.Y.Z_Win_x64.msi ProductLanguage=1033
Зверніть увагу, що це не впливає на мову інсталятора під час редагування (додавання/видалення компонентів/видалення) вже встановленої версії.
Приклади
Приклад 1. Встановлення LibreOffice разом з іншим офісним пакетом.
Встановлює LibreOffice як офісний пакет за замовчуванням для файлів OpenDocument, залишаючи інші типи файлів незмінними. Тож кожен може це зробити, незалежно від того, чи вже заплановано міграцію на LibreOffice. Як мінімум, це виправдано як резервний офісний пакет, що запобігає проблемам з ліцензуванням або несанкціонованим оновленням, що порушують роботу іншого офісного пакету.
У цьому прикладі встановлюється LibreOffice 7.2.2 як програма за замовчуванням для файлів OpenDocument, типи файлів MS Office не змінюються. Це створює журнал встановлення, інтерфейс користувача English_GB, без онлайн-оновлення, без перезавантаження, швидкого запуску вимкнено, без середовища виконання Visual C++, залишаючи англійські та французькі словники:
Якщо ви хочете видалити французький словник, додайте gm_r_ex_Dictionary_Fr, або для англійської gm_r_ex_Dictionary_En
Інші дистрибутиви або версії LibrOffice можуть постачатися з різними додатковими функціями в MSI, якщо виникне проблема зі спробою видалити неіснуючу функцію, виникне помилка, яку можна легко виправити.
Файл журналу детально описує процес встановлення, у ньому ви можете побачити більшість властивостей, які можна налаштувати під час встановлення.
Записано одним рядком:
msiexec /qb /i LibreOffice_7.2.2_Win_x86.msi /l* LibreOffice_install_log.txt REGISTER_NO_MSO_TYPES=1 UI_LANGS=en_GB ISCHECKFORPRODUCTUPDATES=0 \ REBOOTYESNO=No QUICKSTART=0 ADDLOCAL=ALL VC_REDIST=0 \ REMOVE=gm_o_Onlineupdate,gm_r_ex_Dictionary_Af,gm_r_ex_Dictionary_An,gm_r_ex_Dictionary_Ar,gm_r_ex_Dictionary_Be,gm_r_ex_Dictionary_Bg,\ gm_r_ex_Dictionary_Bn,gm_r_ex_Dictionary_Bo,gm_r_ex_Dictionary_Br,gm_r_ex_Dictionary_Pt_Br,gm_r_ex_Dictionary_Bs,\ gm_r_ex_Dictionary_Pt_Pt,gm_r_ex_Dictionary_Ca,gm_r_ex_Dictionary_Cs,gm_r_ex_Dictionary_Da,gm_r_ex_Dictionary_Nl,\ gm_r_ex_Dictionary_Et,gm_r_ex_Dictionary_Gd,gm_r_ex_Dictionary_Gl,gm_r_ex_Dictionary_Gu,gm_r_ex_Dictionary_He,\ gm_r_ex_Dictionary_Hi,gm_r_ex_Dictionary_Hu,gm_r_ex_Dictionary_Lt,gm_r_ex_Dictionary_Lv,gm_r_ex_Dictionary_Ne,\ gm_r_ex_Dictionary_No,gm_r_ex_Dictionary_Oc,gm_r_ex_Dictionary_Pl,gm_r_ex_Dictionary_Ro,gm_r_ex_Dictionary_Ru,\ gm_r_ex_Dictionary_Si,gm_r_ex_Dictionary_Sk,gm_r_ex_Dictionary_Sl,gm_r_ex_Dictionary_El,gm_r_ex_Dictionary_Es,\ gm_r_ex_Dictionary_Sv,gm_r_ex_Dictionary_Te,gm_r_ex_Dictionary_Th,gm_r_ex_Dictionary_Tr,gm_r_ex_Dictionary_Uk,\ gm_r_ex_Dictionary_Vi,gm_r_ex_Dictionary_Zu,gm_r_ex_Dictionary_Sq,gm_r_ex_Dictionary_Hr,gm_r_ex_Dictionary_De,\ gm_r_ex_Dictionary_Id,gm_r_ex_Dictionary_Is,gm_r_ex_Dictionary_Ko,gm_r_ex_Dictionary_Lo,gm_r_ex_Dictionary_Mn,\ gm_r_ex_Dictionary_Sr,gm_r_ex_Dictionary_Eo,gm_r_ex_Dictionary_It
Приклад2: LibreOffice як офісний пакет за замовчуванням.
Встановлює LibreOffice як офісний пакет за замовчуванням для файлів OpenDocument, а також власних двійкових файлів Microsoft та файлів OOXML. Існуючі офісні пакети можуть залишатися встановленими та використовуватися з командою «Відкрити за допомогою», доки ви не вирішите їх видалити пізніше.
Команда така ж, як у прикладі вище, просто замініть REGISTER_NO_MSO_TYPES=0 на REGISTER_ALL_MSO_TYPES=1
Приклади для старіших версій LibreOffice:
Старіші версії LibreOffice можуть мати різні компоненти, також використовується стара скорочена назва файлу LibO.
Наступне стосується LibreOffice 3.6.4, з включеним журналом, усіма зареєстрованими типами файлів, англійською (США), французькою, угорською та боснійською мовами інтерфейсу, без онлайн-оновлення, увімкненого швидкого запуску, без середовища виконання Visual C++ або мобільних компонентів, залишаючи англійський, французький, хорватський та сербський словники.
msiexec /qn /i LibO_3.6.4_Win_x86_install_multi.msi /l* LibreOffice_install_log.txt SELECT_WORD=1 SELECT_EXCEL=1 SELECT_POWERPOINT=1 \ REGISTER_ALL_MSO_TYPES=1 UI_LANGS=en_US,fr,hu,bs RebootYesNo=No ISCHECKFORPRODUCTUPDATES=0 QUICKSTART=1 VC_REDIST=0 \ ADDLOCAL=ALL REMOVE=gm_o_Onlineupdate,gm_o_jf_Palm,gm_o_jf_Pocketpc,gm_r_ex_Dictionary_Af,gm_r_ex_Dictionary_An,\ gm_r_ex_Dictionary_Ar,gm_r_ex_Dictionary_Be,gm_r_ex_Dictionary_Bg,gm_r_ex_Dictionary_Bn,gm_r_ex_Dictionary_Br,\ gm_r_ex_Dictionary_Pt_Br,gm_r_ex_Dictionary_Pt_Pt,gm_r_ex_Dictionary_Ca,gm_r_ex_Dictionary_Cs,gm_r_ex_Dictionary_Da,\ gm_r_ex_Dictionary_Nl,gm_r_ex_Dictionary_Et,gm_r_ex_Dictionary_Gd,gm_r_ex_Dictionary_Gl,gm_r_ex_Dictionary_Gu,gm_r_ex_Dictionary_De,\ gm_r_ex_Dictionary_He,gm_r_ex_Dictionary_Hi,gm_r_ex_Dictionary_Hu,gm_r_ex_Dictionary_It,gm_r_ex_Dictionary_Ku_Tr,gm_r_ex_Dictionary_Lt,\ gm_r_ex_Dictionary_Lv,gm_r_ex_Dictionary_Ne,gm_r_ex_Dictionary_No,gm_r_ex_Dictionary_Oc,gm_r_ex_Dictionary_Pl,\ gm_r_ex_Dictionary_Ro,gm_r_ex_Dictionary_Ru,gm_r_ex_Dictionary_Si,gm_r_ex_Dictionary_Sk,gm_r_ex_Dictionary_Sl,gm_r_ex_Dictionary_El,\ gm_r_ex_Dictionary_Es,gm_r_ex_Dictionary_Sv,gm_r_ex_Dictionary_Te,gm_r_ex_Dictionary_Th,gm_r_ex_Dictionary_Uk,gm_r_ex_Dictionary_Vi,\ gm_r_ex_Dictionary_Zu
Нижче наведено код для LibreOffice 3.5.2, з включеним журналом, вибором словників, англійською, французькою, іспанською, італійською, німецькою, російською, боснійською, хорватською та сербською мовами інтерфейсу, зареєстрованими всіма типами файлів, без онлайн-оновлення або мобільних компонентів, з функцією швидкого запуску (але не ввімкненою):
msiexec /qn /i LibO_3.5.2_Win_x86_install_multi.msi /l* LibreOffice_install_log.txt SELECT_WORD=1 \ SELECT_EXCEL=1 SELECT_POWERPOINT=1 REGISTER_ALL_MSO_TYPES=1 IS1078=0 IS1025=0 IS1101=0 IS1610=0 IS1059=0 \ IS1026=0 IS2117=0 IS2121=0 IS1150=0 IS1603=0 IS5146=0 IS1027=0 IS32771=0 IS1029=0 IS1106=0 IS1030=0 IS1031=1 \ IS1604=0 IS2129=0 IS1032=0 IS2057=0 IS7177=0 IS1553=0 IS1034=1 IS1061=0 IS1069=0 IS1065=0 IS1035=0 IS1036=1\ IS2108=0 IS1084=0 IS1110=0 IS1095=0 IS1037=0 IS1081=0 IS1050=1 IS1038=0 IS1057=0 IS1039=0 IS1040=1 IS1041=0 \ IS1079=0 IS1087=0 IS1107=0 IS1099=0 IS1042=0 IS1111=0 IS1120=0 IS1574=0 IS1134=0 IS1108=0 IS1063=0 IS1062=0 \ IS1605=0 IS1071=0 IS1100=0 IS1104=0 IS1112=0 IS1102=0 IS1109=0 IS1044=0 IS1121=0 IS1043=0 IS2068=0 IS1580=0 \ IS1132=0 IS1154=0 IS2162=0 IS1096=0 IS1094=0 IS1045=0 IS2070=0 IS1046=0 IS1048=0 IS1049=0 IS1569=0 IS1103=0 \ IS1606=0 IS1113=0 IS2074=1 IS2133=0 IS1051=0 IS1060=0 IS1052=0 IS3098=0 IS1579=0 IS1072=0 IS1053=0 IS1089=0 \ IS1097=0 IS1098=0 IS1064=0 IS1054=0 IS1074=0 IS1055=0 IS1073=0 IS1092=0 IS1152=0 IS1058=0 IS1091=0 IS1075=0 \ IS1066=0 IS1076=0 IS2052=0 IS1028=0 IS1077=0 IS1050=1 IS1033=1 ADDLOCAL=ALL RebootYesNo=No \ REMOVE=gm_o_Onlineupdate,gm_o_jf_Palm,gm_o_jf_Pocketpc,gm_r_ex_Dictionary_Af,gm_r_ex_Dictionary_An,\ gm_r_ex_Dictionary_Ar,gm_r_ex_Dictionary_Be,gm_r_ex_Dictionary_Bg,gm_r_ex_Dictionary_Bn,gm_r_ex_Dictionary_Br,\ gm_r_ex_Dictionary_Pt,gm_r_ex_Dictionary_Pt_Pt,gm_r_ex_Dictionary_Ca,gm_r_ex_Dictionary_Cs,gm_r_ex_Dictionary_Da,\ gm_r_ex_Dictionary_Nl,gm_r_ex_Dictionary_Et,gm_r_ex_Dictionary_Gd,gm_r_ex_Dictionary_Gl,gm_r_ex_Dictionary_Gu,\ gm_r_ex_Dictionary_He,gm_r_ex_Dictionary_Hi,gm_r_ex_Dictionary_Hu,gm_r_ex_Dictionary_Ku_Tr,gm_r_ex_Dictionary_Lt,\ gm_r_ex_Dictionary_Lv,gm_r_ex_Dictionary_Ne,gm_r_ex_Dictionary_No,gm_r_ex_Dictionary_Oc,gm_r_ex_Dictionary_Pl,\ gm_r_ex_Dictionary_Ro,gm_r_ex_Dictionary_Si,gm_r_ex_Dictionary_Sk,gm_r_ex_Dictionary_Sl,gm_r_ex_Dictionary_El,\ gm_r_ex_Dictionary_Sv,gm_r_ex_Dictionary_Te,gm_r_ex_Dictionary_Th,gm_r_ex_Dictionary_Uk,gm_r_ex_Dictionary_Vi,\ gm_r_ex_Dictionary_Zu
Встановлення розширення
Розширеннями можна керувати за допомогою UNOPKG, а також спільними розширеннями. Для отримання довідки використовуйте unopkg -h. Наприклад, щоб додати розширення:
"%PROGRAMFILES%\LibreOffice 4\program\unopkg add --suppress-license --shared \\server\LibreOffice\Extension.oxt"
Розгортання за допомогою об'єктів групової політики (GPO)
Сценарій запуску комп'ютера
Програми можна запускати автоматично під час запуску/вимкнення комп'ютера з правами адміністратора тихо у фоновому режимі. Ви можете використовувати це для запуску скрипта або пакетного файлу, який встановлює LibreOffice за потреби. Див. розділ Групова політика Microsoft сценарії запуску комп'ютера.
Нижче наведено ідею способу, як це можна зробити:
Налаштуйте новий об'єкт групової політики на контролері домену під назвою LibreOffice та прив'яжіть його до свого домену. Перейдіть на вкладку «Область» у розділі «Фільтрація безпеки» видаліть автентифікованих користувачів і додайте об'єкти комп'ютерів для робочих станцій, на які потрібно встановити LibreOffice. Фільтруючи об'єкти комп'ютерів, ви можете контролювати, до яких машин буде застосовуватися GPO, а до яких ні. Ви можете спростити це та просто замінити автентифікованих користувачів на «Комп'ютери домену», щоб розгорнути програмне забезпечення на кожній робочій станції в домені, або, можливо, розглянути фільтрацію за організаційною одиницею, що було б корисно для встановлення у відділах у різний час.
Перейдіть на вкладку «Відомості» об’єкта групової політики LibreOffice та змініть стан з «Увімкнено» на «Налаштування конфігурації користувача вимкнено». Єдине, що робить цей об’єкт групової політики, це запускає скрипт запуску для встановлення VCredist, пакета довідки LibreOffice для автономного режиму. Це тому, що скрипти запуску керуються в налаштуваннях конфігурації комп’ютера, а не користувача, тому це може заощадити мілісекунду. :-)
LibreOffice.vbs: Відкрийте об’єкт групової політики LibreOffice у редакторі керування груповими політиками, у розділі «Конфігурація комп’ютера» розгорніть «Політики», потім «Налаштування Windows». Виберіть «Сценарії (запуск/вимкнення)» та відкрийте «Властивості запуску». Клацніть лівою кнопкою миші «Показати файли» та створіть порожній текстовий файл під назвою LibreOffice.vbs (або будь-який інший файл, який вам більше подобається), введіть наступне за допомогою Блокнота:
bDebug = False
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
Set Reg = GetObject("winMgMts:StdRegProv")
iRet = Reg.EnumKey(HKEY_USERS, "S-1-5-19", AKeys)
If iRet <> 0 Then
Dim UAC : Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34), "", "runas", 1
WScript.Quit
End If
Dim WshShell : Set WshShell = CreateObject("WScript.Shell")
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WI = CreateObject("WindowsInstaller.Installer")
Const msiOpenDatabaseModeReadOnly = 0
' https://msdn.microsoft.com/en-us/library/windows/desktop/aa369487(v=vs.85).aspx
Const msiUILevelBasic = 3
Const msiUILevelNone = 2
Const msiUILevelHideCancel = 32
WI.UILevel = msiUILevelBasic
Dim InstallSource : InstallSource = objFSO.GetParentFolderName(Wscript.ScriptFullName)
Set objFolder = objFSO.GetFolder(InstallSource)
Set colFiles = objFolder.Files
Dim LibreOfficeSetup, LibreOfficeSetupVersion
Dim LibreOfficeHelpPack, LibreOfficeHelpPackVersion
Dim Name, Version, InstallLocation, LocalPackage, ProductCode
For Each objFile in colFiles
If LCase(objFSO.GetExtensionName(objFile.Name)) = "msi" Then
' If bDebug Then Wscript.Echo objFile.Name & " (" & objFSO.GetExtensionName(objFile.Name) & ")"
On Error Resume Next
Set db = WI.OpenDatabase(objFSO.BuildPath(InstallSource, objFile.Name), msiOpenDatabaseModeReadOnly)
If (Err.Number <> 0) Then
If bDebug Then Wscript.Echo Err.Source & " " & Hex(Err) & ": " & Err.Description
Wscript.Quit(1)
End If
On Error Goto 0
Set view = db.OpenView("SELECT `Value` FROM `Property` WHERE `Property` = 'ProductName'")
view.Execute()
Name = view.Fetch().StringData(1)
' If bDebug Then Wscript.Echo Name
If Left(Name, Len("LibreOffice")) = "LibreOffice" Then
Set view = db.OpenView("SELECT `Value` FROM `Property` WHERE `Property` = 'ProductVersion'")
view.Execute()
Version = view.Fetch().StringData(1)
If InStr(Name, "Help Pack") Then
If IsEmpty(LibreOfficeHelpPackVersion) Or Replace(LibreOfficeHelpPackVersion, ".", "") < Replace(Version, ".", "") Then
LibreOfficeHelpPack = objFile.Name
LibreOfficeHelpPackVersion = Version
End If
Else
If IsEmpty(LibreOfficeSetupVersion) Or Replace(LibreOfficeSetupVersion, ".", "") < Replace(Version, ".", "") Then
LibreOfficeSetup = objFile.Name
LibreOfficeSetupVersion = Version
End If
End If
End If
End If
Next
If bDebug Then
Wscript.Echo "LibreOfficeSetup = " & LibreOfficeSetup & " (" & LibreOfficeSetupVersion & ")" & vbNewLine & _
"LibreOfficeHelpPack = " & LibreOfficeHelpPack & " (" & LibreOfficeHelpPackVersion & ")"
End If
If IsEmpty(LibreOfficeSetup) Then WScript.Quit(2)
Set Products = WI.Products
'For Each Product In Products
' On Error Resume Next
' Name = WI.ProductInfo(Product, "ProductName")
' If Left(Name, Len("LibreOffice")) = "LibreOffice" And InStr(Name, "Help Pack") Then
' Version = DecodeVersion(WI.ProductInfo(Product, "Version"))
' If IsEmpty(LibreOfficeHelpPack) And Replace(Version, ".", "") < Replace(LibreOfficeSetupVersion, ".", "") Then
' Uninstall(Product)
' End If
' Exit For
' End If
'Next
bInstallLibreOffice = True
bInstallLibreOfficeHelpPack = Not(IsEmpty(LibreOfficeHelpPack))
For Each Product In Products
On Error Resume Next
Name = WI.ProductInfo(Product, "ProductName")
Version = DecodeVersion(WI.ProductInfo(Product, "Version")) ' objFSO.GetFileVersion(InstallLocation & "\program\swriter.exe")
If Left(Name, Len("LibreOffice")) = "LibreOffice" Then
If InStr(Name, "Help Pack") Then
If Replace(Version, ".", "") >= Replace(Left(LibreOfficeHelpPackVersion, Len(Version)), ".", "") Then
bInstallLibreOfficeHelpPack = False
End If
Else
If Replace(Version, ".", "") >= Replace(Left(LibreOfficeSetupVersion, Len(Version)), ".", "") Then
bInstallLibreOffice = False
End If
End If
If bDebug Then s1 = s1 & Name & " (" & Version & ") - " & Product & vbNewLine
End If
If Left(Name, Len("OpenOffice.org")) = "OpenOffice.org" Then
Uninstall(Product)
End If
If bDebug Then s2 = s2 & Name & " (" & Version & ") - " & Product & " "
Next
If bDebug Then
Wscript.Echo s1 & vbNewLine & "bInstallLibreOffice = " & bInstallLibreOffice & vbNewLine & _
"bInstallLibreOfficeHelpPack = " & bInstallLibreOfficeHelpPack
Wscript.Echo s2
'Wscript.Quit(0)
End If
If bInstallLibreOffice Then
Dim Temp : Temp = objFSO.GetSpecialFolder(2)
' VCRedist
' WshShell.Run """" & objFSO.BuildPath(InstallSource, "vcredist_x86.exe") & """ /q /promptrestart / l """ & Temp & "\vcredist_install_log.txt"""
WI.EnableLog "voicewarmup", objFSO.BuildPath(Temp, "LibreOffice_install_log.txt")
WI.InstallProduct objFSO.BuildPath(InstallSource, LibreOfficeSetup), "ALLUSERS=1 ISCHECKFORPRODUCTUPDATES=0 RebootYesNo=No REBOOT=ReallySuppress"
' WshShell.Run "msiexec /i """ & objFSO.BuildPath(InstallSource, LibreOfficeSetup) & """ /qb /norestart ALLUSERS=1 ISCHECKFORPRODUCTUPDATES=0 RebootYesNo=No REBOOT=ReallySuppress /l* """ & Temp & "\LibreOffice_install_log.txt"""
Set Products = WI.Products
For Each Product In Products
On Error Resume Next
Name = WI.ProductInfo(Product, "ProductName")
If Left(Name, Len("LibreOffice")) = "LibreOffice" Then
InstallLocation = WI.ProductInfo(Product, "InstallLocation")
End If
Next
If IsEmpty(InstallLocation) Then
If WshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") <> "x86" Then
ProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")
Else
ProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles(x86)%")
End If
Dim objFolder, objSubFolders, objSubFolder
Set objFolder = objFSO.GetFolder(ProgramFiles)
Set colSubFolders = objFolder.SubFolders
For Each objSubFolder In colSubFolders
If Left(objSubFolder.Name, Len("LibreOffice")) = "LibreOffice" Then
If objFSO.FileExists(ProgramFiles & "\" & objSubFolder.Name & "\program\swriter.exe") Then
InstallLocation = ProgramFiles & "\" & objSubFolder.Name & "\"
Exit For
End If
End If
Next
End If
If IsEmpty(InstallLocation) Then Wscript.Quit(3)
If objFSO.FileExists(objFSO.BuildPath(InstallSource, "MacroSecurityLevel.xcd")) Then
objFSO.CopyFile objFSO.BuildPath(InstallSource, "MacroSecurityLevel.xcd"), InstallLocation & "share\registry"
End If
End If
If bInstallLibreOfficeHelpPack Then
WI.EnableLog "voicewarmup", objFSO.BuildPath(Temp, "libo_helpinstall_log.txt")
WI.InstallProduct objFSO.BuildPath(InstallSource, LibreOfficeHelpPack), "RebootYesNo=No REBOOT=ReallySuppress"
' WshShell.Run "msiexec /i """ & objFSO.BuildPath(InstallSource, LibreOfficeHelpPack) & """ /qb /norestart RebootYesNo=No REBOOT=ReallySuppress /l* """ & Temp & "\libo_helpinstall_log.txt"""
End If
Sub Uninstall(Product)
On Error Resume Next
LocalPackage = WI.ProductInfo(Product, "LocalPackage")
If Not IsEmpty(LocalPackage) Then
WI.InstallProduct LocalPackage, "REMOVE=ALL"
Else
WshShell.Run "msiexec /qb! /uninstall " & Product, 0, True
End If
End Sub
Function DecodeVersion(version)
On Error Resume Next
version = CLng(version)
DecodeVersion = version\65536\256 & "." & (version\65535 MOD 256) & "." & (version Mod 65536)
End FunctionЗбережіть та закрийте Блокнот.
У Властивостях автозавантаження клацніть лівою кнопкою миші «Додати». З’явиться діалогове вікно «Додати сценарій», у якому слід відкрити інше вікно Провідника та вибрати сценарій LibreOffice.vbs, потім натисніть «ОК» та поверніться до «Властивостей автозавантаження». Сценарій тепер має бути в списку «Сценарії автозавантаження для LibreOffice». Натисніть «ОК», щоб закрити «Властивості автозавантаження», та закрийте всі інші.
Новий об’єкт групової політики тепер запускатиме LibreOffice.vbs на робочих станціях щоразу, коли вони вмикаються, якщо він не встановлено або коли потрібне оновлення зі старішої версії.
Хоча встановлення об’єкта групової політики можливе, пам’ятайте, що автоматична інсталяція MSI за замовчуванням встановлює всі словники. Див. tdf#45750 про потенційні проблеми з розгортанням через об’єкт групової політики.
Кероване розгортання програмного забезпечення
Це рекомендований метод, оскільки ви можете централізовано керувати тим, яка версія LibO встановлена на різних машинах в Active Directory, а також централізовано розгортати оновлення, просто додавши новіший пакет до об’єкта групової політики.
- Завантажте інсталятор для версії LibO, яку ви хочете розгорнути.
- Відкрийте MSI-файл в ORCA або InstEd. (Посилання для завантаження дивіться в розділі про редагування MSI.)
- Перейдіть до ▸ в ORCA або ▸ в InstEd.
- Видаліть деякі мовні коди, перелічені в полі «Мови», переконавшись, що ви зберегли принаймні той(і) потрібний(і). http://www.science.co.il/language/locale-codes.asp (Це необхідно, щоб уникнути помилки під час додавання пакета до об'єкта групової політики.)
- Збережіть MSI в мережевому розташуванні, де всі облікові записи машин мають доступ на читання.
- Якщо ви хочете налаштувати інсталяцію, створіть перетворення за допомогою ▸
- Клацніть таблицю «Властивості» ліворуч, а потім внесіть зміни праворуч, як описано в розділі редагування MSI.
- Збережіть перетворення в мережевому розташуванні, де всі облікові записи машин мають доступ на читання.
- (Ви можете створити скільки завгодно перетворень з різними параметрами та використовувати їх з одним MSI-файлом.)
- Запустіть інструмент керування груповими політиками (gpmc.msc)
- Розгорніть свій домен, клацніть правою кнопкою миші на Об'єкти групової політики та виберіть Створити. Назвіть його якось корисно, наприклад, "Розгорнути LibreOffice". (Пропустіть цей крок, якщо ви просто оновлюєте LibO.)
- Клацніть правою кнопкою миші на "Розгорнути LibreOffice" та виберіть Редагувати...
- Перейдіть до ▸ ▸ ▸
- Клацніть правою кнопкою миші на правій панелі та виберіть ▸
- Перейдіть до мережевого розташування (наприклад, \\сервер\спільний ресурс\foo), де зберігається MSI-файл, та виберіть його.
- Виберіть Додатково та натисніть OK.
- Перевірте, чи всі параметри відповідають вашим потребам. (Якщо ви вже робили це раніше, на вкладці «Оновлення» відображатимуться старіші версії, які будуть автоматично оновлені цим новим пакетом.)
- Якщо ви хочете включити перетворення, перейдіть на вкладку «Модифікації», натисніть «Додати» та перейдіть до мережевого розташування, де знаходиться файл MST.
- Натисніть «ОК» та закрийте редактор групової політики.
- Повернувшись у головний редактор, клацніть правою кнопкою миші на політиці «Розгорнути LibreOffice», виберіть ▸ , щоб вона була позначена. (Це трохи економить час обробки, оскільки ми змінили лише налаштування комп’ютера.)
- Перетягніть цю політику поверх організаційного підрозділу, що містить машини, на яких ви хочете розгорнути LibO.
- Приблизно через 10 хвилин машини в організаційному підрозділі матимуть цю політику. Під час наступного перезавантаження вони автоматично встановлять/оновлять LibO.
Маніпуляції з MSI-файлом / Створення MST-перетворення
Ви можете маніпулювати MSI-файлом або створити MST-файл перетворення за допомогою програми, такої як ORCA або InstEd. Ви редагуватимете лише таблицю Властивість. Параметри, описані вище, також застосовуються тут. Відредагуйте (або додайте) рядки в таблиці, які відповідають елементам, які ви хочете змінити.
Щоб обмежити встановлення мов інтерфейсу користувача:
- Додайте рядок із властивістю UI_LANGS та встановіть для нього значення списку мов, які ви хочете мати доступними для інтерфейсу користувача, розділених комами (наприклад, en_US,it,es)
Щоб встановити лише певні елементи:
- Додайте рядок із властивістю ADDLOCAL та встановіть для нього значення ALL.
- Додайте ще один параметр під назвою REMOVE та встановіть його як список елементів, розділених комами, які ви не хочете встановлювати, як у прикладах встановлення з командного рядка вище. (Це особливо корисно для обмеження кількості встановлених орфографічних словників, оскільки повний набір може займати значний дисковий простір.) Список елементів, які можна тут розмістити, можна знайти у стовпці "Feature" таблиці Feature. (Зверніть увагу, що вам не потрібно турбуватися про будь-які елементи "langpack", оскільки властивість UI_LANGS, згадана вище, обробить їх виключення.)
- Крім того, ви можете встановити REMOVE як ALL та вказати список елементів, розділених комами, які ви хочете встановити для ADDLOCAL, але цей метод вимагає більшої обережності, оскільки вам потрібно переконатися, що ви також включили всі залежні елементи.
Налаштування після розгортання
Тиха інсталяція MSIEXEC не дозволяє контролювати всі параметри.
▸ ▸ ▸ встановлено на Високий. Щоб мати змогу відкрити макрос, його потрібно встановити на Середній.
Мовні налаштування встановлено за замовчуванням. ▸ ▸ ▸ ▸ , ▸ ▸ ▸ та ▸ ▸ ▸ ▸ не можна встановити під час тихої інсталяції.
Аналогічний формат документів за замовчуванням, доступний у графічному інтерфейсі в розділі ▸ ▸ ▸ , не можна встановити під час тихої інсталяції.
Ці налаштування здебільшого є особистими та зберігаються у спеціальному файлі registrymodifications.xcu. Панелі інструментів та значки також є особистими. Наприклад, власні панелі інструментів Writer знаходяться в "%userprofile%\AppData\...\LibreOffice\4\user\config\soffice.cfg\modules\swriter\toolbar".
Деякі хитрощі для налаштування після розгортання
У деяких ситуаціях, таких як зниження рівнів безпеки макросів під час тихої інсталяції або налаштування опції для інсталяції, можна виконати, розмістивши XML-файл у потрібному місці після встановлення LibreOffice за допомогою скрипта або автоматизованого інструменту. Зверніть увагу, що це не підтримуваний спосіб надання конфігурації користувача (див. Посібник розробника), а радше хак; він може не працювати в деяких випадках або залежати від імені XML-файлу. Єдиний підтримуваний спосіб централізованого керування параметрами конфігурації – це використання розширень (обговорюються пізніше).
Наприклад, наступний XML-файл із розширенням .xcd можна розмістити в %PROGRAMFILES%\LibreOffice\share\registry і встановити рівень безпеки макросів на Середній
<?xml version="1.0"?>
<oor:data xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oor="http://openoffice.org/2001/registry">
<dependency file="main" />
<oor:component-data xmlns:install="http://openoffice.org/2004/installation"
oor:name="Common" oor:package="org.openoffice.Office">
<node oor:name="Security">
<node oor:name="Scripting">
<prop oor:name="MacroSecurityLevel" oor:op="fuse">
<value>1</value>
</prop>
</node>
</node>
</oor:component-data>
</oor:data>
У цьому прикладі вмикаються експериментальні функції (для запису макросу)
<?xml version="1.0"?>
<oor:data xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oor="http://openoffice.org/2001/registry">
<dependency file="main" />
<oor:component-data xmlns:install="http://openoffice.org/2004/installation" oor:name="Common" oor:package="org.openoffice.Office">
<node oor:name="Misc">
<prop oor:name="ExperimentalMode" oor:op="fuse" oor:type="xs:boolean">
<value>true</value>
</prop>
</node>
</oor:component-data>
</oor:data>
Цей приклад вимикає автоматичне оновлення (і запобігає заміні користувача):
<?xml version="1.0"?>
<oor:data xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oor="http://openoffice.org/2001/registry">
<dependency file="main"/>
<oor:component-data xmlns:install="http://openoffice.org/2004/installation" oor:name="Jobs" oor:package="org.openoffice.Office">
<node oor:name="Jobs">
<node oor:name="UpdateCheck" oor:op="fuse">
<node oor:name="Arguments">
<prop oor:name="AutoCheckEnabled" oor:type="xs:boolean" oor:op="replace" oor:finalized="true">
<value>false</value>
</prop>
</node>
</node>
</node>
</oor:component-data>
<oor:component-data xmlns:install="http://openoffice.org/2004/installation" oor:name="Update" oor:package="org.openoffice.Office">
<node oor:name="Update" oor:op="fuse">
<prop oor:name="Enabled" oor:type="xs:boolean" oor:op="replace" oor:finalized="true">
<value>false</value>
</prop>
</node>
</oor:component-data>
</oor:data>
Реєстр Windows
Будь-який із 25 000 параметрів LibreOffice можна налаштувати та керувати ними через реєстр Windows, це можна зробити за допомогою однієї або кількох групових політик в Active Directory або подібній системі адміністрування.
Наприклад, встановіть для «Рівня безпеки макросів» значення «Високий» та заблокуйте параметри:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\LibreOffice\org.openoffice.Office.Common\Security\Scripting\MacroSecurityLevel]
"Value"="2"
"Final"=dword:00000001
Властивості розширюваних груп потребують типу. Наприклад, це вимкне перевірку оновлень у розділі ▸ :
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\LibreOffice\org.openoffice.Office.Jobs\Jobs\org.openoffice.Office.Jobs:Job['UpdateCheck']\Arguments\AutoCheckEnabled]
"Value"="false"
"Final"=dword:00000001
"Type"="xs:boolean"
Прочитайте про це в нотатках до випуску LibreOffice 4.2 [1]. Також див. файли ADMX групової політики Windows нижче
Файли ADMX групової політики Windows
LibreOffice можна налаштувати та керувати ним у домені Windows за допомогою файлів ADMX групової політики. Для отримання додаткової інформації також див.:
- https://www.collaboraoffice.com/windows-group-policy-admx/
- https://github.com/somedowntime/libreofficegrouppolicy
Розширення конфігурації
LibreOffice також можна налаштувати за допомогою розширення конфігурації. Для отримання додаткової інформації прочитайте Media:LibreOffice config extension writing.pdf та супровідний приклад OXT configuration extension.
Видалення LibreOffice та пакета довідки
У системі, де вже встановлено LibreOffice, ви можете отримати рядок видалення для цієї конкретної версії, однаковий для всіх мов. Створіть порожній текстовий файл під назвою LibreOfficeUninstall.vbs (або будь-яку іншу назву, яку ви віддаєте перевагу), введіть наступне за допомогою Блокнота:
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
Set Reg = GetObject("winMgMts:StdRegProv")
iRet = Reg.EnumKey(HKEY_USERS, "S-1-5-19", AKeys)
If iRet <> 0 Then
Dim UAC : Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34), "", "runas", 1
WScript.Quit
End If
Set WI = CreateObject("WindowsInstaller.Installer")
Dim WshShell : Set WshShell = CreateObject("WScript.Shell")
' https://msdn.microsoft.com/en-us/library/windows/desktop/aa369487(v=vs.85).aspx
Const msiUILevelBasic = 3
Const msiUILevelNone = 2
Const msiUILevelHideCancel = 32
WI.UILevel = msiUILevelBasic
Set Products = WI.Products
For Each Product In Products
On Error Resume Next
Name = WI.ProductInfo(Product, "ProductName")
If Left(Name, Len("LibreOffice")) = "LibreOffice" Then
LocalPackage = WI.ProductInfo(Product, "LocalPackage")
If Not IsEmpty(LocalPackage) Then
WI.InstallProduct LocalPackage, "REMOVE=ALL"
Else
WshShell.Run "msiexec /qb! /uninstall " & Product, 0, True
End If
End If
Next
Збережіть, вийдіть з Блокнота та запустіть скрипт.