Отключить сообщения LO

Автор Kadet, 3 октября 2020, 18:30

0 Пользователи и 1 гость просматривают эту тему.

Kadet

#15
economist, спасибо за советы. Попробую. Поэкспериментирую.

Вот, продолжая поиски и эксперименты нашёл такую вот программу - ТУТ. Как утверждает автор - ему помогло.
Sub NoRestore()
Dim fso, WshShell, UserProfilePatch, NewRewrite, FileName, File
Dim LineInFile, NewFileContent, TestStr, TestStrLen
Dim ForReading : ForReading   = 1
Dim ForWriting : ForWriting   = 2
Dim ForAppending : ForAppending = 8

fso = CreateObject("Scripting.FileSystemObject")
WshShell = CreateObject("WScript.Shell")

FileName = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\AppData\Roaming\LibreOffice\4\user\registrymodifications.xcu"
NewFileContent = ""
TestStr = "{item oor:path=" & chr(34) & "/org.openoffice.Office.Recovery/"

TestStrLen = Len (TestStr)
NewRewrite = 0
If fso.FileExists(FileName) then
File = fso.OpenTextFile(FileName, ForReading)
Do While Not File.AtEndOfStream
LineInFile = File.ReadLine
If Not(Left(LineInFile, TestStrLen) = TestStr) Then
NewFileContent = NewFileContent & Chr(10) & LineInFile
NewRewrite = 1
End if
Loop
File.Close
End if
End Sub

На домашней Win7 почему-то не пошёл макрос. Пришлось переписывать. А вот на работе на Win10 вроде бы пошло (пока не разобрался почему).
Вешаю этот макрос на событие "Запуск приложения" в LibreOffice. Результата нет. Запрос на восстановление продолжает вылетать.

Пробую сделать батник на запуск приложения с параметрами. Для командной строки "Выполнить" делаю так:
~/office/program/soffice --norestore --invisible --nofirststartwizard C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb
Прекрасно работает.
Для батника приходится переписывать:
"C:/Program Files/LibreOffice/program/soffice" /norestore /invisible /nofirststartwizard C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb
Или так:
"C:/Program Files/LibreOffice/program/soffice" /norestore /invisible /nofirststartwizard
C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb

Офис запускается, параметры не воспринимаются, а на саму программу ругается, якобы её нет. А если запустить саму прогу в батнике:
C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb
то всё запускается, только параметры всё равно не воспринимаются. Что я делаю не так?

bigor

#16
А зачем в батнике -- менять на / ? И invisible скорее всего лишее.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Kadet

Цитата: Bigor от 19 октября 2020, 11:23А зачем в батнике -- менять на / ?
Потому что на Win7 у меня ругалось на каждый "--" говоря, что "не знаю параметра". Возможно потому, что изначальный символ, который я ставил перед параметрами "~" в CMD почему-то трансформировался в "-", а не в "--".

Однако, сейчас сделал батник с такой командой:
~/office/program/soffice --norestore --invisible --nofirststartwizard C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb
Ругаться не ругается, но и не запускается. Мельком экран открывается, закрыватся и на этом всё. Ща буду экспериментировать и пробовать шо не так.

bigor

Пропишите в нем pause второй строчкой.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Kadet

Спасибо за советы и помощь. Разобрался. Вот в таком виде пошло.
"C:/Program Files/LibreOffice/program/soffice" --norestore --invisible --nofirststartwizard C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb

Kadet

Однако,.. косяк на косяке.
Сделал батник:
@echo off
"C:/Program Files/LibreOffice/program/soffice" --norestore --invisible --nofirststartwizard C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb
exit

Всё заработало, но выскочил косяк. Окно cmd висит. Если его закрыть, то и программа закрывается.
Ща буду разбираться как cmd запустить в фоне.

Kadet

#21
Научился запускать базу с параметрами, без окна CMD и без запроса на восстановление, но только из VBS скрипта.
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run("""C:/Program Files/LibreOffice/program/soffice"" --norestore --invisible --nofirststartwizard C:/Users/%USERNAME%/Desktop/Cyanopica_demo.odb"), 0
Set WshShell = Nothing


Однако, считаю, что это всё тики "через одно место".
Гораздо лучше было бы таки изменить параметр ExistsRecoveryData, а не внедрять посреднический скрипт.

Хотя... Если потом конвертировать всё это в exe, да ещё вставить свою иконку, то может так оно и лучше.

Kadet

Продолжу свои изыскания. Честно говоря, понравилась идея сделать exe-шники на запуск. В принципе, нечто подобно давно планировал сделать.
Но, идея получила своё развитие. Exe-шник (посредством vbs-скрипта) на запуск программы сделал. Работает хорошо.
Теперь решил ещё сделать exe-шники на Install программы. Идея такая - скачивать LO и пр. нужные программы с оф.сайтов и тихо устанавливать их.
Однако, как обычно, на дороге валялись грабли. Не получается закачать с сайта инсталяху.
Пробую посредством CMD:
curl -f -# -O http://download.documentfoundation.org/libreoffice/stable/7.0.2/win/x86_64/LibreOffice_7.0.2_Win_x64.msi

Создаёт пустышку, но ничего не закачивает.

Так:
bitsadmin /transfer /download /priority high "http://download.documentfoundation.org/libreoffice/stable/7.0.2/win/x86_64/LibreOffice_7.0.2_Win_x64.msi"
Делает вид, что закачивает, бегут проценты, но в итоге создаётся некий файл с нужным именем, размером в 4KB и он не работает.

Посредством VBS-скрипта, допустим так:
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
'подключение
oXMLHTTP.Open "GET", "http://download.documentfoundation.org/libreoffice/stable/7.0.2/win/x86/LibreOffice_7.0.2_Win_x86.msi", 0
'получение файла
oXMLHTTP.Send
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
'сохранение (с перезаписью файла при необходимости)
oADOStream.SaveToFile "D:\Download\LibreOffice_7.0.2_Win_x86.msi", 2
MsgBox "Файл D:\Temp\ocs_last.dos.zip сохранён."

Ругается на строку - "oXMLHTTP.Send" с пояснением - "Отказано в доступе".

Такое впечатление, что инсталяха запрещена на сайте от автоматического скачивания.
Возможно ли вообще инсталяху LO скачать скриптом с сайта?

kompilainenn

Я бы не делал так. Возможно там, где ваш ехе будет работать не будет интернета или будет запрет на доступ во вне на сайт Либры.
Плюс где гарантия, что очередная версия не поломает что-нибудь в вашей софтине?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Kadet

#24
kompilainenn, думал об этом. Как вариант - использовать файлообменник, в который я лично могу выкладывать проверенные инсталяхи, предварительно обезличив их от версий. Тогда у всех и всегда будет доступ к проверенным файлам.

Однако, вот если отстраниться от постоянно изменяющегося LO, то помимо него нужно скачивать стабильный FireBird_3.0. Он уже много-много лет не меняется. К тому же если установить ссылку на конкретную версию инсталяхи (3.0) то помимо него, уже проверенного, другое не скатается.
Кстати, если в LO тоже закрепить путь к конкретной проверенной версии, тоже проблем с нововведениями не будет.

А вот на счёт подключения к инету - то ни кто не возбраняет сделать проверку на подключение с выводом сообщения-требования - подключиться иначе - нафиг из инсталла.

Однако, проверял скрипты на разных сайтах. Нигде не удалось ничего скачать. Хотя в инете говорят, что эти скрипты работают.

bigor

Цитата: Kadet от 20 октября 2020, 11:05Однако, проверял скрипты на разных сайтах. Нигде не удалось ничего скачать. Хотя в инете говорят, что эти скрипты работают.
Работают, только нужно ссылки правильные указывать. Попробуйте
curl -O -# http://libreoffice-mirror.rbc.ru/pub/libreoffice/libreoffice/stable/7.0.1/deb/x86_64/LibreOffice_7.0.1_Linux_x86-64_deb.tar.gz
Файлы лежат на зеркале, и нужно или curl  учить это понимать, или самому ссылки правильные указывать
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

sokol92

Цитата: Bigor от 20 октября 2020, 13:50curl  учить это понимать
curl сам, кого хочешь, научит! ;D
Для переадресации достаточно добавить в первоначальном примере для скачивания опцию -L
Владимир.

Kadet

Bigor, огромное спасибо!
Получилось.

bigor

Цитата: sokol92 от 20 октября 2020, 14:17Для переадресации достаточно добавить в первоначальном примере для скачивания опцию -L
Спасибо.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Kadet

 ;D
Грабли повсюду.
CMD даёт прекрасный индикатор закачки, но проблема с русским языком.
VBS прекрасно говорит по-русски, но проблема с индикацией закачки.
;D