Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » VMware ThinApp | Thinstall (Часть 4)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

Открыть новую тему     Написать ответ в эту тему

Geroy4ek

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части темы: 1, 2, 3
Смежный топик в Варезнике
 
VMware ThinApp 2312 Build 23148499 Release Date    2024-01-23  
 
Официальный сайт | Описание | Download | Список изменений | ThinApp Docs
 
ThinApp (ex Thinstall) используется для виртуализации приложений, позволяет заключить приложения в виртуальный контейнер и использовать их как готовые пакеты, не требующие установки. Внутри контейнера создается виртуальная среда для реестра и файлов.  
Поддерживаемые ОС:    
x32: Windоws 2000/XP/XPE/Server 2003/2008/2012/2012 R2/Vista/7/8/8.1/10  
x64: Windоws  Server 2003/2008/2008R2/Vista/7/8/8.1/10

Полезные утилиты
 
FAQ, статьи, обзоры
 
Полезные ресурсы

Если при запуске готового приложения выскакивает окошко в трее, читайте шапку топика в Варезнике.
 
VMware ThinApp - обсуждение перевода
 
Русский перевод мануала по VMware ThinApp версии 5.1.0 + перевод справочника по параметрам Package.ini от pavlaf
 
Ближайший аналог: Turbo Studio (бывшая Spoon Studio, Xenocode Virtual Appliance Studio)

Всего записей: 1 | Зарегистр. 24-04-2015 | Отправлено: 17:26 24-04-2015 | Исправлено: Luber, 10:56 24-01-2024
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MobyArt

Цитата:
А, нет. Dim это объявление переменной, тогда просто FolderName = ...

 
Да, так всё без ошибок:
 

Код:
Function OnFirstParentStart
Dim FolderName
FolderName = ExpandPath("%Personal%")
MsgBox FolderName
SetfilesystemIsolation FolderName, 1
End Function

 
И MsgBox показывает правильный путь. Но всё равно изоляция папки не меняется. Видимо действительно:
 

Цитата:
c изоляцией не всё так гладко: вроде бы её можно только повышать

 
 
Добавлено:

Цитата:
Наверное потому, что я опять ищу выход через одно место. ... Берётся из распакованной версии scripting.dll и помещается в...  

 
Не, пробовал и разные scripting.dll из разных версий распаковок, и методы изоляции в скрипте ставил:
1 = WriteCopy
3 = Full
 
Всё равно дырка в систему. Самое парадоксальное, что ведь этот скрипт запускается, и явно ThinApp видит и обрабатывает свои инструкции вроде OnFirstParentStart или ExpandPath("%Personal%"), а следовательно, скрипт хоть и запускается из вне, но работает с внутренностью виртуальной машины. И всё равно это не даёт результата. Впрочем, надо будет ещё подумать над этим вопросом...
 
Добавлено:
Proshaa

Цитата:
c изоляцией не всё так гладко: вроде бы её можно только повышать  

 
Допустим. Тогда напротив, берём, для примера, и скармливаем скрипту программную папку, желая сделать её дырявой:
 

Код:
FolderName = ExpandPath("%ProgramFilesDir%")

или:

Код:
FolderName = "C:\Program Files"
MsgBox FolderName
SetfilesystemIsolation FolderName, 2

 
MsgBox, в обоих случаях отдаёт правильный путь "C:\Program Files", но ведь тоже не работает... Результат копирования файла внутри контейнера в папку C:\Program Files оставляет его в песочнице... Получается что проблема в самой SetfilesystemIsolation. Любопытно, почему так и при каких условиях это всё должно показать хоть какую-то работоспособность?...

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 13:17 05-01-2021 | Исправлено: AVanti473, 15:05 05-01-2021
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
толи вы запутались, толи я вас неправильно понял.
если тезис
Цитата:
c изоляцией не всё так гладко: вроде бы её можно только повышать  
верен, то помним, что "ступени" изоляции не соответствуют их "номерам".  
ступени: Merged, WriteCopy, Full. соответствующие им номера: 2, 1, 3.
т.е. указав в сборке изоляцию WriteCopy(1) вы не можете скриптом присвоить 2(Merged). скрипт отработает, но изоляцию не изменит. ещё один нюанс.
Цитата:
Следует заметить, что если описываемая в скрипте папка не существует ни в реальной, ни в виртуальной файловой системе, то после запуска скрипта она появляется в виртуальной файловой системе.
логично, что вновь создаваемые файлы/папки остаются в песочнице.
мне непонятно - о какой дырке в систему вы говорите, если файлы остаются в песочнице?
 
на сайте ТА мне встречался вопрос по теме, но вопрошающий "запутался в показаниях" и сначала утверждал, что изоляция не меняется "при разных условиях и в разных проектах", потом - что такое поведение было "в одном конкретном проекте, исходников которого у него больше нет". в конце-концов - тихо слился, оставив незакрытый тикет.
 
опишите просто - что вы хотите сделать. возможно, вы действительно подходите к решению не с той стороны?

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 16:04 06-01-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa

Цитата:
опишите просто - что вы хотите сделать. возможно, вы действительно подходите к решению не с той стороны?  

 
Возможно. Попробую ещё раз. Правда будет роман в двух частях:
 
Сам роман
 
Добавлено:
Решил тут от фонаря докинуть в скрипт папку, которой не было в проекте и задать ей изоляцию WriteCopy. От фонаря назвал папку (первое. что пришло на ум) "4PDA". Изменил скрипт:
 

Код:
Function OnFirstParentStart
Dim FolderName
FolderName = ExpandPath("%Personal%") + "\4PDA"
MsgBox FolderName
SetfilesystemIsolation FolderName, 1
End Function

 
И пофиг. У вновь созданной папки "4PDA" изоляция Merged наследуется от %Personal%. Хотя сама папка, при старте портабла, появляется и в системе и в песочнице, но в песочнице в неё ничего не попадает - всё и дёт в систему. MsgBox по прежнему отдаёт правильный путь:  
C:\Users\<user_name>\Documents\4PDA

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 20:45 06-01-2021 | Исправлено: AVanti473, 21:28 06-01-2021
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
теперь более-менее понятно.
Цитата:
пересобирать "девайс" под конкретную игрушку прям очень как влом (проще игрушку выкинуть). Больше путаницы, а проблема давнишняя, так почему бы ещё раз не вернуться к её решению? Задача - без пересборки портабла сменить изоляцию папки %Personal% с Merged на WriteCopy. И пофиг уже игрушка, ведь желание решить старую задачу вышло на первый план. )))  

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

Код:
Function OnFirstParentStart
SetFileSystemIsolation "C:\TestFolder", 3
MsgBox "OK"
End Function

он работает и (если нет такой же в реале) создаёт папку "TestFolder" в песочнице. в реальной системе она будет не видна. однако попытка поместить в неё файл любым доступным способом (копирование, перемещение, сохранение итд) - сразу вываливает папку в реал...
т.е. изоляция папки не распространяется на объекты в ней. а поскольку для объектов не задана изоляция, ТА подставляет в них значения из Package.ini - DirectoryIsolationMode=Merged. со всеми вытекающими: раз файл "Merged" - значит он должен быть виден в реале, а следовательно - и весь путь к нему.
если здесь прописать "WriteCopy" - вываливаться перестаёт. при этом понизить/повысить скриптом до Merged или Full - нельзя.
влияние параметров в ##Attributes.ini проверять мне было лень.
так ли работала SetFileSystemIsolation изначально (а она появилась ещё в сюите) или её поломали в каком-то из билдов - тоже лень проверять.
да и смысла не вижу. в "нормальных" условиях команда избыточна, т.к. все настройки делаются в проекте штатными средствами. видимо, потому на неё и забили разработчики

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 00:32 07-01-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa

Цитата:
он работает и (если нет такой же в реале) создаёт папку "TestFolder" в песочнице. в реальной системе она будет не видна. однако попытка поместить в неё файл любым доступным способом (копирование, перемещение, сохранение итд) - сразу вываливает папку в реал...  

 
Да, об этом я и сообщал ранее.
 

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

 
Ну, как бы не первый день занимаемся тут портаблом. Это самый очевидный вариант. ))) Вопрос ведь был уже даже не в пути решения конкретной проблемы, а в принципиальном решении поставленной задачи... К тому же, задача включает в себя и другие подзадачи. Например, когда нужно внедрить какой-нибудь эдакий скрипт в сборку без пересборки проекта.
 

Цитата:
а поскольку для объектов не задана изоляция, ТА подставляет в них значения из Package.ini - DirectoryIsolationMode=Merged. со всеми вытекающими

 
Как бы справедливо, если бы не одно но - у меня-то изоляция проекта "девайса" WriteCopy
 

Цитата:
так ли работала SetFileSystemIsolation изначально (а она появилась ещё в сюите) или её поломали в каком-то из билдов - тоже лень проверять.  
да и смысла не вижу. в "нормальных" условиях команда избыточна, т.к. все настройки делаются в проекте штатными средствами. видимо, потому на неё и забили разработчики
 

 
Да, любопытно... Не могу согласиться с тем, что команда избыточна. Скажем, если проект утерян или речь идёт о каком-нибудь быстром исправлении ситуации в чужой сборке. Ковырять готовую сборку чтобы её пересобрать - то ещё "удовольствие", по сравнению с внедрением и запуском типового скрипта. Но, в принципе ситуация понятна. Делаем вывод, что SetFileSystemIsolation либо не работает, либо работает криво.
 
Спасибо большое всем, кто помог разобраться в ситуации!

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 01:02 07-01-2021
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Цитата:
Как бы справедливо, если бы не одно но - у меня-то изоляция проекта "девайса" WriteCopy
у вас, возможно, подтягивается изоляция из ##Attributes.ini родителя - у меня в проекте паблокоммандер - только %ProgramFilesDir%, а проверял на диске С. специально пересобирал пабло с разными изоляциями именно в Package.ini

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

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 15:09 07-01-2021
conservator



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VMware ThinApp Enterprise 5.2.9 Build 17340778
Release Notes

Всего записей: 7622 | Зарегистр. 08-11-2015 | Отправлено: 18:42 12-01-2021 | Исправлено: conservator, 20:59 12-01-2021
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
conservator

Цитата:
VMware ThinApp Enterprise 5.2.9 Build 17340778

Распакованный?
 
Добавлено:
Эх, вижу что нет

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 18:45 12-01-2021
frost745



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
generator324

Цитата:
Распакованный?

http://forum.ru-board.com/topic.cgi?forum=35&topic=7917&start=3000#19
 

Всего записей: 4164 | Зарегистр. 26-02-2013 | Отправлено: 22:29 12-01-2021
stasovruch2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Я бы хотел научиться делать Portable программы виртуализированным методом с помощью Thinapp. Мне нужен человек, который может меня научить делать такие программы. Я готов платить за обучение. Напишите мне пожалуйста в скайп - *** или сюда свои контакты, чтобы я мог с вами связаться.





Здесь не доска объявлений, + нарушение п. 2.7. главы VIII Соглашения по использованию

Всего записей: 2 | Зарегистр. 31-12-2020 | Отправлено: 16:50 27-01-2021
PortableMan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...
День добрый!
 
В процессе освоения ThinApp'a возник ряд вопросов (ни гугл, ни поиск по всей ветке на руброрде, ни поиск по всему vmware.com не помог):
 
1) "-SuggestName" у snapshot.exe
Как это работает, что это, любая информация?
Подробнее...
 
2) -Config вместе с -GenerateProject у snapshot.exe
параметр -Config snapshot.ini приводит к краху, хотя задокументирован
Это баг? Фича? Магия?) или код убрали, а документацию не почистили?
 
В документации snapshot.exe такое:

Код:
snapshot.exe OutputTemplate.ini -GenerateProject OutDir [-Config ConfigFileName]

 
3) Это уже может гдето описано, но сложно найти:
Делал портативный PyCharm. Там есть выбор версии питона (python-3.8.2) и его установка в процессе.
Проблема заключается в том что его установка падает по причине того что както не так происходит повышение прав (админ права)
На живой системе там вылазит UAC. На практике не помогло:
CopyManifestData=1
UACRequestedPrivilegesLevel=все варианты
UACRequestedPrivilegesUiAccess=все варианты
Запуск от админа в ручную (точки входа ThinApp обертки которые описаны в Package.ini)
 
Решение в виде предварительной установки питона на живой системе и последующего захвата - не предлагать.  [/more]

Всего записей: 33 | Зарегистр. 15-02-2021 | Отправлено: 13:37 16-02-2021
Kero1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что лучше использовать для редактирования ини файла проекта ?
там в шапке все ссылки устарели.
Может есть у кого   ThinAppHelper 4.0.3.0 (отвязана от NET Framework 2.0) та что в шапке но простая версия а не портабл что в шапке.  

Всего записей: 2447 | Зарегистр. 23-08-2011 | Отправлено: 22:57 06-03-2021
PortableMan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Может есть у кого   ThinAppHelper 4.0.3.0 (отвязана от NET Framework 2.0) та что в шапке но простая версия а не портабл что в шапке.  

ThinAppHelper 4.0.3.0 ,простой, не портативный, привязаный к .NET Framework 2.0

Цитата:
что лучше использовать для редактирования ини файла проекта ?

всё что не является стандартным блокнотом

Всего записей: 33 | Зарегистр. 15-02-2021 | Отправлено: 02:41 07-03-2021 | Исправлено: PortableMan, 02:42 07-03-2021
Kero1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PortableMan
Спасибо но такой уже есть )
Интересна была версия именно без NET Framework.
Цитата:
не является стандартным блокнотом
имел ввиду из того что в шапке . в списке утилитСсылка

Всего записей: 2447 | Зарегистр. 23-08-2011 | Отправлено: 03:57 07-03-2021 | Исправлено: Kero1, 03:57 07-03-2021
PortableMan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Интересна была версия именно без NET Framework

без .NET - это то что я вам скинул (файлов .NET нету)
отвязанная от .NET - то что по ссылке в шапке
отвязка путем встраивания .NET внутрь
там просто нужные dll от .NET 2.0 лежат
 
внутри точно такойже exe как я вам скинул выше

Всего записей: 33 | Зарегистр. 15-02-2021 | Отправлено: 11:25 07-03-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PortableMan

Цитата:
всё что не является стандартным блокнотом

 
Весьма спорное утверждение.
Во-первых, снимки желательно делать на чистой системе. В чистой ОС, ничего кроме блокнота толком и нет.
Во-вторых, никогда не испытывал проблем редакции Package.ini в блокноте. Там же не сотни строчек, да и все группы ясны и понятны. Пройтись беглым взглядом и убрать лишнее - дело пары минут. Разве что, если нужно править HKEY_LOCAL_MACHINE.txt с тысячами строчек ключей реестра, да ещё параллельно сравнивая с таким же файлом из других вариантов сборки (без С++ или фреймворка, или ещё какой ерунды). Тогда да, отсутствие нумерации строк в системном блокноте будет проблемой для поиска нужных строчек из результатов сравнений в сторонней программе. А так - системного блокнота хватает более чем.

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 19:21 07-03-2021
PortableMan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...
 

Цитата:
снимки желательно делать на чистой системе

для создания снимка - правка Package.ini не нужна (правлю и собираю на живой системе, так гораздо быстрее и удобнее для меня)
а вот для сборки самого снимка - да, править скорее всего прийдется
 
PS: лирика всё это, я вот всё жду и не дождусь ответы на свои вопросы) [/more]

Всего записей: 33 | Зарегистр. 15-02-2021 | Отправлено: 20:16 07-03-2021 | Исправлено: PortableMan, 20:20 07-03-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PortableMan

Цитата:
лирика всё это, я вот всё жду и не дождусь ответы на свои вопросы

 
Они у Вас очень специфичные, и непонятна прикладная суть некоторых из них. Что касается python(а), я ещё не портабелизировал его, но уже предчувствую море проблем. У меня самые плохие ассоциации с этим языком, оболочкой, или как его там ещё можно назвать. Да, он имитирует функционал искусственного интеллекта, и да, кое где весьма успешно. В остальном, не дай бог развития программирования пойдёт по этому пути. А ведь пойдёт же... Сказать что это гемор - ничего не сказать. Просто решать проблемы не оптимизацией кода, а исключительно увеличением ресурса железа, для меня - моветон. Ну хорошо, 8, 16 гигов, DDR5, завтра что? 64 , 128 Гигов оперативы? И куда это всё? С какой скоростью внутри компа должны будут передаваться массивы данных? Всё равно наступит физический предел железа. Но оптимизаторов кода уже не будет, так-как изначально логика развития совершенно иная. Итог - будут пыжиться и тужится, чтобы внедрить 6G, 7G. Мы скоро вообще будем жить в большой городской микроволновке из-за новых стандартов связи. И всё из-за таких вот python(ов), джавиков, линуксойдов и прочих иже с ними (включая Windows 10). Что тут можно ответить? Ну, есть ваши вопросы. И никуда они не денутся, наверное.

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 20:42 07-03-2021 | Исправлено: AVanti473, 20:43 07-03-2021
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473

Цитата:
Мы скоро вообще будем жить в большой городской микроволновке из-за новых стандартов связи.

Мы уже живём в ней. Только большинству пох. Зато у нас есть алиэкспресс

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 20:50 07-03-2021
PortableMan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

Причем тут притон, до установки дело не доходит. Инсталятор питона собран в WiX Installer от MS. Питон\не питон - это никак не сказывается на сути проблемы)) А проблема в повышении прав.

Цитата:
непонятна прикладная суть некоторых из них

1) я ожидал генерацию параметра SuggestedName но чтото это не работает (он также генерируется при -SuggestProject, но и не только он, что приводит к перезаписи других параметров)
2) из за проблем с этим параметром - snapshot.ini обязателен в папке ThinApp'a при использовании -GenerateProject
все остальные команды - не зависят от snapshot.ini в корне папки ThinApp'a, т.к. путь к ним указывается через -Config

Всего записей: 33 | Зарегистр. 15-02-2021 | Отправлено: 21:50 07-03-2021 | Исправлено: PortableMan, 22:00 07-03-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

Компьютерный форум Ru.Board » Компьютеры » Программы » VMware ThinApp | Thinstall (Часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru