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

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

   

coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
5-ки у меня нет, поэтому проверить не могу. На 4.7.1 тоже выкидывает ошибку. Похоже, что проблема в записи вида "REG_SZ=". Остановка происходит именно на этом месте. В младших версиях эта запись имеет вид "REG_SZ=#00". Если заменить первое на второе, то все конвертируется без ошибки. Вот reg-файл Подробнее...
Проверьте все ли правильно.
 
Добавлено:
SLasH
Лучше, наверное, использовать OnFirstSandboxOwner, а не OnFirstParentStart.

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 13:47 02-06-2014 | Исправлено: coherent, 14:00 02-06-2014
SLasH

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent 14:47 02-06-2014
Цитата:
Лучше, наверное, использовать OnFirstSandboxOwner, а не OnFirstParentStart

Именно OnFirstSandboxOwner я и использовал в своих примера, на предыдущей странице по ссылкам. OnFirstSandboxOwner вызываться должна 1 раз.
А OnFirstParentStart просто скопипастил.

Всего записей: 723 | Зарегистр. 08-10-2002 | Отправлено: 14:07 02-06-2014
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, прошу, пожалуйста, сильно не ругать за вопрос. На одном из форумов нашел *.vbs-скрипт, который позволяет записать в переменную путь к "песочнице".
 
Вопрос в том, каким образом модернизировать этот скрипт, чтобы он позволял, извлекать из виртуального контейнера (виртуальной среды) некоторый исполняемый файл, например, "MyProgram.exe", в каталог "песочницы" (реальная файловая система) и запускать его на исполнение.
 
Сам в VBS не шибко разбираюсь, но, м.б. у Вас есть идеи. Думаю в ветке по VBS, меня немного не поймут с нашими:
Function OnLastProcessExit
...
End Function
 
Оговорюсь, в виртуальной среде файл находится по пути "%ProgramFilesDir%\Data\MyProgram.exe", при извлечении в реальную систему (по завершению работы портабельного приложения), он должен попасть в песочницу "Каталог_песочницы\MyProgram.exe".

Всего записей: 725 | Зарегистр. 19-02-2008 | Отправлено: 01:31 03-06-2014 | Исправлено: Artem_Butenko, 01:45 03-06-2014
AVanti473



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

Цитата:
сильно не ругать за вопрос

 
Artem_Butenko
 
А меня извините за любопытство. Интересно зачем такая манипуляция внутри песочницы? Получается, программа отработала, а по закрытию скрипт ThinApp выкинул екзкшник из виртуальной среды в реальную, но в ту же песочницу? Просто сижу и думаю, а что дальше можно или нужно делать с этим екзешником?
 

Цитата:
извлекать из виртуального контейнера (виртуальной среды) некоторый исполняемый файл, например, "MyProgram.exe", в каталог "песочницы" (реальная файловая система) и запускать его на исполнение.

 
А его по извлечению ещё и запустить предполагается в реальной системе?... Зачем тогда изначально контейнер ThinApp?
 
Заранее прошу прощения, что не в моих силах помочь с решением Вашего вопроса, мне просто он показался интересным и любопытным!

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 08:05 03-06-2014 | Исправлено: AVanti473, 08:07 03-06-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
Если это не очень большой секрет, зачем это нужно. И не столько для любопытства, от этого зависит реализация скрипта.
Плюс какая последовательность действий? После завершения сборки вынести MyProgram.exe в  песочницу и запустить на исполнение? А дальше что? MyProgram.exe останется в песочнице или его надо удалять по завершении работы? Это один и тот же файл или каждый раз создается разный? Если один и тот же, зачем его каждый раз выносить? И т.д....

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent
 
Файл один и тот же, вроде как понятно сформулировал. Портабельное приложение завершает работу, "MyProgram.exe" экспортируется в "песочницу" и выполняется, после, - удаляется. Все. Если есть идеи, пожалуйста, помогите.
 
Добавлено:

Цитата:
Если это не очень большой секрет, зачем это нужно.

 
Пишу на AutoIt, т.н. "ThinApp_FileCleaner", проект готов, осталось протестировать его, обещаю выложить здесь же, не жмот. Теперь только одна проблема, изложенная выше. Есть варианты?

Всего записей: 725 | Зарегистр. 19-02-2008 | Отправлено: 15:38 03-06-2014 | Исправлено: Artem_Butenko, 16:34 03-06-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
Есть одна проблема и возможно она принципиальная. Закинуть MyProgram.exe в песочницу не проблема, а вот запустить ее там во время работы сборки (выполнение скрипта - это все еше работаюшая сборка) невозможно. Возможно есть пути решения этого, но я их не знаю. Если Вас устраивает, то рабочий вариант такой: MyProgram.exe (OnLastProcessExit) выносится из виртуальной среды в реальную рядом с исполняемым файлом сборки и запускается, а по закрытию удаляется.

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
Обязательно извлекать в песочницу?
Я приводил примеры в посте http://forum.ru-board.com/topic.cgi?forum=5&topic=31117&start=3500#18
там по ссылкам есть пример копирования exe-шника изнутри наружу в папку %TEMP% и запуска в реальной системе.

Всего записей: 723 | Зарегистр. 08-10-2002 | Отправлено: 22:41 03-06-2014
bumburbia



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При запуске портативки (Password Recovery Bundle) рядом с песочницей появляется log-файл (bundle.log), при стационарной установке файл находится в папке с программой. Как заставить его "не высовываться" дальше песочницы ?

Всего записей: 2082 | Зарегистр. 12-02-2011 | Отправлено: 00:00 04-06-2014
SLasH

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно изоляцию поставить для %ProgramFilesDir% в Full.

Всего записей: 723 | Зарегистр. 08-10-2002 | Отправлено: 00:15 04-06-2014
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent, SLasH, ещё раз хотел поблагодарить за ценную информацию! К сожалению, или к счастью, дело оказалось не в импорте значений реестра в реальную файловую систему, но то, что я узнал с вашей помощью, для меня более ценно, чем проект, которым я занимаюсь в данный момент!
С Reg Organizer всё оказалось до банального просто! И хотя сперва я полез в дебри анпакеров, для снятия защиты ASProtect 2.1x SKE -> Alexey Solodovnikov [Overlay] с RegOrganizer.exe, но дело оказалось куда проще! Просто, ThinApp v5.0.0 Build 1391583, по каким-то невероятным причинам, не может собрать полнофункциональный портабл этой программы... Пересборка в ThinApp v4.7.3-891762 (7101) решает все проблемы!
Слукавил. Почти все проблемы. ))) Одна осталась, её суть я описал здесь: http://forum.ru-board.com/topic.cgi?forum=55&topic=11671&start=2280#20
Если в двух словах, то в реальной системе, по пути:
C:\Documents and Settings\Юзверь\AppData\Local
должны появляться папки:
ChemTable Software\Reg Organizer
Если они появляются в песочнице через включение в сборку их изоляции в %Local AppData%, то перестаёт корректно работать функция оптимизации реестра!
Вот подавай им реальную систему и всё тут!
Это как раз совсем не сложно, сложно убрать эти следы после работы программы!
Нужен скрипт, и батник к нему. Подсобите пожалуйста, пока я себе окончательно не свернул голову с этой программулиной... )))
P.S. Есть нюанс! Оптимизация (она же дефрагментация) реестра, всегда завершается мгновенной автоматической перезагрузкой! Успеет ли сработать такой скрипт, убрав следы прибывания программы, или нужно будет чтобы следы убирались при её следующем запуске, а в описании к портаблу давать юзерам инфу об обязательном запуске проги после подобной чистки? А может скрипт будет удалять вышеуказанные папки и при старте и при запуске, чтобы уже наверняка?
 
Добавлено:
Пока, по удалению, я нашёл лишь это:
 

Код:
<%  
dim filesys, demofolder  
set filesys = CreateObject ("Scripting.FileSystemObject")  
set demofolder = filesys.GetFolder("C:\Documents and Settings\Юзверь\AppData\Local\ChemTable Software")  
demofolder.Delete  
%>

 
Если это работает, то и батник не понадобиться... Но, а как правильно, так?:
 

Код:
Function OnFirstParentExit
<%  
dim filesys, demofolder  
set filesys = CreateObject ("Scripting.FileSystemObject")  
set demofolder = filesys.GetFolder("C:\Documents and Settings\Юзверь\AppData\Local\ChemTable Software")  
demofolder.Delete  
%>
End Function

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 08:07 04-06-2014
bumburbia



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

Цитата:
Возможно изоляцию поставить для %ProgramFilesDir% в Full.

Не помогает, log-файл всё равно рядом с песочницей.

Всего записей: 2082 | Зарегистр. 12-02-2011 | Отправлено: 08:56 04-06-2014
AVanti473



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

Цитата:
Не помогает, log-файл всё равно рядом с песочницей.

 
Соури, не вчитывался, на вскидку, может это поможет:
ВPackage.ini в [BuildOptions] прописать
CachePath=<sandbox_path>
 
Или встречал вываливание файлов из песочницы в случае запуска портабельной программы чёрт знает из каких дебрь папок. Запустите напрямую с корня диска и лог должен оказаться в песочнице. Кажись на это как-то влияет общая длинна символов до файла, и опять же - латиница, кирилица в названиях папок...
 
P.S. Такой же экзотический косяк я сам наблюдал, но стоило только запустить портабельную программу с корня диска, как всё прошло. Впрочем и из других мест тоже беспроблемно запускалась, но вот с какого-то одного (уже не вспомню, помню что путь длинным был), запускалась с вываливанием файлов из песочницы к екзешнику. Тогда не придал значения. Решил что это баг и его исправят в следующих версиях ThinApp...

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 09:01 04-06-2014 | Исправлено: AVanti473, 09:08 04-06-2014
bumburbia



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

Цитата:
CachePath=<sandbox_path>  

Это я уже проделывал, запуск из корня диска тоже ничего не меняет...

Всего записей: 2082 | Зарегистр. 12-02-2011 | Отправлено: 09:17 04-06-2014
AVanti473



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

Цитата:
запуск из корня диска тоже ничего не меняет...

 
Ясно. Попробуйте пересобрать проект на другой, более ранней версии ThinApp. Может совет и нелепый, но, а вдруг?

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 09:20 04-06-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
Если устраивает вынос MyProgram.exe рядом с ехе-файлом сборки, то вот  
скрипт..
 
Добавлено:
AVanti473
Попробуйте так..
Лично я не сторонник портабелизации такого рода програм, не знаеш где, когда и на какие грабли наступишь. Да и собственно оптимизация реестра уже даже для ХР не дает ощутимого результата, влияющего на скорость. ИМХО, конечно.

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 12:02 04-06-2014 | Исправлено: coherent, 12:22 04-06-2014
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coherent, за решение благодарю, буду пробовать!!!    
 

Цитата:
Лично я не сторонник портабелизации такого рода програм

 
офтоп
 
Добавлено:
coherent
 
Скрипт работает! Благодарю! Есть одно но, как я и предполагал, увы он не успевает удалить папку. Система, после оптимизации, автоматом уходит в перезагрузку, а после перезагрузки папка на месте! Если без оптимизации создать там папку, то по завершению программы она удаляется без проблем.
И ещё такой момент. В реальной системе тоже может находиться аналогичная, инсталлированная программа, и папка ChemTable Software может содержать её данные, что спутает работу портабельной версии. Возможно, при старте тоже надо проверять наличие этой папки и удалять её?

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 12:59 04-06-2014
coherent

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

Цитата:
 Есть одно но, как я и предполагал, увы он не успевает удалить папку. Система, после оптимизации, автоматом уходит в перезагрузку, а после перезагрузки папка на месте! Если без оптимизации создать там папку, то по завершению программы она удаляется без проблем.

Думаю, что проблема не в том, что скрипт не успевает удалить папку, а потому что программа закрывается не естественным для нее путем, а ее закрывает система уходя на перезагрузку. Как-то так, не углубляясь в подробности. Хотя повторюсь, с нюансами работы Reg Organizer-а не знаком.

Цитата:
И ещё такой момент. В реальной системе тоже может находиться аналогичная, инсталлированная программа, и папка ChemTable Software может содержать её данные, что спутает работу портабельной версии. Возможно, при старте тоже надо проверять наличие этой папки и удалять её?

Наверное ее надо не удалять, а бекапить при старте (OnFirstSandboxOwner) и по завершению работы восстанавливать. Но в свете того, что папка не удаляется при перезагрузке, это будет тяжело сделать.
Весь вопрос в том, стоит ли овчинка выделки?

Всего записей: 3885 | Зарегистр. 20-02-2007 | Отправлено: 14:47 04-06-2014
AVanti473



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

Цитата:
Весь вопрос в том, стоит ли овчинка выделки?

 
В любом случае у меня есть большое желание добить реализацию этого софта! Тем более, что и так уже всё важное работает, за исключением этой мелочи.
 

Цитата:
Наверное ее надо не удалять, а бекапить при старте (OnFirstSandboxOwner) и по завершению работы восстанавливать.

 
Собственно, если её вырезать то реальной программе на это чхать при старте. Никакой особой смысловой нагрузки в ней нет.
Но там хранятся бекапы:
C:\Documents and Settings\Юзверь\AppData\Local\ChemTable Software\Reg Organizer\backups
 
Возможно что надо бы бекапить... Что предложите?
 
Кстати, если даже в скрипте заменить OnLastProcessExit  на OnFirstParentExit, всё одно до перезагрузки папка не успевает удалиться... Как бы это решить... Может можно как-то организовать паузу до начала перезагрузки?

Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 17:49 04-06-2014 | Исправлено: AVanti473, 17:50 04-06-2014
Artem_Butenko



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

Цитата:
Если устраивает вынос MyProgram.exe рядом с ехе-файлом сборки, то вот  
скрипт..

 
Печально, не работает...
 
SLasH
 

Цитата:
Обязательно извлекать в песочницу?  
Я приводил примеры в посте http://forum.ru-board.com/topic.cgi?forum=5&topic=31117&start=3500#18  
там по ссылкам есть пример копирования exe-шника изнутри наружу в папку %TEMP% и запуска в реальной системе.

 
Да, извлекать в песочницу обязательно. Сам в VBS не разбираюсь. Надеюсь на Вашу добрую помощь!

Всего записей: 725 | Зарегистр. 19-02-2008 | Отправлено: 19:01 04-06-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