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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Завернуть штатный cmd.exe без явного задания файла.
 
Package.ini
Подробнее...
 
Положить в папку с прогой и запускать из него.
Отличать имя контейнера от cmd.exe принципиально!
Чтобы руками не писать буквы, нужный ехе можно TABом натыкать.

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 10:37 04-07-2019 | Исправлено: insorg, 10:44 04-07-2019
Sheleh

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если я изолирую только один ЕХЕшник, то я буду вынужден положить его в виртуальное местоположение. Типа %Program_files%\MyProgram или %Drive_C%\MyProgram
 
Но этот exeшник использует для своей работы кучу файлов/библиотек и.т.д которые он будет искать по указанному выше пути. И естественно не найдет, потому что я не хочу все это засовывать в контейнер. Хочу что бы все это лежало рядом с песочницей, а не в песочнице.

Всего записей: 37 | Зарегистр. 12-06-2009 | Отправлено: 10:42 04-07-2019
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sheleh
1. Если явно не задавать изоляцию WriteCopy, ничего в песочницу не попадёт.
2. К путям привязки нет.
 
p.s.
Я так старые игры запускаю (из iscmd.exe), чтобы они в реестр не гадили (есть такие), либо закрываю в песочницу папку с сохранёнками, чтобы удобно сохранить/перенести.

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 10:50 04-07-2019 | Исправлено: insorg, 10:51 04-07-2019
Proshaa

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

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 11:38 04-07-2019
Sheleh

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Речь идет от GstarCAD2019. У него триальный период 30 дней. Просто не хотелось бы его весь засовывать в контейнер. У него есть папочки, которые могут понадобиться для какой-либо модификации дистрибутива. Скрипты или фонты закинуть например.
 
Я могу закинуть только основной ЕХЕшник в контейнер, но надо что бы вся его остальная требуха также находилась по такому же пути. Это работает, пока пути совпадают.  
 
Вот и спрашивается, не уже ли этот основной путь должен все время жестко задан, почему он не может меняться в зависимости от места его запуска?
 
Даже переменная типа %sandbox% очень бы помогла спасти ситуацию. Но это не работает.
 

Цитата:
Я так старые игры запускаю (из iscmd.exe), чтобы они в реестр не гадили (есть такие), либо закрываю в песочницу папку с сохранёнками, чтобы удобно сохранить/перенести.  

Гениально! Это же можно реализовать что бы в контекстном меню проводника появились пункты:
"Запустить в песочнице с изоляцией full"
"Запустить в песочнице с изоляцией WriteCopy"
 
Надо подумать

Всего записей: 37 | Зарегистр. 12-06-2009 | Отправлено: 13:07 04-07-2019 | Исправлено: Sheleh, 13:10 04-07-2019
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sheleh
Для разных доступов собрать разные iscmd, будет счастье.
У меня три:
1. Изоляция реестр, системные папки, системный диск. Открыт прямой доступ к "Рабочий стол" и локальные диски кроме С:.
2. Изоляция реестра, изоляция всех дисков, папок и прочего, кроме рабочего стола.
3. То же, что и 2, только с зачисткой всей песочницы перед стартом и после работы программы.

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 13:52 04-07-2019
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sheleh
для доступа к папочкам внутри контейнера есть несколько способов: попроще и для "армянских комсомольцев".
1. делаете сборку вместе с привычным вам коммандером. в этом случае всё, что внутри контейнера видно в этом коммандере и любые изменения "работают" и для основной программы. все изменённые/добавленные файлы попадают в песочницу.
2. создаёте/модифицируете нужные вам папки/файлы в программе. после этого они попадают в песочницу и уже там, в песочнице можно их модифицировать не из сборки. т.е. если вы просто добавите свои файлы в песочницу - сборка их не увидит. но если вы измените имеющиеся там файлы - сборка будет работать с ними, как с родными.
 
для любителей острых извращений, которым
Цитата:
не хотелось бы его весь засовывать в контейнер
(хз, почему) можно предложить написать скрипт, который при запуске контейнера будет копировать то, что лежит рядом по путям, прописанным внутри контейнера.
 
это всё "народные" способы. официальный же способ добавления/изменения файлов оригинальной сборки - система плагинов: раскомментируете в основном контейнере строчку OptionalAppLinks=plugins\*.exe; создаёте рядом со сборкой папку "plugins" и кладёте в неё контейнер, содержащий файлы модификации. всё, что лежит в этой папке будет иметь приоритет над основным контейнером.
и не надо выдумывать, как почесать левое ухо правой ногой
 
P.S. описанный insorg способ, с запуском cmd.exe в контейнере - это всё тот же вариант с запуском коммандера - только менее удобный, т.к. командная строка всё же требует больше телодвижений. и, кстати,
Цитата:
Отличать имя контейнера от cmd.exe принципиально!  
актуально только для ХР. в следующих ОС имя может не отличаться - всё равно будет запущен cmd из контейнера (в ХР, если не сменить имя - запускается cmd из реала)

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 14:25 04-07-2019
Sheleh

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На самом деле все очень просто заработало. Странно что не допер сразу.
 
Как изолировать отдельный exe-шник.
 
Повторюсь, что не всегда удобно запаковывать всю программу в единый контейнер. Например Delphi. Туда постоянно приходится подкидывать какие либо пакеты, исходники, библы.  
 
1. Что бы exe-шник не привязывался к конкретному пути, в проекте он не должен лежать в какой либо папке. Т.е. только рядом с файлами Package.ini и build.bat. Остальные файлы программы я просто положил в папку bin. Т.е. они не попадают в контейнер.  
 
2. Точка входа в Package.ini должна ссылаться на этот файл по относительному пути: Source=Delphi32.exe
 
3. Так, как предполагается нахождение основного ехе-шника и ехе-thinapp у них должны быть разные имена! Например:
[Delphi32_Ldr.exe]
ReadOnlyData=bin\Package.ro.tvr
Source=Delphi32.exe
 
Внимание, оригинальный файл, в нашем случае Delphi32.exe, так же должен присутствовать в этой папке. Т.е. он будет и в контейнере и снаружи. Казалось бы он уже есть в контейнере, и незачем его дублировать в его рабочей папке, но почему-то так не работает.
 
В итоге запуск Delphi32.exe приводит к обычному запуску вне песочнице, а запуск Delphi32.exe_Ldr уже внутри песочницы.  
 
В общем именного этого я и добивался.  
 
Всем здравия!

Всего записей: 37 | Зарегистр. 12-06-2009 | Отправлено: 17:18 04-07-2019
piladus1700

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

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

положи пустой ... .exe  и переименуй в Delphi32.exe (Source=Delphi32.exe)

Всего записей: 1371 | Зарегистр. 06-05-2018 | Отправлено: 17:34 04-07-2019 | Исправлено: piladus1700, 17:45 04-07-2019
warezo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос, не по теме немного. Хочу портабелизировать портабельную прогу. Т.е. у проги есть свой INI файл, в реестр она ничего не пишет, но у неё хренова туча файлов, которые в распакованном виде весят в 10 раз больше, чем в запакованном. Существует ли какая-то тулза, которая позволяет запаковать прогу в архив, а потом монтировать этот архив для чтения-записи? Либо только для чтения, а запись чтоб шла, скажем, в папку рядом с архивом - так даже лучше, если архив непрерывный. Знаю, что есть WIM, но у него реально слабое сжатие, у ThinApp тоже не айс. Подскажите, есть ли такое в природе?

Всего записей: 381 | Зарегистр. 16-11-2005 | Отправлено: 10:35 13-07-2019
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
warezo
олдскул 7z sfx в %temp%

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 12:09 13-07-2019
warezo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
По пойдёт. Мне распаковку нескольких тысяч файлов на винт минут пять ждать придётся.
Про рамдиск я уже думал, но он память жрёт, да и сборка такая нифига не портабельная.
 
Добавлено:
Нашёл Pismo File Mount, он lzma-zip архивы маунтит, но изменений не сохраняет и требует установки. WinMount с WinArchiver тоже не катят, т.к. маунтят на виртуальные приводы.

Всего записей: 381 | Зарегистр. 16-11-2005 | Отправлено: 12:12 13-07-2019 | Исправлено: warezo, 12:36 13-07-2019
SunOK_ZM



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
warezo, теоретически vhdХ-контейнер, в Win7-10 монтируется штатными средствами, имеет сжатие. Степень сжатия не проверял, в ХР наверно сторонними утилитами монтируется.
Если эти "тучи файлов" только читаются, то ТА выход. Если они изменяются в процессе работы %проги%, обязательно распакуются в песочницу, тогда это не выход.

Всего записей: 255 | Зарегистр. 19-02-2012 | Отправлено: 14:32 13-07-2019
Sheleh

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

Цитата:
 Знаю, что есть WIM, но у него реально слабое сжатие, у ThinApp тоже не айс.

Ну не скажи!
Так пробовал собрать: ?
[Compression]
CompressionType=Fast
OptimizeFor=Disk  
BlockSize=256k
 
У меня без этих строчек GstarCAD сжимался в  > 700мб, а с этими параметрами в 200мб

Всего записей: 37 | Зарегистр. 12-06-2009 | Отправлено: 14:52 16-07-2019
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sheleh
BlockSize=1M
Так получше выходит.

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 21:28 16-07-2019
warezo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SunOK_ZM
Sheleh
insorg
Всем спасибо за инфу. Видимо, TA лучший выход.

Всего записей: 381 | Зарегистр. 16-11-2005 | Отправлено: 03:06 17-07-2019
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
warezo
Для сборки кучи мелочи а один файл - чуть ли не единственный.
Я с такой же целью офисы собирал портативные, видеоредактор с овердофига тысячами файлов и т.п..

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 21:22 17-07-2019
grvaleri

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlockSize=1M  
Так получше выходит.
почти 7 zip
но потом ждать 5 минут пока всё распакуется. тоже не вариант
и большую прогу. чтобы не зависла нужен порядок распаковки (что проблемно)
особено если сперва идёт проверка лицензии

Всего записей: 395 | Зарегистр. 14-09-2006 | Отправлено: 18:52 28-07-2019 | Исправлено: grvaleri, 19:03 28-07-2019
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grvaleri
разницы в работе не замечал ни разу, всё шустро и нормально

Всего записей: 16840 | Зарегистр. 04-11-2010 | Отправлено: 01:45 29-07-2019
TemaZosin

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня немного нестандартная задача: есть софт. Он уже установлен и работает на тачке. В нем прописана авторизация в аккаунт и сохранена. Если перенести папку с софтом, то он прекрасно работает на другом пк, только авторизации нет. Пароль для авторизации потерян. Нужно бы перекинуть софт с авторизацией на другую тачку. Пытался посмотреть куда лезет в реестр и к файлам софт, запустим процессэксплорер, но программа тут же крашится (если при запущенной запустить) или выдает (при запуске, когда уже запущен пе), что замечен софт, и мол закройте его. Этакая слабенькая защита.
Какие есть варианты, чтобы запихать все к чем обращается программа в контейнер? Проблема в том, что я не знаю, к чему она обращается.
Как вариант, я сканирую "чистый комп" финаппом. Далее перетаскиваю папку в любое другое место и запускаю оттуда. Финнапп зафиксирует "появление новой папки" и отметит, что ее нужно виртуализировать. А как быть с реестром или может какими ини-файлами или другими, которые программа чекает при старте и откуда тянет данные, особенно, если они не изменятся, а просто читаются? Прога их увидит или нужно какой-то параметр прописать,  чтобы почекало дату доступа (изменения) файлов?
 
Какие есть варианты? Просто, если упаковывать все файлы, на которых поменялась дата, то это пол системной папки будет.

Всего записей: 512 | Зарегистр. 30-08-2012 | Отправлено: 08:44 26-08-2019
Открыть новую тему     Написать ответ в эту тему

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