Ru-Board.club
← Вернуться в раздел «Программы»

» Oracle VM VirtualBox (часть 2)

Автор: Aleksandr N
Дата сообщения: 26.01.2016 19:22
Gredsaz
К стати, ценно. Лично мне нравятся портативки от PortableApp. Надо пощупать. Только вот дистрибутив распаковывать не сможет, а обновлять перекидыванием файлов в отдельные папки.
Автор: CaptainFlint
Дата сообщения: 26.01.2016 20:52
Aleksandr N

Цитата:
При использовании портативки, при запуске ругается на отсутствующий ssleay32.dll (как на моей картинке выше), но при этом успешно запускается и всё работает. При копировании библиотек OpenSSL в System32, ругани нет и всё работает.

В заголовке окна с ошибкой я вижу AutoIt. Судя по всему, ругается именно скрипт, пытающийся сделать VB портативным, а не сам VB. Раз установленная версия работает (и уж тем более, раз несмотря на ошибку, портативный VB всй равно запускается), то все вопросы исключительно к авторам скрипта.


Цитата:
Проверь в исходниках указания на пути библиотек. Считаю что не нужно боксу их искать в System32.

Путь библиотек почти никто почти никогда под виндами не указывает. Windows при запуске любой программы по умолчанию ищет библиотеки сначала в каталоге с программой (где они у меня и лежат), потом в PATH.


Цитата:
Ты упомянул что при подписании файлов компилятор выставляет флаг какой-то... Погоди, а зачем в компиляторе указывать что после компиляции нужно подписать файлы??? Пускай при компиляции ничего не подписывается и флаг никакой не выставится. А потом уж ручками каждый файл подписать. Муторно конечно каждый подписывать, но для уверенности выявления проблемы можно попробовать.

Уверенность выявления проблемы у меня и так уже есть. Я в собранных и подписанных файлах этот флаг сбрасывал, и всё начинало работать. Собственно, так я и понял, что причина именно в нём. Так что никакое ручное подписывание не требуется. (Я один раз вынужден был его делать, на ранних этапах изучения процедуры сборки; больше не хочу. Это дико муторно, т.к. кроме подписывания файлов надо ещё перегенерировать драйверные каталоги, и их отдельно подписывать.)

Что касается флага: он выставляется не при подписывании, а заодно с подписыванием. И не компилятором. Для тех файлов, которые компилируются из исходников, этот флаг ставится линковщиком. А для файлов, которые просто берутся в готовом виде (msvc*, OpenSSL и пр.), этот флаг выставляется утилитой editbin. Установка или неустановка этого флага зависит от выбранного режима подписывания, от включения/выключения харденинга и от ещё некоторых дополнительных условий. Так что я не могу просто взять и отключить этот флаг. Вернее, могу, но тогда перестанет корректно работать сборка с включённым харденингом и/или с полноценной подписью, и значит, я не смогу такую модификацию предложить в Oracle (чтобы не проделывать одну и ту же работу при выходе каждой новой версии). Кроме того, в MSDN говорится, что этот флаг в 64-битных драйверах обязан быть включённым. Что будет, если его выключить, не уточняется, то есть мне ещё и с этой особенностью придётся досконально разобраться, прежде чем модифицировать сборочные правила…
Автор: Aleksandr N
Дата сообщения: 26.01.2016 22:38

Цитата:
Судя по всему, ругается именно скрипт, пытающийся сделать VB портативным

Да, возможно это так, хотя в скрипте нет списка подгружаемях файлов. Но и в оригинальном дистрибутиве нет библиотек OpenSSL.

Цитата:
Windows при запуске любой программы по умолчанию ищет библиотеки сначала в каталоге с программой (где они у меня и лежат), потом в PATH.

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

В общем будем ждать когда скажешь что всё готово для тестов.
Автор: CaptainFlint
Дата сообщения: 26.01.2016 23:19
Aleksandr N

Цитата:
Да, возможно это так, хотя в скрипте нет списка подгружаемях файлов. Но и в оригинальном дистрибутиве нет библиотек OpenSSL.

Возможно, какие-то неявные завязки имеются. Я ж не знаю, что это за скрипт и что он делает.
В оригинальном дистрибутиве — да, OpenSSL вкомпилен статически. Но у меня не получилось сделать статическую версию, а при отлично работающей (в нормальных условиях) динамической я счёл излишним тратить кучу времени ещё и на эту особенность.


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

Не понял мысль. Если Windows и без того будет подгружать библиотеки из каталога VB, то какой смысл отдельно прописывать в исходниках точно такое же поведение, но уже явным образом?
Автор: Aleksandr N
Дата сообщения: 27.01.2016 16:39
CaptainFlint
Я не знаю... Сегодня подписал файлы из твоей последней сборки своим сертификатом выданный мне мной-же. Бокс замечательно запускается и работает... Но скрипт портативки всё так-же материться на отсутствие библиотеки OpenSSL...

Добавлено:
Может у тебя гранаты, ой, сертификат не той системы? Помнится когда я делал свой сертификат, выставлял в нём возможность подписания ПО. (Подписывание кода (1.3.6.1.5.5.7.3.3)) А в твоём сертификате я такой строки не нашёл...
Автор: CaptainFlint
Дата сообщения: 27.01.2016 21:26
Aleksandr N

Цитата:
Сегодня подписал файлы из твоей последней сборки своим сертификатом выданный мне мной-же. Бокс замечательно запускается и работает...

Разумеется, потому что ты взял за основу файлы, которые собирались мной без автоподписывания, в которых нет флага. Сборочные скрипты так работают, что выставляют флаг проверки подписи лишь при наличии этой самой подписи. Я же отвечал выше, что да, вполне можно взять эти файлы и подписать вручную, просто долго и неудобно.


Цитата:
Может у тебя гранаты, ой, сертификат не той системы? Помнится когда я делал свой сертификат, выставлял в нём возможность подписания ПО. (Подписывание кода (1.3.6.1.5.5.7.3.3)) А в твоём сертификате я такой строки не нашёл...

Во-первых, я генерировал универсальный сертификат, без указания областей применения. В этом случае они не перечисляются явно, а просто все разрешены.
Во-вторых, на самом деле, это не имеет ни малейшего значения. 64-битная винда в нормальном режиме не примет такой сертификат, хоть разрешено в нём подписывание кода, хоть запрещено. 64-битная винда в тестовом режиме и 32-битная винда примут этот сертификат, опять-таки, независимо от наличия в нём этого разрешения. Разрешения играют роль лишь для полноценных сертификатов.
Автор: Aleksandr N
Дата сообщения: 27.01.2016 21:58
CaptainFlint
Насчёт принятия сертификата точно не могу сказать, не приходилось проверять. Возможно я тебя раньше не так понял... По-моему ответ на проблему создания дистрибутива очевиден. Сертификат нормальный не купить ибо дорого. Компилировать файлы с автоподписыванием бессмысленно ибо вообще ничего не работает, остаётся подписывать после ручками хоть и муторно...
Что дальше тебе делать сложно подсказать. Лично у меня 32-битный портативный вариант работает как подписанный так и не подписанный, что есть гуд. А главное запускается и нет защиты. Про 64-битный вариант не могу сказать.
Я-бы посоветовал выпускать эту сборку с появлением новых официальных версий так как они без защиты. А кому нужно будет, тот воспользуется твоей сборкой.
Автор: CaptainFlint
Дата сообщения: 27.01.2016 22:18
Aleksandr N

Цитата:
Компилировать файлы с автоподписыванием бессмысленно ибо вообще ничего не работает

В точности наоборот: компилировать с автоподписыванием — это единственный осмысленный вариант. Вот любой другой делать как раз бессмысленно: неподписанным пользоваться на 64-битках будет фактически невозможно, а подписывать ручками я точно не буду.
Поэтому я буду разбираться с флагом проверки подписи, выяснять, для чего он нужен на 64-битных системах и править сборочные скрипты, чтобы он выставлялся не всегда, а только тогда, когда действительно необходим.

На текущий момент, пока я с этим не разобрался, у нас есть два дистрибутива: кто пользуется 32-битной виндой, пусть берёт неподписанный (если хочет, сможет подписать сам, это на работоспособность абсолютно никак не повлияет — ни в лучшую, ни в худшую сторону); кто сидит на 64-битке, пусть берёт подписанный дистрибутив (выложенный на geektimes) и включает тестовый режим. В будущем, когда я разберусь с флагом, будет единый дистрибутив, объединяющий преимущества этих двух. Никакой другой меня не устроит.
Автор: Aleksandr N
Дата сообщения: 28.01.2016 07:29
CaptainFlint
Ладно, будем ждать от тебя готовый вариант. А вообще, спасибо за труды.
Автор: Sisin
Дата сообщения: 28.01.2016 20:30

Цитата:
Подскажите, пожалуйста, как избавиться от процесса VirtualBox.exe, который остается висеть в трее после выхода из портабельной сборки VirtualBox 5.0.14 r105127???


Цитата:
Делаешь батник со следующим содержимым: Код: TASKKILL /F /IM VirtualBox.exe /T и запускаешь от админа, а может и без админа прибъёт, не знаю с какими привилегиями он работает.


Решил проблему с помощью bat-файла, который кладется в папку с приложением:

Код: @echo off
setlocal ENABLEDELAYEDEXPANSION
Set Process=virtualbox
tasklist | Find /i "%Process%.exe" || (goto Else)
:THEN
TASKKILL /F /IM virtualbox.exe /T
Exit
Goto end
:ELSE
"%windir%\system32\cmd.exe" /C start /B /D .\ .\virtualbox.exe
Exit
Автор: Alex_Piggy
Дата сообщения: 30.01.2016 05:26
Доброе время
Aleksandr N
1. Посмотрите в depends http://www.dependencywalker.com/ что именно требует эти библиотеки. Если они нужны скрипту, то и лежать должны возле скрипта.
2. Если для VBox, то не надо копировать в системную папку! А тем более удалять. Попробуйте через переменную PATH после определения arch.

Код:
EnvSet ( "PATH" , @ScriptDir & ";" & @ScriptDir & "\" & $arch & ";" & EnvGet ("PATH") )
EnvUpdate()
Автор: unreal666
Дата сообщения: 30.01.2016 05:48
Sisin

Цитата:
Exit
Goto end

куда goto, если end нет? Тем более после exit.
Автор: CaptainFlint
Дата сообщения: 30.01.2016 12:50
Alex_Piggy
Сборка там смешанная, MSVC+MinGW, но конкретно эта часть собирается через MSVC. При статической сборке проблема вылезла не из-за нехватки чего-либо, а из-за конфликтов: OpenSSL сначала была влинкована в один из компонентов VB, а потом этот компонент совместно с тем же OpenSSL использовался для линковки чего-то ещё, и шла ругань на конфликты между одинаковыми символами. Наверное, это как-то решается, раз Oracle собирает статически, но у меня не было желания разбираться детальнее, чем это необходимо. Сам VB отлично работает, а что могло не понравиться какому-то там скрипту — вопрос десятый.
Автор: agasssy
Дата сообщения: 01.02.2016 22:26
Ребята, подскажите, такая проблема, увеличил размер диска гостевой винды, а в самой винде никакого нового пространства не появилось, даже не размеченного, что можно сделать?
Автор: Polo
Дата сообщения: 01.02.2016 23:57
agasssy, VirtualBox увеличиваем размер дисков

Автор: sundraw
Дата сообщения: 07.02.2016 10:52
Всем доброго времени суток!
Столкнулся с непонятной ситуацией. Обновляю VB 4.3.12 до 4.3.20. Установка идёт нормально, в конце идёт откат и выдаёт ошибку:

Требует обновления системы. Раньше такого не было. Сижу на надёжной Win 7 x64, обновляться нет желания. Это что-то новенькое от VirtualBox или что-то другое? Есть ли способ обойти? Дело в том, что VB после этого уже никакая не устанавливается.
Автор: thejustsoul
Дата сообщения: 07.02.2016 15:10
sundraw
Снести начисто (забекапив виртуалки (не обязательно, но на всякий) и конфиги) и снова поставить пробовали? Ошибка какая-то есть в логах? Или будем гадать на кофейной гуще? Почему именно древняя 4.3.20? Сейчас актуальная 5.0.14.
Автор: sundraw
Дата сообщения: 07.02.2016 18:59
thejustsoul
Да уже сносил с чисткой компа и реестра, не ставится. Грешил на обновления Windows, но когда поставил акронисом старый образ системы до обновлений, то же самое. Не думаю, что ошибка из-за переноса оси с HDD на SSD, но до этого всё нормально было, может что-то другое. Возможно, что-то в службах включил, что раньше было выключено. Попробовал ось поставить с нуля, всё нормально, без проблем, заморачиваться уже не буду с багами. Почему 4.3.20? Посмотрел в шапке, у неё нет проблем с NAT, в рабочей 4.3.12 иногда, не часто, сеть подвисает, но зато очень надёжная в остальном. На заре поработал с 5.0.2, совсем нехорошие впечатления. Здесь я уже писал об этом. Не хочется переделывать множество рабочих батников под новые команды, почему не оставить прежние, не понимаю.
Автор: Alex_Piggy
Дата сообщения: 07.02.2016 19:50
Доброе время, sundraw
Какое именно обновление требует? Ставится ли без драйверов? Что в логах установки? https://www.virtualbox.org/wiki/MSI_Logging
Автор: sundraw
Дата сообщения: 07.02.2016 20:02
Alex_Piggy
Рад Вас видеть!
Обновление на картинке три поста выше:
"Your system has not been modified"
Сейчас проверять логи - это надо переустановить VB. А переустанавливать VB - значит сносить всю систему, так как уже никакая версия VB не устанавливается. Благо, готовые образы есть. Уже не сегодня, пока всё работает в старом образе на 4.3.12. Это уже на днях займусь.


Автор: Alex_Piggy
Дата сообщения: 07.02.2016 20:26
sundraw
Спасибо!
Я не вижу требования обновлений... "Your system has not been modified" - "Ваша система не была изменена". Я бы перевел так : "Мастер установки Oracle VM VirtualBox 4.3.20 был преждевременно завершен из-за возникшей ошибки. Изменения в Вашу систему не были внесены. Для установки программы в дальнейшем запустите мастера установки еще раз. Нажмите Finish для выхода."

Цитата:
А переустанавливать VB - значит сносить всю систему, так как уже никакая версия VB не устанавливается.

Именно так. Если сейчас никакая версия не устанавливается - запустить с ключем -l и посмотреть в логе, на что выругается - в какой момент инсталяция прервется.
Понял. Вы восстановили из образа систему с 4.3.12 и сейчас работаете в нем. Это просто совет на что обратить внимание, когда/если будете пытаться обновиться.
Есть ли у Вас потребность в обновлении? То есть решает ли обновление какую-то из Ваших проблем?
Автор: sundraw
Дата сообщения: 07.02.2016 20:51
Alex_Piggy
Спасибо за подсказку. Я так и сделаю. Насчёт потребности в обновлении. Сам факт, что нельзя переустановить VB, - уже звоночек. Похоже винда начинает сыпаться. Уже года 2 на ней работаю, пора с нуля ставить. Хотя немного жаль, до сих пор как часы работает, не считая указанного глюка.
Автор: thejustsoul
Дата сообщения: 08.02.2016 04:56
sundraw
Кстати, как вариант попробуйте запустить установщик (и\или через панель управления - удаление программ - там VirtualBox - потом Изменить - Repair\Исправить) нужный версии и выбрать там пункт Repair\Исправить, возможно это поможет, мне когда-то помогло, не помню правда что было (вроде проблема с сетью была)..
Автор: sundraw
Дата сообщения: 08.02.2016 06:53
thejustsoul
Repair запрашивает .msi файлы, которых в VB нет.
Сделал LOG, слишком большой, не на одну страницу, блокируется сайтом. Перехожу на новую винду, поэтому вопрос можно закрыть.
Автор: thejustsoul
Дата сообщения: 08.02.2016 10:04
sundraw

Цитата:
Repair запрашивает .msi файлы, которых в VB нет.

Их можно достать из установщика той версии которая сейчас стоит.. (запустить установщик и вытащить их из %temp%\VirtualBox, установщик закрыть, файлы подсунуть когда запросятся). Менять ради этого винду, которая и так нормально работает, по-моему через чур)
Автор: ABI_SMAL
Дата сообщения: 08.02.2016 11:41
Стоит версия последняя на win 10 x64. При запуске виртуальной машины снимка или просто ОС, выдает такое:

Цитата:
Не удалось открыть сессию для виртуальной машины WinXP.

Unable to load R3 module C:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 (VERR_UNRESOLVED_ERROR).

Код ошибки: E_FAIL (0x80004005)
Компонент: ConsoleWrap
Интерфейс: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Не подскажите что это такое, пробовал переустанавливать виртуалку, результата не дало
Автор: sundraw
Дата сообщения: 08.02.2016 14:04
thejustsoul
Уже работает на новой семёрке. Довольно быстро, всё-таки новое лучше старого. Единственный недостаток в версии VB 4.3.20 по сравнению с 4.3.12 - это паузы примерно по 2 сек в промежутках между запусками машин. В 4.3.12 тормозов вообще нет, сотня машин взлетает за 60 сек, главное, чтоб процессор успевал и памяти хватало. По версиям 5.0.хх пока нет ясности, какая из них надёжная. Хотелось бы услышать положительные отзывы.
Автор: lab14
Дата сообщения: 08.02.2016 14:43
ABI_SMAL
Не этот случай ?

Решение ошибки в VirtualBox «Unable to load R3 module»

Unable to load R3 module
Автор: ABI_SMAL
Дата сообщения: 08.02.2016 15:09
lab14

Цитата:
Не этот случай ?

Да спасибо, именно он. Блин а как же быть у меня стоят сторонние темы, нет ли решения обойти это, то есть заставить работать виртуалку с пропатченными файлами ?
Автор: thejustsoul
Дата сообщения: 08.02.2016 18:14
ABI_SMAL
Вместо пропатчивания файлов для включения не подписанных тем в винде, попробуйте это.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499

Предыдущая тема: Программы для разработки, тестирования, оптических систем


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.