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

» VMware application virtualization (Thinstall)

Автор: RamireZ
Дата сообщения: 05.02.2008 15:17
dj_Diesel, там совсем другая тема обсуждалась - про шрифты и песочницу.
Просмотрел весь топик перед тем как писать - ничего полезного не нашел, увы.
Автор: vyachko
Дата сообщения: 05.02.2008 15:25
pop2ROOT


Цитата:
для меня немного неочевидно, как можно вызвать regedit из-под Maxthon..


Например так: Файл>Открыть...>Обзор...>Идём в папку WINDOWS и на regedit.exe клик правой кнопкой и выбираем Открыть (не двойной клик).


Цитата:
найду, а дальше что? я бы хотел увидеть лог - что откуда он берет в контейнер и почему.


В сборку берётся то, что находиться в папке со снимком (из системы во время сборки ничего не берётся) ну кроме Package.ini, build.bat и текстовых файлов реестра, которые перегоняет в свой формат.
Автор: pop2ROOT
Дата сообщения: 05.02.2008 19:31
vyachko

Цитата:
В сборку берётся то, что находиться в папке со снимком (из системы во время сборки ничего не берётся) ну кроме Package.ini, build.bat и текстовых файлов реестра, которые перегоняет в свой формат.

так в том-то и дело, что в папке со снимком нет regsvr32.exe - но он все равно появляется! уже не знаю, куда смотреть..

за пояснение с регедит спасибо!

Добавлено:
посмотрел Regedit-ом - в реестре этого файла нигде нет, но там даже его папка не отображается: он появляется в папке 100000500002i, в папке проекта, но рядом, в другой.. Regedit так появился в соседней папке после вызова из-под Maxthon.
Автор: toR_nado
Дата сообщения: 06.02.2008 00:42
pop2ROOT

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


Почитай - http://support.microsoft.com/kb/249873/ru

Цитата:
Средство Regsvr32 (Regsvr32.exe) предназначено для регистрации и отмены регистрации элементов управления OLE, например, файлов динамической библиотеки DLL и элементов управления ActiveX (OCX), которые регистрируются автоматически. Это может быть необходимо при устранении некоторых неполадок в системе Windows, обозревателе Microsoft Internet Explorer и других программах.

Не зацикливайся на том от куда, главнее почему.
Автор: vyachko
Дата сообщения: 06.02.2008 08:40
RamireZ


Цитата:
У папки %Fonts% в проекте режим доступа - WriteCopy


Попробуйте задать этой папке режим Merged.

Добавлено:
pop2ROOT


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


А всё-же, чем вам так насолил этот самый regsvr32.exe.

Мне кажется, что проблема отказа запуска сборки на другой машине связана с наличием или отсутствием тех или иных компонентов в системе. На какой машине вы выполняли сборку пакета? Не зря же сам Thinstall настоятельно рекомендует выполнять снимок на девственно чистой системе. Например я выполняю снимки на виртуальной машине VMWare WinXP+SP2+.net2.0+MSI3.1, как наиболее часто встречающейся конфигурации (IMHO).

Автор: Sergey_AV
Дата сообщения: 06.02.2008 09:06
vyachko

Цитата:
Например я выполняю снимки на виртуальной машине VMWare WinXP+SP2+.net2.0+MSI3.1

Не хочу никого обидеть, но IMHO же, установка net2.0+MSI3.1 - только в вред.
Если программе требуется "это" для работы - она сама установит. И на любой другой системе Thinstall-приложение будет работать без проблем. В противном случае может не работать. Опять же IMHO .

ЗЫ. В процессе экспериментов с 2008 Кадом я пришел к выводу, что делать надо именно так, если хочется чтобы КАД запускался на ЛЮБОЙ МАШИНЕ.

Автор: vyachko
Дата сообщения: 06.02.2008 11:04
Sergey_AV


Цитата:
но IMHO же, установка net2.0+MSI3.1 - только в вред.


Если сборка размером несколько сотен МБ (тот-же ACAD), можно и на системе без net2.0 "снимать", а если сама программа не более десятка МБ, то как-то доволно накладно плодить сборки размером около полусотни МБ из-за net2.0. Легче проставить net2.0, тем более, что всё большее количество программ требует его установку (а то и net3.0). Ведь зачастую машина на которой предполагается запускать не является девственно чистой и не преднозначена для пользования Windows в чистом виде, какой-то софт на ней всё-таки есть.
Автор: RamireZ
Дата сообщения: 06.02.2008 11:11
vyachko
Спасибо за совет.
Проблема решилась (тьфу-тьфу-тьфу) путем внесения в виртуальный реест ветки "Fonts" из реестра обычного (в режиме isolation_full).
Кстати, со шрифтами в песочнице бороться можно, вроде бы.
Надо папке %Fonts% в проекте присвоить режим изоляции writecopy. При запуске собранного приложения все шрифты распакуются в %Fonts% песочницы.
Теперь в этой папке нужно оставить только шрифты, нужные в работе (т.е. те, которых точно нет в системе без офиса) - заново распаковываться удаленные шрифты не будут.
Если же удалить саму папку %Fonts% из песочницы - она при следующем запуске распакуется со всеми шрифтами.
Автор: pop2ROOT
Дата сообщения: 06.02.2008 12:34
toR_nado
это я знаю, мое "откуда" и означает "почему" вот как это выяснить?

vyachko

Цитата:
Мне кажется, что проблема отказа запуска сборки на другой машине связана с наличием или отсутствием тех или иных компонентов в системе. На какой машине вы выполняли сборку пакета? Не зря же сам Thinstall настоятельно рекомендует выполнять снимок на девственно чистой системе.

я выполнял сборку на виртуальной win-xp sp2 без обновлений. На висте она у меня запускается, но распаковывает regsrv32.exe - а на другой машине с ХР сп2 и обновлениями папка рядом с ЕХЕ появляется, а сам ЕХЕ не запускается, и не появляется даже в процессах.

regsrv32 может и не виноват, просто делать ему в контейнере нечего. И тем более он не должен пытаться что-либо зарегить в системе..
Автор: Sergey_AV
Дата сообщения: 06.02.2008 13:19
vyachko

Цитата:
Если сборка размером несколько сотен МБ (тот-же ACAD), можно и на системе без net2.0 "снимать"

Не могу согласиться, не можно - нужно .

Цитата:
а если сама программа не более десятка МБ, то как-то доволно накладно плодить сборки размером около полусотни МБ из-за net2.0.

С одной стороны - СОГЛАСЕН, с другой...
Дело в том, что работоспособность сборки важнее (для меня), чем ее размер.
В общем, в данном случае - "размер не имеет значения". Почти .
Хотя и согласен - не очень хорошо.

Цитата:
Ведь зачастую машина на которой предполагается запускать не является девственно чистой и не преднозначена для пользования Windows в чистом виде, какой-то софт на ней всё-таки есть.

А вот это, к сожалению, не угадаешь. И считать, что на машине есть "все, что надо" несколько наивно. К тому же есть разные версии ОС (рус/лат/нац), и есть разные лэнг-паки к тому же net Х. Так что вероятность "кривизны" только увеличивается...

Автор: Wu Tang
Дата сообщения: 06.02.2008 17:10
Привет.
У меня есть несколько вопросов для сборки:
Что за подпункт в audioplugins?
И для чего именно video support plugins? Для воспроизведения видео или для записи?

И за что отвечает ключ:
[HKEY_LOCAL_MACHINE\SOFTWARE\Ahead\Installation\Families\Nero 7\Info]
"MissingFilesState"="0"
Автор: toR_nado
Дата сообщения: 06.02.2008 20:44
pop2ROOT

Цитата:
я выполнял сборку на виртуальной win-xp sp2 без обновлений. На висте она у меня запускается, но распаковывает regsrv32.exe - а на другой машине с ХР сп2 и обновлениями папка рядом с ЕХЕ появляется, а сам ЕХЕ не запускается, и не появляется даже в процессах.

Я так понимаю, что проблему возможно надо искать не в твоей сборке, а в машине твоего друга. Ведь у тебя она запускается на чистой (win-xp sp2 без обновлений) и к тому же На висте, а у друга черт знает чего понаставленно и наверняка удалялось (не факт что корректно). Вообщем не плохо бы ее потестировать и на других машинках. Есть здесь раздельчик для тестирования портабле софта, выложи, мона и посмотреть (предпочту на ifolder, dump, openfile).


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

Ты не как не хош понять что этого файла нет в твоей сборке, а появляется он в песочнице потому что программа обращается к нему.
Для примера возьми любой архиватор (WinRAR, 7-Zip, PowerArchiver) естественно собранный Thinstall -ом. Открой в нем архив и позапускай находящиеся в нем файлы (неважно текстовые, кейгены, сетупы), а потом загляни в песочницу. Увидишь кучу папок (примерно такого вида - 10000001400002i, 4000008700002i и т.д.) в которых будут как бы эти файлы или проги их открывающие.
Автор: pop2ROOT
Дата сообщения: 06.02.2008 23:10
toR_nado
вот теперь я тебя понял насчет regsrv32. Спасибо!
выложил в тестировании с прямой ссылкой
Автор: Sergey_AV
Дата сообщения: 11.02.2008 11:55
Wu Tang

У тебя работает .vbs, описанная здесь:
http://forum.ru-board.com/topic.cgi?forum=5&topic=23056&start=1400#6 ?
Я имею ввиду не сам .vbs - он-то работает, безо всяких, а его вызов из Thinstall-приложения. Пробовал делать, как советовал dj_Diesel

Цитата:
да создать vbs script
Function OnLastProcessExit
ваш команда для удаления
WaitForProcess id, 0
End Function

- результат прямо негативный: Приложение (Thinstall-приложение) не зависающее само по-себе оставляет в памяти висящий процесс, и даже "AutoShutdownServices=1" в Package.ini не помогает .
Так как правильно будет вызвать "команду зачистки"? .vbs-ник вида:

Цитата:
Function OnLastProcessExit
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "%comspec% /c REG DELETE HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\ /f /va", 0, True
WaitForProcess id, 0
End Function

не прокатывает

Автор: vyachko
Дата сообщения: 11.02.2008 14:50
Sergey_AV

Сделал очень скромную утилиту для удаления ветки HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache.
Просто запустить, после удаления закрывается сама.

Попробуйте, может сгодиться.

MUICacheDel.rar

28,7 кБ
залито 11.02.2008

будет доступно в течение месяца после последнего скачивания.

Удачи.
Автор: CPUUUH
Дата сообщения: 11.02.2008 15:08
Скачал портативный словарь хочу на его основе собрать свой с нужными мне словарями

прочел это наставление
"как можно пересобрать пакет, если нету исходного Build-а"

но не понял как извлечь файлы

2. Вытаскиваем файлы...
vregtool <tvr файл из песочничы программы> ExportReg <имя временного reg файла>

тиник лежит в програмфайл

c:\programm files\thinstall\ сюда кинул прогу которую хочу расковырять

cmd
C:\Program Files\Thinstall.VS>vregtool.exe "Portable LingvoSoft Dictionary 200
7 Eng-Rus-Eng.exe" ExportReg test.reg

неработает

расскажите подробнне как раскрыть собранный пакет?
Автор: Sergey_AV
Дата сообщения: 11.02.2008 15:09
vyachko

Спасибо, но вопрос немного не в этом . Удалить ветку HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\ проблем нет - тот же .vbs-ник, который приводил здесь Wu Tang, а конкретно:

Цитата:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "%comspec% /c REG DELETE HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\ /f /va", 0, True

сделает это без проблем. И перекомпилить его в .ехе мне проблемы тоже не составит .
Вопрос-то стоит в том, почему не работает "штатный метод" .
Вроде бы делаю все согласно инструкции (хэлпу): в конце (завершении процесса) должна запускаться указанная строчка. Но... не запускается.
Автор: CPUUUH
Дата сообщения: 11.02.2008 15:12
Заменил имя файла на 111.exe

теперь пишет

C:\Program Files\Thinstall.VS>vregtool.exe 111.exe exportreg temp.ger
Thinstall Virtual Registry Tool Version 3.207, Built Sep 16 2007
Copyright 2006-2007, Thinstall Inc. All rights reserved.
Unable to validate your Thinstall license.
Please contact Technical Support.

тин 3,330 сборка программ работает

что-за проблема с лицензией?
Автор: sanb
Дата сообщения: 11.02.2008 15:14
CPUUUH
тебе только словари вытащить?
Автор: CPUUUH
Дата сообщения: 11.02.2008 15:34
нет не только я хочу посмотреть другие сборки некоторых прог которые у меня собрать не получается и на их принципе собрать свои.

ктонибудь может сделать учебный ролик?

Автор: vyachko
Дата сообщения: 11.02.2008 15:49
Sergey_AV


Цитата:
Вопрос-то стоит в том, почему не работает "штатный метод"


Пробовал в своё время запортить одну из версий WiAmp, но не хотел он завершатся правильно (оставался в процессах, да ещё и начинал нагружать проц. под 100%). Пробовал разное:
- AutoShutdownServices=1 по советам, но если внимательно почитать хелп, данная опция включена по умолчанию, т.е. для того, чтобы её задействовать её не надо прописывать;
- скрипты, начиная с примеров приведённых в хелпе (с OnLastProcessExit), но не омагало, просто событие OnLastProcessExit не происходит, для проверки:

Function OnLastProcessExit
msgbox "Последний процесс закрыт"
End Function

При неправильном завершении програм сообщение "Последний процесс закрыт" не появиться.

И бросил я это дело (нервные клетки дороже). Тем более тогда ещё не было ExternalDLL.

Вобщем пришёл я к выводу, что использование скрипта для принудительного закрытия процесса, если это не получается по умолчанию совершенно бесполезно, потому как не работает. А не работает потому как, не правильно запущена программа: какой-то из процессов запушен как внешний (происходи иногда в режиме WriteCopy если файл есть и в системе и в проекте) и при завершении программы не желает закрываться, баг в Thinstall или ещё по какой-то причине. И по большому счёту для решения таких проблем нужно либо ждать исправления в Thinstall либо "с бубнами" вокруг желаемой программы (со сборкой, а не со скриптами).

Добавлено
По поводу очистки MUICache возникла идея, если не получается "затирать" при завершении, может лучше сразу после запуска? Или в MUICache винда стучить не только при запуске, но и во время работы программы? Например по OnFirstParentStart.
Автор: Sergey_AV
Дата сообщения: 11.02.2008 16:01
vyachko

Цитата:
Пробовал в своё время запортить одну из версий WiAmp, но не хотел он завершатся правильно (оставался в процессах, да ещё и начинал нагружать проц. под 100%).

Имеется ввиду WinAmp? У меня с версией 5.33 ничего подобного не было, хотя настройки - полный дефолт. Версию Thinstall уже не вспомню - что-то старенькое, помню потом патчил уже готовые приложения.

Цитата:
- AutoShutdownServices=1 по советам, но если внимательно почитать хелп, данная опция включена по умолчанию, т.е. для того, чтобы её задействовать её не надо прописывать;

Может быть она и "включена" - во всяком случае, на последних версиях Thinstall (3300/3332) таких проблем нет, НО: в Package.ini этой опции почему-то нет...
Хотя, с другой стороны, и ее включение не помогает

Цитата:
скрипты, начиная с примеров приведённых в хелпе (с OnLastProcessExit), но не омагало, просто событие OnLastProcessExit не

Странно, у меня раньше работало. Конкретно - вариант с pskill процесс гасил "на Ура"!

Цитата:
Вобщем пришёл я к выводу, что использование скрипта для принудительного закрытия процесса, если это не получается по умолчанию совершенно бесполезно, потому как не работает.

Возможно это на современных версиях так? Странно, что другие молчат...

Цитата:
И по большому счёту для решения таких проблем нужно либо ждать исправления в Thinstall либо "с бубнами" вокруг желаемой программы.

Ясно. Тогда проще запускать .vbs-ник, который сначало запустит Thinstall-приложение, а потом выполнит нужную комманду...



Автор: vyachko
Дата сообщения: 11.02.2008 16:12
Sergey_AV

Цитата:
Странно, у меня раньше работало. Конкретно - вариант с pskill процесс гасил "на Ура"!


Скорее не раньше, а с другой программой.


Цитата:
НО: в Package.ini этой опции почему-то нет...


Там много чего нет, например:

AddPageExecutionPermission=0
AutoShutdownServices=1
AutoStartServices=1
ChildProcessEnvironmentDefault=Virtual
DisableTracing=0
NetRelaunch=1
ReserveExtraAddressSpace=0
RetainAllIcons=0
RemoveSandboxOnExit=0
...

но это не говорит, о том, что эти опции не используются при сборке

Автор: Sergey_AV
Дата сообщения: 11.02.2008 17:46
vyachko

Цитата:
Скорее не раньше, а с другой программой.

Да нет, программ было много разных.

Цитата:
Там много чего нет, например:
AddPageExecutionPermission=0

Ясно. Значит, остается испытанный вариант с .vbs-ником, который и будет запускать Thinstall-приложение.
Непонятно только, почему другие молчат .
dj_Diesel
MIHMIH007
Wu Tang
У вас ЭТО работает? Я имею ввиду выполнение скрипта (.vbs), добавленного при компиляции проекта. Хэлп про это ничего сказать не может, точнее "все сделанно" по хэлпу...


Автор: CPUUUH
Дата сообщения: 11.02.2008 18:55
Как решить эту проблему?
111.exe собранное (не мной) приложение которое нужно "вскрыть"


C:\Documents and Settings\Администратор>"C:\Program Files\Thinstall.VS\vregtool.
exe" 111.exe exportreg c:\qqq

C:\Documents and Settings\Администратор>"C:\Program Files\Thinstall.VS\vregtool.
exe" 111.exe exportreg c:\qqq
Thinstall Virtual Registry Tool Version 3.300, Built Oct 23 2007
Copyright 2006-2007, Thinstall Inc. All rights reserved.
Unable to validate your Thinstall license.
Please contact Technical Support.
Автор: CrazyDeath
Дата сообщения: 11.02.2008 21:58
в сотый раз повторяю что если


Цитата:
Thinstall Virtual Registry Tool Version 3.300, Built Oct 23 2007
Copyright 2006-2007, Thinstall Inc. All rights reserved.
Unable to validate your Thinstall license.
Please contact Technical Support.


то надо в батник добавить

Код: set THINSTALL_BIN=%CD%
Автор: CPUUUH
Дата сообщения: 11.02.2008 22:25
ты не понял, я говорю про распаковку собраного софта
там нет батника там есть
C:\Program Files\Thinstall.VS\*,* Thinstall.lic лежит в ней же
там же лежит 111.exe который нужно "разобрать"

Добавлено:
Вот еще трабла

Это уже другой проект

abbyy lingvo 12 ru-en

wmvare ОС ХР чистая

тиин 3,300 скачал с этого форума

сделал все как положено но после завершения второго снимка и запуска батника пишет что в *\bin не найден файл Package.ro.tvr и *,tvr.thfd

сборка прерывается как только в bin скидываются все exe-шники проэкта.

Почему прога не создала Package.ro.tvr и *,tvr.thfd?

П.С
искал их нет
Автор: dj_Diesel
Дата сообщения: 12.02.2008 10:01
Sergey_AV
vbs script положенный в проект работает
Автор: Sergey_AV
Дата сообщения: 12.02.2008 10:20
dj_Diesel

Цитата:
vbs script положенный в проект работает

Можно с конкретным примером? И номер версии, на которой это все работает. Я пробовал на 3.300, сейчас собираюсь проверить на 3.332.
Вот скрипт:

Цитата:
Function OnLastProcessExit
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "%comspec% /c REG DELETE HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\ /f /va", 0, True
WaitForProcess id, 0
End Function

Если откинуть Thinstall-прибамбасы, конкретно "Function OnLastProcessExit" и завершающее "End Function" работает без проблем (удаляет ветку MUICache).
При компиляции в составе Thinstall-приложения - НЕТ.
Скрипт кладу в директорию, содержащую папки для сбора проекта, туда же где создается Package.ini, т.е. в корень.
Что не так?
Автор: dj_Diesel
Дата сообщения: 12.02.2008 15:29
Sergey_AV
лично я использовал скрипт от MathType и никаких проблемм

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

Предыдущая тема: Программа для поднятия трубки модемом


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