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

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

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

Geroy4ek

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части темы: 1, 2, 3
Смежный топик в Варезнике
 
VMware ThinApp  5.2.5.1
 
Официальный сайт | Форум | Описание | Список изменений | FAQ (PDF, Eng) | Обзор успешно упакованных программ | 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
 
Ближайший аналог: Spoon Studio (ex Xenocode Virtual Appliance Studio)

Всего записей: 1 | Зарегистр. 24-04-2015 | Отправлено: 17:26 24-04-2015 | Исправлено: MH100181Q, 20:59 10-05-2019
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ostrix
прочтите пару-тройку предыдущих страниц. там всё написано про это.
если кратко - нет. и считайте, что вам повезло. на некоторых машинах сборки вообще не запускаются.
 
но можно обойти. сделайте сборку в 4.7

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 18:38 01-10-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SunOK_ZM
Цитата:
 
Цитата:
Требуется заворачивать в песочницу правку всех файлов одной папки, кроме одного-двух. Какое есть решение?
использовать VBS-скрипты, после закрытия программы копирование "одного-двух нужных файлов" в реальную папку. В проекте на папку ставите изоляцию writecopy. Скрипт можно состряпать из мануала Astra55, или тут подскажут более грамотные участники, если вы подробнее опишите задачу...
Пролистал мануалы Astra55, vyachko и pavlaf, похожих примеров не нашёл. Может плохо искал. Я в VBS вообще никак. А задача вот какая. Есть очень хорошая качалка USDownloader, которая хранит в своей программной папке и пользовательские данные, и множественные отходы своей жизнедеятельности. Надо чтобы всё, что программа пишет в свою папку, попадало в песочницу (это понятно - DirectoryIsolationMode=WriteCopy в ##Attributes.ini), при закрытии программы песочница очищалась (это тоже понятно, RemoveSandboxOnExit=1 в Package.ini), а файлы USDownloader.lst и USDownloader.ini изменялись в реальной среде - как это сделать, я не знаю. Кому не сложно, дайте, пожалуйста, примерный код для изменяемости этих двух файлов.

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 14:19 02-10-2016 | Исправлено: romby, 14:25 02-10-2016
SunOK_ZM



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby, вот с примером намного яснее!  
Предлагаю, чтобы VBS-скрипт по выходу копировал USDownloader.lst и USDownloader.ini в папку "Конфиги" (можно рядом с ЕХЕшником портативки), мусор в песочнице очищается опцией RemoveSandboxOnExit=1, а по следующему старту возвращал в виртуальное расположение те 2 конфига, если они есть в папке Конфиги.  
Над скриптом подумаю, но надеюсь меня опередят (командировка намечается).

Всего записей: 249 | Зарегистр. 19-02-2012 | Отправлено: 17:58 02-10-2016
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
а можно глупый вопрос: она ж и так портабельная. а учитывая, что её постоянно обновляют, допиливают, добавляют/удаляют разные скрипты... смысл в контейнере вообще теряется. тем более - с автоочисткой песочницы

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 21:06 02-10-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa
Смысл не в портабельности и не в контейнере. Смысл в изоляции программы от системы. По различным соображениям. Остальное не важно

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 21:29 02-10-2016 | Исправлено: romby, 21:33 02-10-2016
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
т.е. папка программы лежит у вас в открытом виде в реальной машине, а ThinApp контейнер содержит только экзешник? я вас правильно понял?

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 21:40 02-10-2016
romby



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

Цитата:
папка программы лежит у вас в открытом виде в реальной машине
Да.

Цитата:
ThinApp контейнер содержит только экзешник?
Контейнер не содержит экзешник, а просто лежит рядом с ним, и запускает его с ограничениями на всё что только можно. Программа видит только те папки, которые ей видеть полагается, и может писать только в ту, в которую надо.
 



Цитата:

Цитата:
Требуется заворачивать в песочницу правку всех файлов одной папки, кроме одного-двух
Скрипт можно состряпать из мануала Astra55
Кажется, нашёл. Подойдёт ли мне за основу следующий пример из мануала Astra55?
Цитата:
Скрипт для копирования файла:
Этот скрипт копирует файл test.txt из виртуальной папки C:\Windows\System32 в папку реальной
системы C:\Test. Файл test.txt должен находиться в папке проекта %SystemSystem%:

Код:
Function OnFirstSandboxOwner
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\Windows\System32\test.txt", "C:\Test\", TRUE
End Function

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 22:10 02-10-2016 | Исправлено: romby, 22:47 02-10-2016
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
скрипт подойдёт. только помните, что копировать надо в папку не закрытую ThinApp
 
а можно чуть подробнее - что в контейнере? ТС или его аналог?
да и смысл подобного использования для меня всё так же непонятен...

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 01:40 03-10-2016
romby



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

Цитата:
что в контейнере? ТС или его аналог?
Что такое ТС?  
Мне проще сказать, что в проекте. Утрированно, там - набор ##Attributes.ini, раскиданных по пустым папкам. В Package.ini секция программы выглядит так:
Цитата:
[USD.exe]
Source=D:\Programs\USDownloader\USDownloader.exe
USDownloader.exe находится не в папке проекта, а по реальному указанному пути.  
Всё остальное - не принципиально.

Цитата:
смысл подобного использования для меня всё так же непонятен...

Почти тот же, что и у Sandboxie.

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 02:38 03-10-2016 | Исправлено: romby, 02:45 03-10-2016
insorg



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
  исполнялка должна быть ВНУТРИ контейнера.
Если есть желание запускать реальный софт изнутри виртуального контейнера (я тоже таким способом пользуюсь), то достаточно собрать пустой проект с запуском cmd.exe или explorer.exe - получится универсальный контейнер-песочница. Её можно будет ра плодить куда-угодно.
Если тема интересна, могу вечером посмотреть в своих наработках рабочий набор конфиг для такой песочницы.

Всего записей: 537 | Зарегистр. 04-11-2010 | Отправлено: 13:15 03-10-2016 | Исправлено: insorg, 13:18 03-10-2016
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
ТС = Total Commander
может у меня чего с руками, но если линкер при сборке не находит экзешников, перечисленных в Package.ini - он завершается с ошибкой. ошибки не видно, если запускать build.bat напрямую - окно просто закрывается. запустите из комстроки.
так что полностью согласен с insorg
могу только добавить, что на ХР, например, прикол с запуском cmd.exe или explorer.exe обламывается и выползает в реал, нужно переименовывать упакованные cmd.exe или explorer.exe - тогда они работают как задумано + добавлять пару записей в реестр. помнится, пару лет назад над этим бился AVanti 473 под "коментарии" Astra55 - как запустить explorer - тоже есть в FAQ.

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 14:08 03-10-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Собственно, я сюда зашёл по вопросу, как вытаскивать файлы из песочницы, решение есть, благодарю всех, кто к нему меня направил.
 
insorg
Цитата:
исполнялка должна быть ВНУТРИ контейнера
В предыдущем моём сообщении я описал принцип, где лежат мои «исполнялки» и как запускаются. Это - уже давно отработанная схема, не вижу для себя необходимости это доказывать. По-вашему, ВНУТРИ это или СНАРУЖИ?

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 15:00 03-10-2016 | Исправлено: romby, 15:00 03-10-2016
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
а можно пощупать такой проект? очень любопытно

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 16:59 03-10-2016
insorg



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Итак, обещаный архив:  http://rgho.st/6TRtDfCvH
 
Если кратко, то вот выжимка для "Package.ini".
 
Выделил цветом:
1. Красное - самое ценное для изоляции
2. Зелёное - удалить ; для самоудаления песочницы по завершении работы программы (иногда это может быть удобно)
3. Синее - самое ценное для вызова cmd.exe *
 
*Обращу внимание, моё имя для комстроки отличается от системного. Это важно для работы именно изолированного cmd, а не реального системного! Та же штука потребуется для explorer.exe.
 
По вкусу можно наделать разные права доступа к разным папкам, в т.ч. системным при помощи правильного "##Attributes.ini" в них.
 
По опыту скажу, что лучше собирать изолированный cmd.exe на Win XP при помощи ThinApp 4.73, тогда оно заработает на всех виндах, начиная с ХР до 10 х64. В других случаях могут быть проблемы в работе на 10-ке или на XP/Vista.
 
Хотя... любителям гуя (или кому комстрока - дико и непонятно) с тем же успехом можно завернуть внутрь не только cmd.exe, но и какой-нибудь легковесный Q-Dir, из которого уже запускать всё, что надо. Всё-равно дочерние процессы будут работать в подчинении тинапу при любом из исходов.

Всего записей: 537 | Зарегистр. 04-11-2010 | Отправлено: 20:27 03-10-2016 | Исправлено: insorg, 20:40 03-10-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa
Цитата:
а можно пощупать такой проект? очень любопытно

Несколько упрощённый проект для ознакомления: USDownloader.rar (Пояснения)

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 02:39 12-10-2016 | Исправлено: romby, 16:04 01-11-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как в VBS определить, в какой папке лежит портабельная программа (контейнер)?

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 17:18 01-11-2016
coherent

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

Цитата:
Подскажите, как в VBS определить, в какой папке лежит портабельная программа (контейнер)?

Origin = GetEnvironmentVariable("TS_ORIGIN")
Path = Left(Origin, InStrRev(Origin, "\") - 1)

Всего записей: 3350 | Зарегистр. 20-02-2007 | Отправлено: 17:47 01-11-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent
Спасибо.
 
А ещё вопрос, как узнать ФАКТИЧЕСКОЕ расположение песочницы?

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 20:08 01-11-2016
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
romby
https://cloud.mail.ru/public/G1QP/YMxVFLXk1

Всего записей: 2708 | Зарегистр. 10-01-2011 | Отправлено: 21:07 01-11-2016
romby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa
Спасибо. Там точно есть ответ?
 
Добавлено:
Не вижу там ответа.
 
В ThinApp 4.7.3 User's Guide сказано, что ThinApp ищет песочницу по ряду путей.
Я насчитал их там одиннадцать. Вот они в упоминаемом порядке (утрированно):

Код:
Function SandboxPath
  ComputerName = GetEnvironmentVariable("ComputerName")
  SandboxName = GetBuildOption("SandboxName")
  ProgramDir = Left(GetEnvironmentVariable("TS_ORIGIN"), InStrRev(GetEnvironmentVariable("TS_ORIGIN"), "\"))
 
  SandboxPath = GetEnvironmentVariable(SandboxName & "_SANDBOX_DIR")
  SandboxPath = GetEnvironmentVariable("THINSTALL_SANDBOX_DIR") & "\" & SandboxName & "." & ComputerName
  SandboxPath = GetEnvironmentVariable("THINSTALL_SANDBOX_DIR") & "\" & SandboxName
  SandboxPath = ProgramDir & SandboxName & "." & ComputerName
  SandboxPath = ProgramDir & SandboxName
  SandboxPath = ProgramDir & "Thinstall\" & SandboxName & "." & ComputerName
  SandboxPath = ProgramDir & "Thinstall\" & SandboxName
  SandboxPath = GetBuildOption("SandboxPath") & "\" & SandboxName & "." & ComputerName
  SandboxPath = GetBuildOption("SandboxPath") & "\" & SandboxName
  SandboxPath = "%AppData%\Thinstall\" & SandboxName & "." & ComputerName
  SandboxPath = "%AppData%\Thinstall\" & SandboxName
End Function
 

Есть ли способ определить, какой из них использует запущенная программа?

Всего записей: 1713 | Зарегистр. 09-02-2006 | Отправлено: 21:36 01-11-2016 | Исправлено: romby, 23:00 01-11-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru