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

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

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

articlebot (28-02-2016 18:11): VMware ThinApp (formerly Thinstall) часть 4  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224

   

vashchukov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1.Создаю ThinApp пекадж последней версии Google Chrome, но при запуске получаемого exe-файла, обнаруживаю пропадание иконки Хрома, вместо иконки - пустая заглушка. Как это починить?
 
2. Хочу создать ThinApp пекадж Punto Switcher'а. Есть ли готовая инструкция или статья по виртуализации этого ПО? Планирую, что этим PS'ом будет пользоваться множество человек в компании и хочется, чтобы он автоматически загружался и у каждого пользователя был свой собственный словарь.

Всего записей: 1 | Зарегистр. 02-07-2013 | Отправлено: 14:53 24-11-2014
AVanti473



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

Цитата:
Создаю ThinApp пекадж последней версии Google Chrome, но при запуске получаемого exe-файла, обнаруживаю пропадание иконки Хрома, вместо иконки - пустая заглушка. Как это починить?

 
В Package.ini параметр InventoryIcon=
 

Цитата:
Есть ли готовая инструкция или статья по виртуализации этого ПО?

 
Не встречал готовых инструкций по виртуализации каких-либо конкретных программ.

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 18:52 24-11-2014
jiko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята как возможно с VMware ThinApp 5 создать Windows XP Sp3 Portable
Пример если работаю в Win 7/8 и надо Windows XP Sp3 просто открыл внутри Win 7/8 и все,
а не через VirtualBox 4.3 / VMware Workstation 10
Спосибо .

Всего записей: 140 | Зарегистр. 26-02-2003 | Отправлено: 05:17 26-11-2014
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jiko
Никак. Не для этого он

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 07:47 26-11-2014
oplrox

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просьба помочь.  
Есть портабельная сборка, к ней подключаются плагины *dat, некоторые из них при этом не запускаются, но если их dll вынести в реальную систему все работает.  
При сборке таких плагинов с параметром "ChildProcessEnvironmentDefault=External" и "ExternalDLLs=нужные dll" в песочницу также ничего не выносится. Что делаю неверно?
Или данный параметр применим только к основному хосту и с плагинами не работает?
(У плагинов ведь своей песочницы нет, как я понимаю, или она общая?)

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 16:34 26-11-2014 | Исправлено: oplrox, 16:40 26-11-2014
SunOK_ZM



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oplrox, в *.dat находятся exe-шники для запуска? Проверял через файлменеджер(RollerNT) запускать "хуковые" проги(экранную клавиатуру, скриншотер ScreenHunter 6) - действует, но их dll-ки не появляются. При этом только песочница хоста используется.
Часом не мультимедиа в плагинах? такое вообще привередливое... Например, VST-эффекты часто приводят к вылету аудиоредактора.

Всего записей: 255 | Зарегистр. 19-02-2012 | Отправлено: 01:25 27-11-2014
NickOnToluca



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SunOK_ZM
У меня несколько VST работают и не жужжат.
Но в целом да, некоторые капризничают.
 
oplrox
Можно еще раз? В какой конфигурации работает, а в какой нет?

Всего записей: 4777 | Зарегистр. 26-05-2008 | Отправлено: 10:46 27-11-2014
coherent

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

Цитата:
но если их dll вынести в реальную систему все работает.  


Цитата:
При сборке таких плагинов с параметром ... "ExternalDLLs=нужные dll" в песочницу также ничего не выносится.

Сталкивался с таким. Некоторые dll-ки, будучи заданными в ExternalDLLs=, все равно не выносятся в песочницу. В этом случае их надо выносить скриптом.

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 11:24 27-11-2014
oplrox

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NickOnToluca, coherent, SunOK_ZM, спасибо что отозвались. Опишу ситуацию подробнее.
 
В *dat запортабелен VST плагин, как обычно в его папке dll, в профиле библиотеки пресетов и записи в реестре. Если собрать этот dat без dll, а последние закинуть в реальную систему то все работает как надо (с регистрацией и подгрузкой пресетов). А вот если библиотеки оставить внутри контейнера (т.е. сделать все как обычно), зависает при запуске.  
Похоже, плаг хочет работать с процессами в системе, и по идее, с выносом его библиотек в песочницу должно работать, но как я писал выше ChildProcessEnvironmentDefault=External эффекта не дал.  
Читал у Astra55 что можно в портейбл поместить файлы с нулевым размером, а в песочницу подставить реальные, но пока что не проверял, да и каждый раз подставлять вручную файлы тоже не очень.  
 
coherent, если нет других то это вариант, у вас случаем нет примера такого скрипта?
 
На всякий случай, версия ThinApp 4.7.0

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 11:25 27-11-2014 | Исправлено: oplrox, 12:46 27-11-2014
NickOnToluca



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
oplrox
А что именно за плагин?

Всего записей: 4777 | Зарегистр. 26-05-2008 | Отправлено: 11:53 27-11-2014
oplrox

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NickOnToluca, это любой из плагов Acon Digital и Sonoris (есть на рутрекере). С Sylenth1 такая же ситуация, думал тоже про скрипты, но к сожалению не силен в этой области...

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 12:32 27-11-2014 | Исправлено: oplrox, 13:36 27-11-2014
oplrox

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вобщем с помощью скрипта удалось вынести dll в песочницу, теперь уже пишет ошибку при загрузке плагина: "fatal error plugin editor" как-то так... Перепробовал десятки вариантов, с разными плагинами, в том числе и с файлом нулевого размера в разных комбинациях... Возможно, тут дело в изоляции, ведь песочница для сборки - среда с заданными параметрами, получается, что даже вынося файл в песочницу, доступ к нему все равно происходит через параметры виртуальной среды...
 
Можно еще все настройки и файлы(кроме dll) оставить в сборке, а последние подгружать в систему. Это уже конечно не портейбл, но все равно мусора будет меньше, да и другой выход что-то не просвечивается...
 
Кстати забыл сказать, NickOnToluca, вам спасибо за видео-мануал по AppLinks, полезный материал...

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 16:17 28-11-2014 | Исправлено: oplrox, 16:50 28-11-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oplrox
Сталкивался также с тем, что иногда недостаточно вынести dll-ку только в песочницу, нужно также выносить ее рядом с исполняемым ехе-файлом сборки. dll-ку из сборки в песочницу нужно перемещать, типа fso.MoveFile. При этом dll-ка, если мне не изменяет память, все равно должна быть задана в ExternalDLLs=. Не факт, что в вашем случае сработает, но попробовать можно.

Цитата:
Можно еще все настройки и файлы(кроме dll) оставить в сборке, а последние подгружать в систему. Это уже конечно не портейбл

Это вы зря. Это давно известный и обкатанный метод: при старте - вынос в реальную систему (даже с регистрацией, если необходимо), а по завершении удаление (и дерегистрация, если необходимо).

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 18:56 28-11-2014 | Исправлено: coherent, 18:57 28-11-2014
AVanti473



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

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

 
Аналогично! Например программа TeraCopy - dll-ки, при выносе, тоже не работают без екзешника.

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 21:50 28-11-2014
oplrox

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent, нашел ваш скрипт, файл все равно не появляется возле exe, и после выхода запускается бесконечный цикл старта программы.  
 
Есть некоторый прогресс.  
 
Кстати, метод fso.MoveFile при старте выдает ошибку, возможно я где-то допускаю ошибку в синтаксисе. Пошел другим способом: поместил dll в другую папку, методом fso.CopyFile скопировал в реальную систему, так работает. Но перед этим, в параметрах сборки с этого пути была снята изоляция, иначе файл копируется в песочницу, а оттуда он не работает.  
Но теперь вопрос по скрипту, каким методом удалить папку при завершении работы программы?
Вобщем, без знания оккультных путей VBS никуда.
 
 
AVanti473, по поводу решения с TeraCopy, если сохранился скрипт по выносу dll, скиньте пожалуйста...

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 23:15 28-11-2014 | Исправлено: oplrox, 17:10 29-11-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oplrox
1. А если просто нужные длл-ки положить рядом с ехе сборки, выкинув их из проекта? Даже просто руками.
2.
Цитата:
поместил dll в другую папку, методом fso.CopyFile скопировал в реальную систему, так работает. Но перед этим, в параметрах сборки с этого пути была снята изоляция, иначе файл копируется в песочницу, а оттуда он не работает.

Для копирования в реальную систему лучше использовать xcopy.
3. Судя по вашим вопросам, вам стоит просмотреть мануал в той части, которая относится к использованию скриптов.
4.
Цитата:
каким методом удалить папку при завершении работы программы?

Ответ на вопрос - например, fso.DeleteFolder. Все зависит от конкретной задачи. И если вы хотите получить конкретную помощь, то и задачу надо обрисовывать не в общем, а более конкретно: что, откуда и куда надо вынести, удалить и т.д...

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 18:18 29-11-2014 | Исправлено: coherent, 18:20 29-11-2014
oplrox

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

Цитата:
...то и задачу надо обрисовывать не в общем, а более конкретно...
Портабельный хост Reaper, подключаемый плагин VST в виде *dat, в сборке это: "%ProgramFilesDir%\VstPlugins\Acon Digital\Verberate\Verberate.dll"
Имеющееся решение:  
- при сборке проекта задаются параметры ChildProcessEnvironmentDefault=External и ExternalDLLs=Verberate.dll
- Verberate.dll перемещается в %AppData%  
- снимается изоляция с %ProgramFilesDir%\Acon Digital\Verberate\
- добавляется скрипт, который копирует при запуске хоста файл Verberate.dll в реальную систему по указанному пути и при завершении работы хоста его удаляет (вернее должен удалять папку).
Код:
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile ExpandPath("%AppData%\Verberate.dll"), ExpandPath("%ProgramFilesDir%\VstPlugins\Acon Digital\Verberate\"), OverwriteExisting
Function OnLastProcessExit
 Set objFSO = CreateObject("Scripting.FileSystemObject")  
 objFSO.DeleteFolder ExpandPath("%ProgramFilesDir%\VstPlugins\Acon Digital")
End Function
После закрытия хоста удаляется только файл Verberate.dll, а директории остаются на месте!  
Как это можно исправить, т.е.чтоб директория VstPlugins оставалась, а Acon Digital со всем что внутри удалялась?

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 22:34 29-11-2014 | Исправлено: oplrox, 16:32 03-12-2014
coherent

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

Цитата:
После закрытия хоста удаляется только файл Verberate.dll, а дирекории остаются на месте!

Сталкивался с таким, досконально причину не знаю, но думаю, что это связано с коллизией виртуальной и реальной папок Verberate при использовании метода .DeleteFolder.

Цитата:
Как это можно исправить, т.е.чтоб директория VstPlugins оставалась, а Acon Digital со всем что внутри удалялась?

Я бы пошел по такому пути:
- добавить в проект папку, которая не используется плагином, и куда закинуть Verberate.dll, предварительно удалив из %ProgramFilesDir%\VstPlugins\Acon Digital\Verberate, например %Drive_C%\VstPlugins\Acon Digital\Verberate\Verberate.dll.
- копировать папку VstPlugins со всем содержимым в реальную среду в %ProgramFilesDir% через cmd.ехе /C xcopy... в функции OnFirstSandboxOwner.
- удалять папку  VstPlugins из реальной среды через cmd.ехе /C rd... в функции OnLastProcessExit.
В обоих случаях запускать через ExecuteExternalProcess.
Более подробно сейчас не могу расписать, загружен работой.  
 
Добавлено:
Насчет папки VstPlugins в проекте в %Drive_C% я был не прав. Папка должна находиться вне проекта, рядом с dat-файлом плагина.

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 14:00 30-11-2014 | Исправлено: coherent, 14:01 30-11-2014
oplrox

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

Цитата:
...добавить в проект папку, которая не используется плагином...
coherent, шикарно и просто, если освободить папку VstPlugins все работает, как сам не додумался)
CMD не стал задействовать (но взял на заметку), воспользовался тем же скриптом с изменениями.  

Цитата:
Более подробно сейчас не могу расписать, загружен работой.
Да вам и так ОГРОМНЕЙШАЯ БЛАГОДАРНОСТЬ, сам бы копался невесть сколько, и не факт что докопался.

 

 
Итак, еще раз, описание задачи и решение, возможно кому-то пригодится:
Портабельный хост Reaper, подключаемый плагин VST в виде *dat, в сборке это: "%ProgramFilesDir%\VstPlugins\Acon Digital\Verberate\Verberate.dll". Плагин при портировке стандартным способом не запускается, но работает при выносе в реальную систему.
Необходимо: при запуске хоста вынести в реальную систему папку с плагином, и после завершения работы хоста ее удалить.
Решение:
1. При сборке проекта в Package.ini задаются параметры ChildProcessEnvironmentDefault=External и ExternalDLLs=Verberate.dll  
2. Папка с плагином Acon Digital перемещается в любую другую, к примеру в %AppData%, получается:%AppData%\Acon Digital\Verberate\Verberate.dll
3. Обязательно удаляется изоляция с папки %ProgramFilesDir%\VstPlugins, или выставляется в Merged.  
Важно! ! Изоляция с вышеуказанной папки должна быть снята не только во всех подключенных плагинах, но также и в сборке хоста.
4. В корень проекта добавляется VBS-скрипт c содержанием:
Важно! ! При подключении нескольких плагинов, собранных таким способом, дабы избежать накладки записей, название скрипта должно иметь уникальное, не повторяющееся имя.
Код:
Function OnFirstParentStart
Const OverwriteExisting = True
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  objFSO.CopyFolder ExpandPath("%AppData%\Acon Digital"), ExpandPath("%ProgramFilesDir%\VstPlugins\"), OverwriteExisting
End Function
Function OnLastProcessExit
  Set objFSO = CreateObject("Scripting.FileSystemObject")  
  objFSO.DeleteFolder ExpandPath("%ProgramFilesDir%\VstPlugins\Acon Digital")
End Function

Всего записей: 216 | Зарегистр. 29-12-2010 | Отправлено: 16:06 30-11-2014 | Исправлено: oplrox, 12:53 05-12-2014
NickOnToluca



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

Цитата:
Важно! ! Название скрипта (в корне проекта) в каждой новой сборке должно отличаться от предшествующих, иначе не сработает.

Даже при условии очистки песочницы?

Всего записей: 4777 | Зарегистр. 26-05-2008 | Отправлено: 10:49 01-12-2014
   

Страницы: 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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224

Компьютерный форум Ru.Board » Компьютеры » Программы » VMware ThinApp (formerly Thinstall) 3
articlebot (28-02-2016 18:11): VMware ThinApp (formerly Thinstall) часть 4


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru