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

» VMware ThinApp (formerly Thinstall) часть 4

Автор: conservator
Дата сообщения: 25.04.2016 13:44

Цитата:
там речь идёт о х32-версии шопа, на которые он давно забил.
Никакой разницы в начинке (+ -) и установке его сборок х86 и х64 версий нет и устанавливается сборка в несколько папок (ProgramData, AppData, Common Files + выбор пользователя для основной программной папки) - это портативка ?
Автор: Proshaa
Дата сообщения: 25.04.2016 14:08
conservator
вот делать мне больше нечего, как снова убеждать Фому неверующего. почитайте тему, а не выхватывайте удобные вам куски.
http://forum.ru-board.com/topic.cgi?forum=2&topic=4073&start=1140#12
Автор: AVanti 473
Дата сообщения: 25.04.2016 14:25
Proshaa

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


Не профи в этом, но, а нафига, если не работа в типографии? Конкретно профили камер зачем? Помнится я уже имел как-то с ними дело, пытаясь когда-то давно собрать CS6 и там только профилей камер на 250 Мб было, если я не ошибаюсь. Как я тогда не пытался узнать на кой ляд они там, так и не узнал. Мне объяснили тогда, что-то вроде - для правильного отображения фотографий с различных фотокамер. Наверное примитивно, наверное ошибочно, но, не помню ни единого случая где это всё могло бы понадобиться. Можно примерчик, где используются профили камер?


Цитата:
инет резать обязательно: значительно ускоряется начальная загрузка.

Ну, с этим разберусь, уже есть одна мысль по не совсем стандартному решению. Благодарю.


Цитата:
облачные сервисы без действующей подписки (платной) мертвы = выбрасывать однозначно

Знать бы ещё что в программе отвечает за эти самые сервисы...


Цитата:
для работы СС в ХР им же написан патч (ориентированный именно на шоп)

А это ОЧЕНЬ интересно! Можно ссылочку где его искать или вообще, по обозначенной теме?

conservator

Цитата:
что после удаления регистрационного пакета ничего не работает (какое именно появляется окошко вместо запуска - не помню), попробуйте, может у Вас лучше получится


Скорее Вы правы, пусть будет как есть, сомневаюсь что придумаю что-то новое. Искренне благодарю Вас за полезные ответы и советы!
Автор: conservator
Дата сообщения: 25.04.2016 15:07
Proshaa
Мне неинтересны представления JFK2005 о портативности, если программа распаковывается в кучу папок и пишет в реестр - она не портативна, как бы не утверждал обратное сборщик или разработчик. По моему, такого же принципа придерживаются все обитатели этого топика, хотя, как говориться, в семье не без ...
Автор: AVanti 473
Дата сообщения: 25.04.2016 15:34
AVanti 473

Цитата:
Ну, с этим разберусь, уже есть одна мысль по не совсем стандартному решению.


Вот такая вот идея, и, оказалась рабочей!

https://yadi.sk/d/D4kOzKD1rGgpp

(обновлено и дополнено здесь: http://forum.ru-board.com/topic.cgi?forum=5&topic=47718&start=80#5)

Уже проверил на сборке портабельного браузера на разных системах... (Простая инструкция внутри архива)

P.S. Жаль обратно включить инет можно только сносом песочницы... Над этим ещё надо подумать...
Автор: Proshaa
Дата сообщения: 25.04.2016 15:35
AVanti 473
профили камер и цветовые профили - это две большие разницы ))
общее между ними только то, что нужны они для правильной цветопередачи. но в разных "местах"
профили камер - для работы с RAW-файлами, создаваемыми цифровыми фотоаппаратами.
профили Coated - для печати, в том числе и "бытовой".
конкретный примерчик: у вас есть цифровой фотик. если вы захотите обработать снимок в шопе - он прочитает параметры камеры из файла и автоматом подставит нужный профиль для правильной цветопередачи.
"облачные" приблуды лежат в папке СЕР. инет режется стандартно для ThinnApp - зачем велосипеды изобретать?
регистрацию можно удалять после применения уже упоминавшегося emu.
всё по теме - в этой теме
http://forum.ru-board.com/topic.cgi?forum=35&topic=52322&start=4520#21
рекомендую почитать и предыдущие страницы, где-то с середины осени - первого релиза emu. и последующие - там обсуждалось что ещё можно безболезненно удалить. замечу, что для разных релизов список отличается.

посмотрите сборочку. там "голый" шоп - без всего, в том числе - без камер, регистрации, облачных прибамбасов, видеоредактора... и всё, что может понадобиться - в плагинах
https://cloud.mail.ru/public/7Fv2/2bDYpWBp1

вот что не удалось пока победить никому из сборщиков - "заморозку" меню. вдруг у вас выйдет.
причина известна и понятна, а вот как обойти - решения нет.
Автор: conservator
Дата сообщения: 25.04.2016 15:37
AVanti 473
Photoshop v13.1.2 на Windows XP и развёрнутый вариант.
Автор: AVanti 473
Дата сообщения: 25.04.2016 15:39
Proshaa


Цитата:
инет режется стандартно для ThinnApp - зачем велосипеды изобретать?

Так надо Выше, в архиве всё есть...

А вообще, большое СПАСИБО! Буду читать и изучать!

Добавлено:
conservator

Аналогично - благодарю!

Спасибо, друзья!!!

Добавлено:

Цитата:
Выше, в архиве всё есть...


Соури, перезалил. Ошибочка была в описании, в пути до файла иконки...
Автор: Proshaa
Дата сообщения: 25.04.2016 15:54

Цитата:
Выше, в архиве всё есть.

там нету главного - описания "идеи" и что делается. а без описания ценность нулевая. тем более, что
Цитата:
Жаль обратно включить инет можно только сносом песочницы...

тоже как бы не радует, особенно при наличии универсального 100% рабочего решения.
Автор: AVanti 473
Дата сообщения: 25.04.2016 15:58
Proshaa


Цитата:
там нету главного - описания "идеи" и что делается. а без описания ценность нулевая

Разве? Идея давно всем известна, а вот разрешить юзеру самому вырубить инет для сборки - так юзеру никаких идей не нужно, это только для сборщиков знания требуются. )))


Цитата:
тоже как бы не радует, особенно при наличии универсального 100% рабочего решения

Отчего-же не радует? Решение, при желании, можно попробовать найти. Просто, нужно понять, как скопировать нужные данные реестра внутрь портабельного контейнера. )))

Если вообще всё получиться, то пользователь сам будет решать, надо ему отключать сборку от сети, или не надо! ))) Пока, до сей поры, это решение за пользователя принимал сборщик...
Автор: Proshaa
Дата сообщения: 25.04.2016 16:52
conservator

Цитата:
По моему, такого же принципа придерживаются все обитатели этого топика

говорите за себя. это ваше личное мнение.
мне, например, в общем-то не важно пишет ли программа что-то в реестр или нет, при условии, что это "что-то" не создаёт конфликтов ни с третьим софтом ни с установленным аналогичным. разумеется, я не стану специально "открывать" реестр для программы, но и ловля блох типа списков mru или ярлыков в Prefeth - имхо, для параноиков. это моё личное мнение, и оно не хуже и не лучше вашего. просто оно другое.
различие в мнениях не даёт вам права оскорблять кого бы то ни было

AVanti 473

Цитата:
Разве? Идея давно всем известна,

может и известна, однако вы не сообщили - какую именно из идей реализовали )))
ковырять же экзешник для выяснения - нет ни малейшего желания.

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

а что там, собственно, решать? если программа должна работать только с локальными файлами - ей нечего делать в инете. и незачем "грузить" юзера лишними вопросами. времена, когда за компьютером работали только те, кто хоть что-то понимали именно в компьютере - давно в прошлом. настало время потребителей. для них - это "чёрный ящик с кнопками". и знают они в лучшем случае одну программу, в которой работают. как они могут принять решение о том, чего не знают?
[more=.]буквально на днях переустанавливал товарищу винду. он мне заявляет: я заходил в одноклассники с Хрома, а в контакт - с Яндекса. сделай мне так же. попытки объяснить, что это одно и то же - бесполезны... далее я посмотрел как он входит. точно, как в старом анекдоте про бухгалтера: открывает браузер, идёт в гугль, там набирает в поиске "одноклассники" и уже оттуда входит. но комментс. и после этого вы всё ещё хотите дать юзерам возможность выбирать???[/more]
Автор: AVanti 473
Дата сообщения: 25.04.2016 17:59
Proshaa

Цитата:
может и известна, однако вы не сообщили - какую именно из идей реализовали )))


Идея стандартная - внесение в виртуальный реестр ветки:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip

Только, в моём скрипте она реализована немного своеобразно. Сначала, идёт удаление этой ветки. В основном из-за того, что планируется придумать принцип включения сети, а значит выключалка, должна уметь удалять эту ветку перед тем, как создаст такую-же, но пустую. Затем идёт запись этой пустой ветки в виртуальный реестр. Вот и всё.
Можно было бы просто обойтись удалением этой ветки, и в виртуальном реестре она сразу бы была помечена как удалённая. Но, раз уж есть традиция вписывать её пустое значение - лишний ключик не беда, и 100% гарантия срабатывания... )))

Да, скрипт профильный - только для сборщиков! И не дай бог стартануть его в живой системе. ))) Даже боюсь предположить, что придётся потом исправлять и как, когда он снесёт напрочь вышеуказанноую ветку... )))

Поместив такой скрипт в проект сборки и выставив на него в Package.ini точку входа, сборщик, даёт возможность пользователю самому решать, будет разрешён портабельной программе интернет, или нет.
Зачем это нужно? Затем, чтобы как можно меньше встречалась в описаниях фраза типа: "на всякий случай отрубил сборке выход в инет"... Всякий случай, на мой взгляд, это у пользователя, но, по возможности, не у сборщика.

P.S. Спор о том, нужно это или нет, сродни размышлений почему ВЫКлючатель называется выключателем, а не ВКлючателем...

--------------------

Добавлено:

Цитата:
Сначала, идёт удаление этой ветки. В основном из-за того, что планируется придумать принцип включения сети


Только сейчас вспомнил решение от Astra55


Код: isolation_full HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
  Value=ImagePath
  REG_EXPAND_SZ~system32\DRIVERS\tcpip.sy_#2300
Автор: Proshaa
Дата сообщения: 25.04.2016 19:47
AVanti 473
по-моему вы перемудрили ))

Цитата:
Сначала, идёт удаление этой ветки.

этого должно быть достаточно для включения инета в сборке


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

нет ничего проще ))

Код: netsh winsock reset
Автор: AVanti 473
Дата сообщения: 25.04.2016 20:17
AVanti 473

Цитата:
REG_EXPAND_SZ~system32\DRIVERS\tcpip.sy_#2300


Пожалуй, поправлю сам себя. Когда этот ключик в сборке, видимо, самой сборке на него пофиг, она смотрит на наличие ветки. Если на ветке изоляция Full, то, акромя этого параметра в этой ветке сборка ничего и не видит, а следовательно, инет рубится. Если же параметр будет вноситься скриптом, он получит изоляцию writcopy и сборка увидит всю ветку в системе, где совершенно пофиг какой там путь в параметре, главное, чтобы остальные значения были видны, а следовательно, инет не отрубится.

Жаль. Было бы всё так просто, так на живых компах бы в два счёта вырубали весь инет, а потом, бескровно его включали... )))

Ну и ладно. Значит, бум думать, как скопировать всю ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip из живой системы в виртуал, для включения отрубленного инета. Значится первый скрипт (что в архиве выше) остаётся пока действительным!

Proshaa

Цитата:
этого должно быть достаточно для включения инета в сборке

И да и НО. Я сам об этом писал. Конечно достаточно - при обычных условиях, так как виртуальный контейнер считает удаляемую ветку из системы и пометит её как несуществующую. С другой стороны, всегда что-то может пойти не так, или быть неучтено. Одним движением больше, одним меньше, до этого, по большому счёту, никому нет дела - главное, чтоб работало...


Цитата:
netsh winsock reset должен полностью восстановить функционал. если не полностью - то там же, в netsh, есть ещё несколько команд сбрасывающих все или конкретный адаптер на дефолт.


Угу. Понять бы ещё как это реализовать в скрипте, и будет ли такой подход работоспособным в виртуальном контейнере... Там что будет, запуск службы? А как согласовывать с настройками в Package.ini и куда лягут процессы - в реальную, или виртуальную среды? Проще, наверное, придумать, как в виртуал внедрить данные из живого реестра. А может и не проще...
Скорее, возможно, хорошо бы, чтобы перед срабатыванием оба скрипта делали бекап всей ветки куда-нибудь в виртуал (рядом с собой). Опять таки, этот самый бекап... Я не понимаю как его сделать в vTask. Стандартными средствами там можно работать с определёнными параметрами, но не с группой параметров. Возможно, как-то нестандартно, типа, командной строкой, можно провести экспорт определённой ветки реестра... Типа этого?!?!
Автор: Proshaa
Дата сообщения: 25.04.2016 22:11
AVanti 473
давайте мухи отдельно, котлеты отдельно ))
netsh - это про
Цитата:
не дай бог стартануть его в живой системе. ))) Даже боюсь предположить, что придётся потом исправлять и как, когда он снесёт напрочь вышеуказанноую ветку

т.е. не про сборку.

в сборке же достаточно удаления/возвращения на место HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip - (изначально она должна там присутствовать) или одного из важных параметров из этой ветки, хоть и того же ImagePath. только во втором случае изоляция ветки должна быть WriteCopy.
и никаких извращений с командной строкой и копированием реального реестра (хотя, это в общем-то несложно)
Автор: SunOK_ZM
Дата сообщения: 25.04.2016 22:18
AVanti 473, тогда если не лень, попробуйте сохранение реальным процессом в командной строке из живой ОС в файл (REG SAVE/REG EXPORT), а потом в виртуале загружать кусты (наверно с помощью точек входа, REG RESTORE/REG IMPORT).
Кстати, помните для регистрации какой-то софтины ключи в реестре невозможно было по-людски собрать в билд - может из .hiv файла нормально импортировалось бы...
Автор: AVanti 473
Дата сообщения: 25.04.2016 22:33
SunOK_ZM

Цитата:
тогда если не лень, попробуйте сохранение реальным процессом в командной строке из живой ОС в файл (REG SAVE/REG EXPORT)


Мне кажется, что и из виртуала всё должно сохраниться скриптом в файл бекапа (ведь сборка видит эту часть реестра, если к ней намеренно не применили изоляцию Full), а затем восстанавливаться оттуда в виртуальную среду сборки. И, командная строка кстати, но тут одно но. Скрипт запустит командную строку, и из-за особенностей настроек какой-то сборки, ком. строка может вывалиться в реал. Есть ещё путь через WinAPI, но это отдельная тема. С другой стороны, Proshaa утверждает, что достаточно изменить один ключевой параметр в ветке Tcpip, а я сомневаюсь в работоспособности такого подхода. Впрочем, это надо пробовать и безусловно, это моя задача. Как опробую, отпишусь отдельно...

В любом случае всё это, на мой взгляд, не зря. В конце концов, я убеждён, что конечный пользователь сам в праве получить возможность отключения сборки от интернета, если это необходимо, либо, расширит возможности портабельной программы. Половина пути уже сделана и результат (какой-никакой) но имеется. Во всяком случае, выключение инета уже можно дать пользователю в качестве простейшего функционала, а включение пока удалением песочницы. Не "айс", конечно, но, хоть что-то. А всё остальное, надеюсь, решим со временем... Главное - не торопиться!

--------------------

Добавлено:
Proshaa

Цитата:
или одного из важных параметров из этой ветки, хоть и того же ImagePath. только во втором случае изоляция ветки должна быть WriteCopy

AVanti 473

Цитата:
что достаточно изменить один ключевой параметр в ветке Tcpip, а я сомневаюсь в работоспособности такого подхода. Впрочем, это надо пробовать и безусловно, это моя задача. Как опробую, отпишусь отдельно...


Ну, вот и попробовал. Сборке пофиг, если в ней срабатывает скрипт меняющий параметр ImagePath. И, попадает этот параметр туда именно с изоляцией WriteCopy, так как только с этим параметром попадают ключи в вирт реестр по дефолту, при работе портабельной программы. Как я и писал, это был ложный путь, но я на него уже и не рассчитывал... Сосредоточусь на других решениях...
Автор: coherent r1
Дата сообщения: 25.04.2016 23:28
AVanti 473
Для отключения инета достаточно записи
isolation_full HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
без чего либо еще. Я лично использую плагин с одним файлом cmd.exe и вышеприведенной записью в реестре. Нужно сборке отрубить доступ в интернет - добавляю плагин, не нужно - не добавляю. Если бы я захотел выпендриться, то я бы диалоговым скриптом (Да Нет), при необходимости (желании) отключения доступа сборке в интернет, закидывал плагин, например, tcpip.dat, в папку Plugins, а по завершении работы удалял.
Автор: AVanti 473
Дата сообщения: 25.04.2016 23:33
coherent r1, я прошу прощения, но, Вы точно ОТСЮДА читали? Понимаю, решение с плагином вполне себе интересное, а как быть если версия ThinApp на которой собран плагин и на которой собранна программа, разные? Пересобирать плаг для каждой версии?
В любом случае, благодарю Вас за интересный вариант решения!

Добавлено:
-------------------

Ладно, всё путём, решение почти готово. Буду использовать в скрипте WinAPI формата:

WinExec('regedit /e C:\RegData.reg "HKEY_LOCAL_MACHINE\Software"', SW_SHOW);

vTask отлично отрабатывает в этом виде. Значит ещё одной проблемой меньше!
Автор: conservator
Дата сообщения: 26.04.2016 08:04
AVanti 473
Цитата:
а как быть если версия ThinApp на которой собран плагин и на которой собранна программа, разные?
Вы проверяли это утверждение для последних модификаций ThinApp (от 4.7.3 и выше), не работают ?

Автор: AVanti 473
Дата сообщения: 26.04.2016 08:11
conservator Была такая попытка, когда я хотел подключить плагин .NET Framework, собранный в пятой линейке к программе, собранной в 4.7.3 Получился облом. Иначе, я бы этого не писал...
Автор: conservator
Дата сообщения: 26.04.2016 08:34
AVanti 473
Какой Framework (ссылка) к какой сборке, можно поконкретней ?
Автор: AVanti 473
Дата сообщения: 26.04.2016 10:37
conservator

Цитата:
Какой Framework (ссылка) к какой сборке, можно поконкретней ?


Увы, не можно, так как я после того эксперимента был вынужден пересобрать фреймворки в тех версиях на которых были собраны программы. Так теперь всё и осталось согласованным. Жаль, но сейчас это лишь мои слова без доказательств...
Автор: AVanti 473
Дата сообщения: 26.04.2016 13:32
AVanti 473

Цитата:
Ладно, всё путём, решение почти готово. Буду использовать в скрипте WinAPI


https://yadi.sk/d/W-Lbz39trJCQP

(очень подробное описание в архиве)

Теперь везде и всё работает, всё нормально! Пользуйтесь на здоровье, кому интересно!

Тестировалось: WinXP (реал, виртуальный контейнер ThinApp) и Win7 (реал, виртуальный контейнер ThinApp)
Автор: conservator
Дата сообщения: 26.04.2016 14:12
AVanti 473
Хорошо хоть
Цитата:
Жаль
, тут вот как всегда брякнул и пошёл, не утруждая себя какими-либо доказательствами.
Все мои плагины, собранные в версии 4.7.3 (зачем собирать в 5.* - непонятно, тем более Framework) работают с программами, собранными в ThinApp 4.7.3 - 5.2.1. Исключения, конечно, могут быть, но не обязательно по вышеозвученной причине.
Автор: Proshaa
Дата сообщения: 26.04.2016 14:44
conservator
вам что-то доказывать = себя не уважать.
"брякаю" снова. в какой-то момент, будучи на выезде, мне понадобился Framework. взял первый попавшийся. попался ваш. мой Corel, собранный в 5.1 с ним не заработал. "утруждать" себя разбирательствами и "доказательствами" не было ни времени ни желания, работать надо было. просто взял другой и с ним всё прекрасно заработало.
всё, что я "брякаю" - основано на личном опыте. имеющимися знаниями, предположениями и соображениями я открыто делюсь с сообществом.
от вас же конструктива что-то не видно.
Автор: conservator
Дата сообщения: 26.04.2016 17:41
Proshaa
Вы обыкновенный болтун, не спорю - талантливый, выкручиваться и передёргивать умеете здорово, но не более того, всё остальное - вода и вилы, пишите дальше, всегда найдутся любители лапши на ушах, собственно, на них и рассчитана ваша "конструктивная" писанина.
Автор: AVanti 473
Дата сообщения: 26.04.2016 18:49
conservator

Цитата:
Все мои плагины, собранные в версии 4.7.3 (зачем собирать в 5.* - непонятно, тем более Framework) работают с программами, собранными в ThinApp 4.7.3 - 5.2.1.


Помню, что проверку я тогда свою начал именно с Вашего диалога с Proshaa. Мне показалось логичным, что нововведения в плагинах, собранных на пятой линейке (например те же папки %ProgramFilesDir(x64)% и %SystemSystem(x64)%) будут непонятны программе, собранной в 4.7.3 так как в старых версиях их ещё не было, и портабельный контейнер не сможет безошибочно слить всё в одну песочницу. Но, я честное слово, уже не помню как было. Сейчас глянул, у меня все плагины пересобраны в 5.1.1-2722044. Точно помню, что была именно несовместимость и именно с плагином фреймворка (толи второго, толи четвёртого). Ещё была хрень в проге Anvil Studio, где сперва и прога и плаг четвёртого фреймворка были собраны на 4.7.3 Не работала опция определения нот через микрофон. Когда пересобрал все свои плагины в 5.1.1-2722044, то прогу тоже пересобрал в 5.1.1-2722044 - всё заработало, но это уже не к конфликту плагинов относится, а к аксиоме, что пробовать всегда надо на разных сборках. Вобщем, это всё что я помню. Если когда-нибудь ещё замечу явные конфликты - сообщу.
Автор: SunOK_ZM
Дата сообщения: 26.04.2016 18:55
Вот вам наглядная иллюстрация, почему эту бяку (под кодовым названием .NF, VCR, silverlight, flash, java) легче установить на заре установки винды, чем выкручиваться с плагинами.
Ну а если попался под руки комп без оных - куда уж денешься от лотереи "взлетит / не взлетит".
Автор: conservator
Дата сообщения: 26.04.2016 21:20
AVanti 473
Цитата:
Ещё была хрень в проге Anvil Studio, где сперва и прога и плаг четвёртого фреймворка были собраны на 4.7.3
Что-то я не увидел связь неработающей опции с плагином (в какой бы версии ТА он бы не собран), довольно много программ, собранных в 4.7.3 могут вообще не работать или работать не полноценно (Ваш случай), а при пересборке в 5.* - всё нормально, но плагин то здесь при чём ? У Вас есть сейчас эта Anvil Studio, собранная в 5.1.1 ? Скиньте посмотреть.
SunOK_ZM
У нормальных пользователей этот джентльменский набор, как правило, и установлен, но есть разгильдяи, а то и просто сектанты , по каким-то своим идейным соображениям категорически отказываются устанавливать, к примеру, Framework или набор библиотек. Они есть не где-то там вообще, а здесь на форуме, встречал. Вот и приходится выдумывать костыли (по доброй воле, конечно).

Страницы: 1234567891011

Предыдущая тема: OrCAD экспорт P&P файла


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