Ru-Board.club
← Вернуться в раздел «Программы»

» VMware ThinApp (formerly Thinstall) 3

Автор: fruworld
Дата сообщения: 18.10.2012 08:44
Dn5, спасибо. Смотрел до того, как задал вопрос, вроде и видеоинструкция пошаговая... но то ли я не въехал, то ли не оно... буду еще смотреть
Автор: Astra55
Дата сообщения: 20.10.2012 17:17
wald1968

Цитата:
Это уже не FAQ

Разумеется, теперь это называется "ThinApp/Spoon Studio tips and tricks", то есть "Советы и хитрости для ThinApp/Spoon Studio". Все проверяется на кошках... то есть на своих сборках и компах. Процесс пополнения знаний идет по нарастающей, мне не лень учиться.
coherent

Цитата:
Это по-любому представляет интерес для тех, кто в теме, не только для начинающих! ИМХО, будет неправильно, если Вы перестанете выкладывать FAQ здесь.

Я теперь редко бываю на руборде и не во всех топиках, поэтому отвечаю с опозданием.
Что до "неправильно", то прочтите - http://forum.ru-board.com/topic.cgi?forum=35&topic=47366&start=1560#2
и скажите мне - на кой хрен мне делиться с подобными личностями своими и инетовскими находками? Оскорблениями они со мной щедро делились, другого что-то не припоминаю. А хорошим и грамотным людям всегда подскажу, правда, в ПМ и под подписку о невыезде... тьфу ты, о неразглашении, разумеется Feci quod potui, faciant meliora potentes - я сделал, что мог, кто может, пусть сделает лучше.
Автор: vovanius1
Дата сообщения: 23.10.2012 11:50
Здравствуйте! Нужна помощь. Есть удобная програмулина для пакетного перегона .djvu -> .pdf, лежит тут . Хочу запортаблить, но она использует виртуальный принтер, так что - есть проблема. Работает, только если этот самый принтер реально установлен в системе. Скажите, ее в принципе возможно запортаблить? Если да, то как? Спасибо.
Автор: michail10
Дата сообщения: 28.10.2012 18:32
Запортабелить виртуальный принтер - упражнение не простое. Возможно кто то и может, но тихо молчит. Могу только посоветовать поискать портативный ABBYY Fine Reader. Последние версии справляются с перегоном djvu -> .pdf.
Автор: AVanti473
Дата сообщения: 04.11.2012 22:30

Цитата:
AVanti473
http://forum.ru-board.com/topic.cgi?forum=35&topic=7917&start=2320#14
Вы меня перепутали с Рикардо Нарвахой, автором «Введение в крэкинг с нуля с помощью OllyDbg».


Да, извините не сразу нашёл Ваш ответ. Ну на нет и суда нет Дело Ваше, значит вопрос закрыт, попробую это запомнить, чтобы в дальнейшем не подымать эту тему вновь. Если когда спрошу - не обижайтесь плиз, это я не со зла, а если вдруг забуду...
Автор: Astra55
Дата сообщения: 05.11.2012 04:14
AVanti473

Цитата:
и что вы думаете, после наверное двадцатиминутной сборки в самом конце ошибка



Цитата:
при желании в третьем окне отметьте пункт Fast compression или оставьте как есть. Если же вы делаете проект какой-то огромной программы, занимающей после инсталляции многие десятки или сотни метров или содержащей сотни и тысячи небольших файлов, не отмечайте этот пункт ни в коем случае! Дело вот в чем – пока не проверите сборку по всем функциям, не стоит тратить уйму времени на сжатие файлов, это не быстрый процесс, замаетесь ждать. Оставьте дефолтное значение No compression, это намного ускорит процесс сборки, а когда все будет проверено и отлажено, его всегда можно изменить на Fast и потратить время на сжатие файлов заведомо работающей сборки.


Цитата:
попробую это запомнить


http://www.wasm.ru/article.php?article=1022001
Автор: dandvd
Дата сообщения: 05.11.2012 15:00
Прямая ссылка на
Цитата:
DeskCenter ThinApp Editor - GUI редактор проектов - альтернатива ThinAppHelper 4.0.3.0 (отвязана от NET Framework 2.0)

DeskCenter ThinApp Editor_2.1.1.0
а то там надо регаться, что б скачать эту софтину ((
Автор: AVanti473
Дата сообщения: 05.11.2012 16:58

Цитата:
при желании в третьем окне отметьте пункт Fast


Astra55 да я же не жалусь, время-то было Я почему-то был уверен, что всё получится сразу, но не вышло и бог с ним. По поводу компресси - задача была выставить самую высокую CompressionType=Small и опять таки я в курсе, что это несущественно отличается от CompressionType=Fast но вот что-то дёрнуло попробовать, правда сперва я всё делал на CompressionType=Fast и только когда хоть что-то начало выресовываться испробовал CompressionType=Small - впрочем правду говорят, абсолютно бесполезно! По поводу CompressionType=None я вобщем-то никогда так не делал, но наверное имеет смысл, а не делал так объясню почему:

Дело в том, что ранее я собирал портабл на VMware ThinApp v4_6_1-361923 и вот самое прикольное там было то, что в некоторых проектах, (в частности аимпплеер с моими любимыми плагинами) если сразу из диалоговых окон программы не собрал сборку, то батником увы это дело повторить не удаётся, вылазит какая-то ошибка и приходиться проходить всё заново, сбрасываю виртуальную машину на снимок и всё с самого начала!
Вот наученный этим горьким опытом, я лучше подожду лишние несколько минут, чем буду переделывать всё с нуля, особенно в тяжёлом проекте! Да и сразу будет видно сколько займёт эта ерунда реально при запуске с нужной компрессией
Вот как-то так, простите, но это мой личный опыт, у кого-то может всё иначе, я конечно могу поматерить прожку при сборке, но жаловаться особо не буду, так что как-то так
Автор: coherent
Дата сообщения: 06.11.2012 10:27
AVanti473
Вы бы для начала хоть мануалы почитали! Тогда бы знали, что CompressionType в последних версиях может быть либо None, либо Fast, но никак не Small!?


Цитата:
я лучше подожду лишние несколько минут, чем буду переделывать всё с нуля, особенно в тяжёлом проекте! Да и сразу будет видно сколько займёт эта ерунда реально при запуске с нужной компрессией

Для больших проектов (сотни Мб) эта разница 20-30 минут против десятков секунд
Автор: NickOnToluca
Дата сообщения: 06.11.2012 11:47
AVanti473
Чисто для информации, Аимп сам предлагает портативную установку, без виртуализации.
Автор: AVanti473
Дата сообщения: 07.11.2012 12:09

Цитата:
Чисто для информации, Аимп сам предлагает портативную установку, без виртуализации.


Конечно же я это знаю! Я собирал порташку сам потому, что прикрутил туда очень нужный мне плагин, который вообще ставится в систему отдельно, а именно плагин iZotope Ozone - мою порташку можете качнуть с этого бесплатного файлообменника: http://www.divshare.com/download/19441924-ffa только сразу говорю, работает исключительно на Win 7 x64 или XP x32, на Win 7 x32 работать не будет. Собирал давно, так что, если что, камями не кидайтесь, а ссылку на скачивание даю исключительно в подтверждение того, что делал это. А как по другому прикрутить нужный мне плагин к уже распакованному от Аимпа портаблу я увы не знаю или вернее не пытался... Кстати плеер запускается уже с моими настройками эквалайзера, правда по умолчанию выключенными, я их выщитывал около трёх дней сравнивая сигналя снятые с моих настроек эквалайзера моей звуковой карты. Снять звук то не проблема, а вот настроить как оказалось совершенно неточный эквалайзер аимпа на нужные значения путём сравнения звуковых частот программой-осцилографом - вот это сложно! К чему это я? да к тому, что свои настройки я смело завернул в свой портабл, а если я просто распакую портабл от аимпа - там ничего этого не будет...


Цитата:
Вы бы для начала хоть мануалы почитали! Тогда бы знали, что CompressionType в последних версиях может быть либо None, либо Fast, но никак не Small!?


Качал я как-то VMware ThinApp v4_6_1-361923 (4679) by NickOnToluca архив под названием vmware_thinapp_4.6.1-361923_4679.rar вот в нём, в папке .Help есть фаил Thinstall Manual 1.06 by vyachko.chm - думаю автор этого архива мне не даст соврать в этом...

Там первый же пункт:
1. Вступление и описание основных шагов создания портативных версий программ

И выдержка из него:
- опция CompressionType указывает степень сжатия конечного файла программы, на стадии тестирования выставляйте CompressionType=None (большой размер, но быстро собирается и быстро запускается), при окончательной сборке выставляйте CompressionType=Fast (хороший размер, но долго собирается и относительно быстро запускается), CompressionType=Small ставить не советую (размер немного меньше чем Fast, но очень долго собирается и дольше запускается)

На тот момент - это был возможно единственный доступный для меня мануал...

Так что мануалы я читаю, а все претензии по мануалам плиз к их составителям! Желаете, могу поделиться этим файлом с вами, заберёте тут: http://dump.ru/file/5898291

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





Добавлено:
Прочёл сейчас "FAQ по использованию и проектированию портабельных сборок ThinApp и Spoon v.3.0" - улыбнуло, а именно:

Возможен вариант DirectoryIsolationMode=WriteCopy, все обращения к реальной системе
переадресовываются в песочницу, поэтому придется добавлять в проект папки всех возможных
дисков от C до Z и определять для каждого диска режим изоляции Merged с помощью файлов
##Attributes.ini


А я так уже очень давно сам додумался делать Думал как раз что это моя очередная блажь и я как всегда что-то делаю неправильно, ан нет, оказывается я додумался верно
Автор: freedaw
Дата сообщения: 07.11.2012 20:37
[more] [more] AVanti473
FAQ, безусловно, весьма полезный. Однако, без дополнительных разъяснений непонятно, что за вид изоляции папок - "изоляция отсутствует" - это уже какое-то "изобретение" автора. Все возможные виды изоляции исчерпываются тремя - "Merged", "Writecopy", "Full" - это и в документации указано.
Весьма спорный момент - дать возможность портабельной сборке "гадить" в папку Program Files - зачем тогда портабельность?

AVanti473,кстати, зачем плодить столько папок со всеми буквами дисков. Если уж хотите дать полный доступ программе к любому диску (необходимость этого также весьма спорна), то назначьте для всего проекта изоляцию "Merged", а нужные папки исключите с помощью файлов ##Attributes.ini - их по-любому будет гораздо меньше. Не забывайте, что режим изоляции, заданный файлом ##Attributes.ini, распространяется и на все вложенные папки и имеет приоритет над заданным в файле Package.ini для всего проекта. Другое дело, что в этом случае необходимо на 100% быть уверенным, что все папки, куда пишет программа свои следы, вами найдены и расставлена правильная изоляция в них - это уже дело опыта и внимания. [/more] [/more]
Автор: coherent
Дата сообщения: 07.11.2012 20:46
AVanti473

Цитата:
Thinstall Manual 1.06 by vyachko.chm

Этот мануал писался для версии 3.какой-то. Под рукой нет, но по памяти, там даже на картинках есть версия программы. А с тех пор много чего изменилось. Поэтому мануал нужно изучать для той версии, которая используется.

Цитата:
Качал я как-то VMware ThinApp v4_6_1-361923 (4679) by NickOnToluca архив под названием vmware_thinapp_4.6.1-361923_4679.rar

Не буду спорить, но думаю, что у NickOnToluca в архиве был и pdf оффмануал для версии 4.6.1. Что-то типа thinapp461.pdf.

Цитата:
Прочёл сейчас "FAQ по использованию и проектированию портабельных сборок ThinApp и Spoon v.3.0" - улыбнуло, а именно:   Возможен вариант DirectoryIsolationMode=WriteCopy, все обращения к реальной системе переадресовываются в песочницу, поэтому придется добавлять в проект папки всех возможных дисков от C до Z и определять для каждого диска режим изоляции Merged с помощью файлов ##Attributes.ini

Вы наверное не очень внимательно прочитали FAQ. Ключевое слово здесь придется...
Без обид! В чем суть Ваших постов-простыней? Вопросы по существу, как таковые, отсутствуют. Каких-то готовых решений тоже не предлагаете. Просто пофилософствовать?
Автор: AVanti473
Дата сообщения: 07.11.2012 20:52

Цитата:
AVanti473,кстати, зачем плодить столько папок со всеми буквами дисков. Если уж хотите дать полный доступ программе к любому диску (необходимость этого также весьма спорна), то назначьте для всего проекта изоляцию "Merged", а нужные папки исключите с помощью файлов ##Attributes.ini - их по-любому будет гораздо меньше.


Значится в программе Дримвьюер я столкнулся с тем, что если не прописать все возможные диски ( а их как понимаете не может быть больше чем от A до Z) - то программа при сохранении файла просто создаёт копию древа каталогов в виртуальном окружении и пишет туда сохраняемый фаил, который потом нужно ещё уметь найти в папке с портабельной программой! Тоесть я то думаю что сохранил фаил, причём вижу его через программу и даже могу открыть, но когда иду за ним по адресу сохранения - там пусто (фаил сохранился в виртуале "песочнице"). Поэтому лучше (сколько их там латинских 20 с небольшим букв) создать один раз эти все папки с файлом атрибутини в котором параметр мергед и просто скопировать их в готовый для сборки портабл - мне это совсем не сложно, я же каждый раз не создаю эти папки - просто копирую. Кроме диска С конечно, с ним отдельная работа. А насчёт правки атрибут.ини - я дико извиняюсь, последний раз в программной папке фотошопа их было аж 900 с лишним файлов - оно мне надо столько ручками править? Конечно я нашёл выход и для этого - прога "Replace Text in Many Files v1.3" но вариант так сказать на крайний случай или в качестве исключения
Автор: Astra55
Дата сообщения: 07.11.2012 21:14
freedaw

Цитата:
Однако, без дополнительных разъяснений непонятно, что за вид изоляции папок - "изоляция отсутствует" - это уже какое-то "изобретение" автора. Все возможные виды изоляции исчерпываются тремя - "Merged", "Writecopy", "Full" - это и в документации указано.

Это не мое изобретение, а непреложный факт - при отсутствии явно указанной изоляции, она будет отсутствовать, и все изменения окажутся в реальной системе.

Цитата:
Весьма спорный момент - дать возможность портабельной сборке "гадить" в папку Program Files - зачем тогда портабельность?

Момент совершенно бесспорный - отсутствие изоляции корневой папки Program Files отнюдь не означает отсутствие изоляции вложенных папок портабелизируемой программы, а она там будет, и не хуже WriteCopy, а для основных папок - Full, поэтому ничего страшного не произойдет. Но если оставить изоляцию Program Files, то при попытке сохранить файл в любой вложенной папке, он окажется в песочнице.
Автор: freedaw
Дата сообщения: 07.11.2012 22:03
[more] Astra55

Цитата:
при отсутствии явно указанной изоляции, она будет отсутствовать, и все изменения окажутся в реальной системе.


Если отсутствует файл ##Attributes.ini, то изоляция берётся из параметра DirectoryIsolationMode в файле Package.ini. Если и его не будет, то по умолчанию применяется режим изоляции "WriteСopy" - можете проверить сами.

AVanti473

Цитата:
А насчёт правки атрибут.ини - я дико извиняюсь, последний раз в программной папке фотошопа их было аж 900 с лишним файлов - оно мне надо столько ручками править?


И что, все эти папки были с неправильной изоляцией? Сомневаюсь. Также, имейте в виду, что ThinApp при создании проекта "перестраховывается" и создаёт файлы ##Attributes.ini во всех дочерних папках программы , хотя реальной необходимости в этом нет (именно эта "фича" и создаёт сложности при смене режима изоляции) - достаточно иметь нужный ##Attributes.ini в родительской папке и во всех вложенных будет такая же изоляция. [/more]
Автор: Astra55
Дата сообщения: 08.11.2012 05:33
freedaw
Мы говорим о разных вещах, я об отсутствии корневых папок в проекте, а следовательно, отсутствии файлов ##Attributes.ini. Вдобавок, дефолтное значение DirectoryIsolationMode=Merged со всеми вытекающими последствиями. И не путайте файлы, находящиеся в контейнере с вновь создаваемыми или изменяемыми файлами.
Автор: AVanti473
Дата сообщения: 08.11.2012 08:25
freedaw похоже на сей раз и я не совсем понимаю суть беседы. Вы предложили вместо создания папок с изоляцией мергед для всех возможных на компе дисков, просто указать изоляцию мергед при составлении сборки на одном из этапов сразу после постскана, и потом установить вручную нужным папкам через атрибут_ини параметр мергед. А я парировал что таких файлов атрибут_ини в проекте может быть очень много! Потом вы размышляете на тему, мол разве программа ошибается выставляя в атрибут ини для всех папок значения... Нет конечно - программа не ошибётся! если я укажу проекту мергед - программа везде и влепит атрибут_ини с этим параметром, а дальше? Менять вручную? А если я ставлю врайткопи изначально, при сборке проекта, то не запихнув в проект все возможные на компе диски с параметром мергед, я рискую лишится возможности сохранять файлы на реальные диски своего компа в созданном портабле (опять же это исходя не из теории, а из личного опыта)...

Не знаю получилось у меня объяснить суть или нет, но вобщем как-то так!

Другой вопрос, что когда я это сам для себя придумал (тогда ещё ничего похожего нигде об этом написано не было), я решил, что в программе для этого наверняка есть другие пути решения вопроса, просто я их не знаю и поэтому буду делать по своему, а оказалось так придумал делать не только я. Причём я ни в коем случае не утверждаю что придумал это первым, ведь я понятия не имею сколько людей занимающихся портированием прог, могли ещё задолго до того, как я сам этим стал заниматься, придумать то же самое...
Зато кривого портабла, в котором не учтено сохранение в реальную среду я насмотрелся достаточно! Прога VMware ThinApp по сути не самая сложная в мире и "умельцы" порой творят что хотят даже не задумываясь о конечном пользователе! Этих "Adobe Dreamweaver CS5" понаделали - один нафиг краше другого... Хотелось матюкаться на чём свет стоит... одну запускаю, она мне в систему лепит ассоциации файлов, другая тупо сохраняет всё в писочнице, третья не видит ни одного браузера на компе - ЖУТЬ. Вот и пришлось себе делать - тоже хрень вышла конечно, но хотябы всё что мне надо делает... В принципе для себя же делал, так что особо не парился... Можете попробовать её отсюда:
http://www.divshare.com/download/19445055-908 - 1-ая часть архива
http://www.divshare.com/download/19445090-fbe - 2-я часть архива
Опять же на Win 7 x32 не идёт, только x64 Не обессудьте что вышло то вышло...

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

Знаете, пожалуй задам вопросик и я.
Вот проект с врайткопи - папка винды - изоляция ессесно врайткопи, вложенные папки с изоляцией фулл. Есть пара папок с изоляцией мергед - та же spool кажись и это всё бы ничего, но например папки Microsoft.net.Framework (я уже не помню, может просто net.Framework) - вобщем они без файлов атрибут_ини... Теоретически на них должен распространятся режим изоляции врайткопи?
Но я не понимаю, если прога перестраховываясь даёт атрибут_ини почти всем папкам, почему же эти папки идут без атрибута. Также все папки юзера с названием Microsoft в АПП_ДАТА тоже без каких-либо атрибутов...
Это же не логично???????????
Почему это так? В каких случаях это должно быть применимо?

Ещё вот вопросик - не понимаю назначения изоляции фулл? тоесть я понимаю что эта "закрывашка" как для записи в реальную систему, так и считывания из реальной системы с реальных папок под таким названием, но почему по дефолту в проекте с изоляцией врайткопи все подпапки в коренных имеют изоляцию фулл? Раз порташка и так уже ограничена, не удобнее ли все атрибут_ини снабдить параметрами врайткопи, а там где нужно запретить считывание с реальной системы поставить фулл?
Теоретически такая перестраховка верна только в случае если в системе, например в программ фаилс, уже есть инсталлированная такая же программа или есть пакет от производителя софта с общими ДЛЛками и чтобы файлы не путались целесообразнее выставить фулл. Но опять же угадал я или есть другая причина?
Автор: freedaw
Дата сообщения: 08.11.2012 10:59
[more] AVanti473
Если вы читали родной мануал к Thinstall, то там чётко написаны простые правила, по которым программа создаёт изоляции при создании проекта. Если нет, то вот оригинал и перевод:


Цитата:
Thinstall has 3 different isolation modes, which are automatically determined by SetupCapture. SetupCapture has a few simple rules for determining what isolation mode to apply to a registry subtree or directory during capture.

- If the application created a new directory or registry subtree during its installation (on a clean PC), the isolation mode is set to Full Isolation
- User-specific storage areas like the Desktop and My Documents are set to Merged Isolation so the application has direct write access to these locations
- All other directories and subkeys will default to WriteCopy Isolation
Note: Network shares are not affected by isolation modes; read and write operations to network shares occur unchanged by Thinstall.


Цитата:
В Thinstall есть три режима изоляции, которые автоматически устанавливаются программой SetupCapture. Она использует несколько простых правил при назначении изоляции для веток реестра и папок.

- если приложение создало новую папку или ключ реестра при инсталляции (на чистом ПК), то устанавливается изоляция "Full";
- изоляция папок текущего пользователя "Рабочий стол" и "Мои документы" устанавливается в "Merged", т.о. программа может непосредственно записывать в эти папки;
- У всех остальных папок и ключей по умолчанию будет изоляция "WriteCopy".
Примечание: режимы изоляции не влияют на работу с расшаренными сетевыми ресурсами, запись и чтение из них не меняются программой Thinstall.

Добавлю, что на съёмные носители запись также не ограничивается в любом случае - про это говорится в другом месте мануала.
Ещё иногда, в некоторых проектах изоляция "Merged" задаётся для папки spool, но особого резона в этом не видно.

Более глубоко вникать в логику портируемой программы Thinstall не может и если для корректной работы программы нужно что-то менять в изоляциях, то это уже ваша "головная боль".

Есть в этом логика или нет решайте для себя сами, а разработчики говорят о следующей логике: это только дефолтные установки и рассчитаны на запуск портабельной сборки на полностью "заадминистрированном" ПК, где юзер может в принципе сохранять только в папки "Рабочий стол" и "Мои документы". По-моему логика вполне очевидна - в таком виде программа точно нигде не "нагадит", кроме папок специально для этого отведённых. Если вы планируете использовать её в более мягких условиях, пожалуйста, меняйте изоляцию как сочтёте нужным - никто и не говорит, что этот дефолт полностью подойдёт под любые случаи (на всё сразу не угодишь). Про наследование режима изоляции дочерними папками я уже писал выше. Но есть нюанс, который надо помнить при ручной смене изоляции - если в цепочке вложенных папок попадётся такая, для которой есть макрос Thinstall(ну например %AppData%), то эта цепочка прервётся и, начиная с этой папки, будет изоляция, заданная в параметре DirectoryIsolationMode файла Package.ini.
Просто нужно понимать логику работы самого Thinstall и чётко себе представлять, какой режим работы вы хотите получить в итоге. [/more]
Автор: gvozdik
Дата сообщения: 08.11.2012 11:18
freedaw

Цитата:
если в цепочке вложенных папок попадётся такая, для которой есть макрос Thinstall(ну например %AppData%), то эта цепочка прервётся и, начиная с этой папки, будет изоляция, заданная в параметре DirectoryIsolationMode файла Package.ini.

Можно поразвёрнутей этот нюанс.
Автор: freedaw
Дата сообщения: 08.11.2012 12:33
[more] Astra55
Я прекрасно понимаю о чём вы говорите, благо не вчера начал этим заниматься. Человек, хорошо разбирающийся в вопросе вовсе не обязан быть "старожилом" Руборда с высоким статусом. Я достаточно давно занимаюсь портированием для своих целей и соответствующие темы на Руборде тоже мониторил постоянно, просто не было необходимости встревать, т.к. образование позволяет самому находить нужные ответы на "глупые" вопросы (уж Вы то должны "оценить" это качество).
И я очень понимаю Ваш возмущённый тон, когда они вновь и вновь звучат на форуме. Именно поэтому и хотел помочь, указав на небольшое упущение в вашем FAQ касательно режимов изоляции. Мне то всё понятно, но новичка для которого этот FAQ предназначен, скорее запутает.
Сами разработчики говорят, что правильное понимание режимов изоляции проекта это основное в работе с Thinstall. Поэтому, на мой взгляд, было бы правильнее чётко описать сначала что и ПОЧЕМУ получается по дефолту с изоляциями, а уж потом предложить свой вариант и, опять же, чётко объяснить ПОЧЕМУ и чем это чревато. Это не заняло бы много места, зато "глупых" вопросов потом было бы меньше. Вроде бы и написано у Вас про это, но, поставив себя на место новичка, несколько раз попробовал прочитать, отрешившись от многих своих познаний, и получается некий сумбур. Это моё ИМХО.
Вы, конечно, можете возразить - что для этого есть оригинальный хелп. Но, как бы нам того не хотелось, многие не утруждают себя его чтением, полагая что всё нужное найдут у Вас. Ваш FAQ - это огромный и очень нужный труд (за что вам отдельная благодарность), но почему бы не сделать его ещё лучше. Если у вас нет желания, то я могу написать пару абзацев про это на ваш суд - захотите, добавите. Это вовсе не критика, а доброе пожелание, поверьте - "корона" с Вас от этого не упадёт. [/more]
Автор: Astra55
Дата сообщения: 08.11.2012 13:05
freedaw
Короны нет, поэтому падать нечему Разумеется, если напишете, будет очень хорошо, но я не намерен больше обновлять FAQ, поэтому Вы можете сделать дополнение от себя, в виде отдельного файла. Лично я обеими руками "за".
Автор: freedaw
Дата сообщения: 08.11.2012 13:48
[more] gvozdik
Суть в следующем.
Например, имеется проект где присутствуют папки %AppData%, %Local AppData%, %Desktop%, %Personal% с назначенными изоляциями (не важно какими) и изоляция для всего проекта в файле Package.ini допустим "WriteCopy",которая имеет, естественно, более низкий приоритет, чем явно указанная в файлах ##Attributes.ini этих папок, и поэтому на них не действует. Допустим (чисто гипотетически, неважно сейчас зачем, например, чтоб не "нагадила" в реальную систему), вы хотите скрыть от портабельной сборки содержимое папки C:\Documents and Settings\username, поместив соответствующий ей макрос %Profile% с файлом ##Attributes.ini,где прописана изоляция "Full", в папку проекта. Т.к. все вышеперечисленные папки являются дочерними для папки %Profile%, то удаляем их из проекта. Компилируем билд, запускаем его, идём из него в какое-нибудь окно проводника и пробуем добраться до папки C:\Documents and Settings\username. Что мы видим - папка видна, но внутри её пусто (всё правильно - изоляция то на ней "Full"). Зато если выбрать сразу папку "Мои документы" или "Рабочий стол", то их содержимое (и всех вложенных в них далее) всё прекрасно отображается, но сохранить в реальные папки не получится, т.к. изоляция у них будет "WriteCopy", а не "Full", как в родительской и взята из файла Package.ini. А все дочерние папки в папке C:\Documents and Settings\username, для которых в Thinstal не предусмотрено отдельного макроса унаследуют изоляцию родительской, т.е. "Full", и их содержимое также не будет видно программе. И так далее, пока в цепочке вложенных папок не попадётся папка, для которой в Thinstal предусмотрен отдельный макрос.
Поэкспериментируйте на каком-нибудь простом проекте и сами в этом убедитесь.
Конечно, в сложном проекте можно и нужно бывает всё выставить ручками индивидуально с помощью ##Attributes.ini, который имеет высший приоритет (но только до следующего попавшегося макроса), а если захотите воспользоваться встроенной возможностью наследования изоляции подпапками, то нужно помнить о такой особенности - про это как-то нигде явно не говорится, поэтому и решил упомянуть.
Это всё из собственного опыта, может у кого есть другие данные или уточнения, исключения, буду рад услышать.

Astra55
Подумаю над вашим предложением, хотя, думаю, было бы уместнее всё в одном документе, ну да ладно - дальше будет видно. [/more]
Автор: AVanti473
Дата сообщения: 09.11.2012 16:46
Хм freedaw, я думаю вам есть просто смысл, как вы сами правильно заметили, дополнить FAQ, но разумеется не отдельным файлом, а просто переработать всё что уже создано со своими добавлениями и если автору основного содержимого понравится ваша работа, я думаю он возможно даст добро на дополненный вариант...
А Вы очень здорово всё объяснили! Кое что взял себе на ум. Спасибо!
Автор: freedaw
Дата сообщения: 10.11.2012 10:10
AVanti473
Да я вот уже размышляю над этим вопросом. Существующий FAQ освещает очень широкий круг вопросов и в нём уже есть своя внутренняя логика - не хотелось бы её нарушать. Можно попробовать всё же отдельным документом, ну конечно, уже не в паре абзацев, описать всё, что касается изоляций, только с наглядными примерами и более подробным объяснением. Если будет желание, всегда потом можно это включить в основной FAQ.
Не думайте, что я раскрою ещё какие-то "великие тайны" - всё на самом деле достаточно просто и очевидно, и для большинства более менее опытных товарищей не будет новостью.
Основная возможная "целевая" аудитория - это новички в данном вопросе.
Автор: AVanti473
Дата сообщения: 10.11.2012 22:02

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


Скажу коротко - лично мне будет очень интересна ваша работа! Причём слово "очень" - это ещё мало сказано! Надеюсь Вы найдёте на всё это время и не остынете к созданию дополнения в существующий FAQ! Жду Вашего релиза и сопутствующей удачи Вам в работе!
Автор: Alex22T
Дата сообщения: 12.11.2012 00:49

Цитата:
лично мне будет очень интересна ваша работа!

freedaw
И мне будет очень интересно! И еще многим "юным портабелизаторам".
Особенно, подробное описание режимов изоляции.
Автор: Dn5
Дата сообщения: 13.11.2012 08:46

Цитата:
А можно ли как-нибудь изменить пути в песочнице?

К примеру сейчас:
песочница\%Local AppData%\OLOLO\Config.cfg
песочница\%Common AppData%\AXAXA\Settings.ini
песочница\%SystemSystem%\sux.bak
песочница\%Personal%\temp.tmp

А хотелось бы:
песочница\Config.cfg
песочница\Settings.ini
песочница\TEMP\sux.bak
песочница\TEMP\temp.tmp

Или даже чтобы Config.cfg лежал рядом с екзешником.

Повторюсь, может кто откликнется.
Автор: freedaw
Дата сообщения: 13.11.2012 17:45
Dn5
Непонятно, чем вас не устраивает существующее расположение, но то, что хотите вы сделать невозможно. Все файлы, находящиеся в песочнице, обязательно попадают в соответствующую им папку виртуальной файловой системы и путь к ней начинается с ближайшего макроса в цепочке родительских папок - это логика работы контейнера и механизма для её изменения нет.
Тех же Settings.ini может быть и несколько в разных подпапках и предназначеных для разных частей одной программы - и как, по-вашему, можно хранить их в одной куче?
Автор: AVanti473
Дата сообщения: 13.11.2012 23:28

Цитата:
А можно ли как-нибудь изменить пути в песочнице?


Забавно, но возможно и можно Правда я основываюсь только на догадках и моё мнение Вам будет наверняка бесполезным... Просто если перебрать инсталлятор (естественно знаний нужно море) и перекомпилировать исходный код программы, то файлы при установке встанут туда, где они Вам будут нужны и песочница их примет в новые места Второй вариант, при инсталляции программы до начала сборки программы, перенести файлы куда пожелается вручную, правда программа забудет о их существовании...

Хотя опять же цель настолько специфична:


Цитата:
А хотелось бы:
песочница\Config.cfg
песочница\Settings.ini
песочница\TEMP\sux.bak
песочница\TEMP\temp.tmp

Или даже чтобы Config.cfg лежал рядом с екзешником.


Что мне, простите за любопытство, интересна суть таких действий? Ну предположим лежал себе sux.bak в своей папке и программа знает что он там, а теперь этот sux.bak лежит рядом с екзешником или ещё как надо. Ну допустим программа узнала его новый адрес и зачем? Чем не устраивало местонахождение этого файла в изначальном местоположении?

Судя по расширениям, возможно вы желаете вынести эти файлы, чтобы удобнее было удалять их всех разом не лазая по папкам? А чем тогда не подходит банальное удаление всей песочницы?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149

Предыдущая тема: Проблемы с закачкой


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.