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

» VMware ThinApp (formerly Thinstall) 3

Автор: NickOnToluca
Дата сообщения: 30.03.2010 19:38
SlaSla
Эта программа врядле поможет в этом деле.
Автор: Astra55
Дата сообщения: 30.03.2010 20:42
SlaSla
Можно с известными ограничениями, но это из другой оперы.
Автор: SlaSla
Дата сообщения: 30.03.2010 20:59
Astra55
Подскажи плиз куда копать (урл с подходящим тредом) дабы не засорять эту ветку
Спасибо.
Автор: Astra55
Дата сообщения: 30.03.2010 21:13
SlaSla
http://forum.ru-board.com/topic.cgi?forum=35&topic=1568&start=480#lt
Чистая система, пункт Создать инсталляционные файлы или Создать файлы установки, ну и мозги, ессно, чтобы разобраться с записями реестра, мусором и sys файлами. Или http://www.laplink.com/pcmover/
Эту сам не пробовал за ненадобностью.
Автор: Astra55
Дата сообщения: 31.03.2010 09:31
Коллеги!
Я имею в виду коллег по созданию портабельных сборок Будьте внимательны, не спринт бежите, сначала поглядите на проект чистым, незамутненным взором, а только потом запускайте build.bat. Перечислю по пунктам типичные ошибки, исходя из своего личного опыта и разборок чужих сборок, само собой, это делалось исключительно в познавательных целях. Не буду тыкать пальцем, кто именно допускает такие ошибки, пусть это останется тайной. Итак:
1) Удаляйте личные данные. Иначе можно без всякого труда узнать многое о сборщике и его знакомых. Вам это надо?
2) Удаляйте папки изначально предназначенные для временных файлов, они в любом случае не нужны, ибо будут у каждого юзера свои.
3) Последняя версия ThinApp 4.5 при определенных условиях (до конца не выяснено при каких именно) цепляет кучу мусора из реестра, порядка 5 метров (!). Кое-кто уже успел наступить на эти грабли. Такой размер HKLM должен немедленно навести на размышления о косяке при подготовке проекта.
4) Не используйте систему с установленным .NET для сборки софта, которому .NET не нужен. Или уж зачищайте в проекте следы от .NET.
5) Не раздувайте сборки за счет файлового мусора, не бывает, чтобы софт при весе в 3 метра имел размер в портабельном виде 12 метров. НЕ БЫВАЕТ! Явное несоответствие размеров установленного софта и портабельной сборки опять таки указывает на косяки.
6) Проверяйте файлы реестра и Package.ini на отсутствие ошибок о которых уже упоминалось много раз, а именно: \%ProgramFilesDir~0021\ или \%Temp~001a\. Может быть исправленная Branding.dll этого не допускает, но лучше проверить вручную по маске поиска: Dir~ или Temp~.
7) Удаляйте файлы инсталлятора и деинсталлятора, они в любом случае не нужны, особенно при использовании msi. Кстати, VB в сочетании с msi дает такую кучу мусора в виде файлов и записей в реестре, что чистка становится необходимостью.
8) Не называйте песочницу в проекте произвольным именем, лучше всего, если ее название будет совпадать с именем основного экзешника. Это избавит от многих коллизий, поэтому никаких Data.dat или подобных имен.
9) Как уже не раз советовали, раскомментируйте в Package.ini строчку OptionalAppLinks, оставьте возможность подключения разного рода внешних файлов, плагинов и всего прочего. Особенно это касается софтов изначально могущих работать с плагинами - Acrobat, PhotoShop и иже с ними.
Очень полезно включать в монстровый проект файл IE6 под именем XPLORER.exe, как это предложил vyachko. Но бывает необходимо дополнить проект скриптом vbs для убийства этого процесса при выходе.
10) Удаляйте дефолтные пути в проекте, взятые из вашей собственной системы. Обычно это реестр, файлы ini, xml, dat и т.д. Иначе будет невозможно избежать создания лишних файлов и папок на компе юзера вашей сборки.

Для начала хватит, остальные пункты будут добавлены по ходу дела. На полноту и безошибочность суждений я не претендую, обоснованная критика и дополнения приветствуются, поскольку это пойдет всем на пользу.
Автор: NickOnToluca
Дата сообщения: 31.03.2010 09:49

Цитата:
1) Удаляйте личные данные.

Да и очень тщательно.


Цитата:
2) Удаляйте папки изначально предназначенные для временных файлов, они в любом случае не нужны, ибо будут у каждого юзера свои.

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


Цитата:
3) Последняя версия ThinApp 4.5 при определенных условиях (до конца не выяснено при каких именно) цепляет кучу мусора из реестра, порядка 5 метров

Скорее всего действительно связано с УЖЕ установленным софтом.


Цитата:
4) Не используйте систему с установленным .NET для сборки софта, которому .NET не нужен

Скорее всего связано с пунктом 3


Цитата:
5) Не раздувайте сборки за счет файлового мусора

Все варезники заваляны тинсталом с короткой инструкцией в 6 шагов. Это проблема.


Цитата:
6) Проверяйте файлы реестра и Package.ini на отсутствие ошибок о которых уже упоминалось много раз, а именно: \%ProgramFilesDir~0021\ или \%Temp~001a\. Может быть исправленная Branding.dll этого не допускает, но лучше проверить вручную по маске поиска: Dir~ или Temp~.

Вроде как выяснили, что по крайней мере в последних версиях то, что мы считали ошибко в ресурсах было двумя вариантами записи: %~dp0 и %CD%


Цитата:
7) Удаляйте файлы инсталлятора и деинсталлятора

... и используйте пустышку msiexec.exe


Цитата:
8) Не называйте песочницу в проекте произвольным именем, лучше всего, если ее название будет совпадать с именем основного экзешника. Это избавит от многих коллизий, поэтому никаких Data.dat или подобных имен.

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


Цитата:
9) Как уже не раз советовали, раскомментируйте в Package.ini строчку OptionalAppLinks

В точку.


Цитата:
10) Удаляйте дефолтные пути в проекте

Верно.

Могу добавить, что те, кто любят оставлять выбор расположения песочницы пользователю, должны помнить, что в таком случае прийдется задуматься еще и расположении кеша. Я прописываю CachePath=Cache, чтобы он все же был в папке программы. Но это ИМХО.
Автор: Astra55
Дата сообщения: 31.03.2010 10:11
NickOnToluca

Цитата:
может оказаться, что удаленная папка содержала что-то важное

Я имел в виду Cookies, History, временные файлы Инета и т.д. Данных это никак не касается, их там просто не бывает.
Цитата:
Скорее всего действительно связано с УЖЕ установленным софтом.

Не похоже. А вот с выходом из незавершенного проекта и запуском нового - может быть. Я еще попробую это дело поковырять, благо, помню как оно было. Результат перезагрузки компа и пересборки проекта такой: 5 метров против 2 кил. Где ThinApp нашел такое количество внешне пристойных записей, пока только ему известно.
Что подразумевается под именем папки SKEL в песочнице и для чего она нужна, я пока не выяснил. И насколько я понял, начиная с последней версии, этот пункт уже неактуален:
Цитата:
кто любят оставлять выбор расположения песочницы пользователю, должны помнить, что в таком случае прийдется задуматься еще и расположении кеша

Автор: NickOnToluca
Дата сообщения: 31.03.2010 10:25
Astra55

Цитата:
И насколько я понял, начиная с последней версии, этот пункт уже неактуален:

В плане Stubs - не актуален, а шрифты и другая мелочи все так же в профиле пользователя будет, если не перенаправить, причем созластся папка Thinstall\Cache даже если она не нужна. Я имею в виду случай, когда хранение песочницы выборочное.
Автор: megauser123
Дата сообщения: 31.03.2010 14:40
AFAIK, шрифты харнятся в песочнице, в папке %Fonts%.

NickOnToluca 11:25 31-03-2010
Цитата:
другая мелочи

Например, какие?

Думаю, Astra55 всё же прав - кэш в 4.5 можно считать атавизмом. Поправьте меня, если я не прав.


Цитата:
Результат перезагрузки компа и пересборки проекта такой: 5 метров против 2
Так работает система кэширования .net. Скорее всего дело в этом (по весу файла довольно сложно судить о причинах проблемы;).
Для борьбы с этой бедой вовсе не обязательно сносить .net, достаточно не допустить запуска службы оптимизации .net, которая постоянно что-то "оптимизирует" (хотя на деле - просто прооверяет валидность версий системных библиотек .net в assemblies).

Проще говоря, достаточно отключить службу Microsoft .NET Framework NGEN ****, и проблема будет частично решена. Не полностью, т.к. в каких-то случаях винда всё равно может запустить mscorsvw.exe вручную.


Цитата:
Вроде как выяснили, что по крайней мере в последних версиях то, что мы считали ошибко в ресурсах было двумя вариантами записи: %~dp0 и %CD%
Как минимум в половине случаев Thinstall прошлых версий обрабатывал эти пути некорректно. Неоднократно это служило и причиной глюков в программах. Особенно по части коротких путей. Да, я понимаю, что так Thinstall пытается выкрутиться, когда ему встречается какой-нть Progra~2, \\?\C:\ или ?:\Windows, но в прошлых версиях вместо фичи чаще выходили лишь баги, к сожалению. Т.е. хотели как лучше, а получилось... как получилось. Спасет одно - на месте короткого пути почти всегда можно записать длинный в кавычках, что и делается в случае возникновения подобных ситуаций.
Автор: NickOnToluca
Дата сообщения: 31.03.2010 15:22
megauser123

Цитата:
кэш в 4.5 можно считать атавизмом. Поправьте меня, если я не прав.


Цитата:
В плане Stubs - не актуален, а шрифты и другая мелочи все так же в профиле пользователя будет, если не перенаправить, причем созластся папка Thinstall\Cache даже если она не нужна. Я имею в виду случай, когда хранение песочницы выборочное.

Автор: megauser123
Дата сообщения: 31.03.2010 15:53
NickOnToluca
Такое ощущение, что мы говорим о разных версиях ThinApp. В 4.5 у меня никаких папок Cache в каталогах
Код: %userprofile%\AppData\Roaming\Thinstall
%userprofile%\AppData\Local\Thinstall
Автор: NickOnToluca
Дата сообщения: 31.03.2010 16:05
megauser123
Сейчас перепроверю.

Добавлено:
c:\Documents and Settings\_ИМЯ_\Local Settings\Application Data\Thinstall\Cache\

Там же и папка шрифтов.
Автор: megauser123
Дата сообщения: 31.03.2010 17:12
NickOnToluca
Действительно, в отличие от Win7, в XP всё точно так, подтверждаю. И папка кэша, и шрифты в ней - всё по старому. Жаль...
Автор: NickOnToluca
Дата сообщения: 31.03.2010 17:15
megauser123
Зато Стубов нет, а то на них антивири жаловались сильно.
Автор: megauser123
Дата сообщения: 31.03.2010 17:35
NickOnToluca
О да, за это - превеликое спасибо разработчикам. Вообще, по личным впечатлениям могу сказать, что 4.5 по сравнению с 4.0 работает просто отлично - создатели потрудились на славу.
Автор: NickOnToluca
Дата сообщения: 31.03.2010 17:44
megauser123
Только как по мне конвертнутые работают медленнее, чем пересобранные.
Автор: titanfill
Дата сообщения: 01.04.2010 12:43
Здравствуте всем! Помогите вот с этим. При выборе первичного контейнера данных в VMware ThinApp, требует вместо exe. выбрать dat. Соответственно в этом проблемма. Как в этом случае собрать полноценную программу. Буду очень признателен за совет. Заранее благодарю.
Автор: NickOnToluca
Дата сообщения: 01.04.2010 13:07
titanfill
Не переживай, он создаст DAT и необходимое количество линкующихся к нему EXE.
Это нужно в случае слишком большого проекта.

В любом случае все можно править потом в INI.
Автор: titanfill
Дата сообщения: 01.04.2010 18:07
Спасибо за ответ. То-то мне показалось, что он его создал, но я поскольку не первый раз пользовался этой програмой перемахнул через это, отыскивая подходящий exe, а когда он поставил такой вопрос, вернуть его, уже, не мог. Ладно, спасибо, попобую ещё раз. Спасибо ещё раз.
Автор: Hmuryj_Mik
Дата сообщения: 02.04.2010 18:47
Может кто владеет предметом? Вот пример из доки (раздел - 'Create a Project Without the Setup Capture Wizard') -

Цитата:
Generate a template Package.ini file
...
snapshot.exe C:\Start.snapshot –SuggestProject C:\End.snapshot C:\Template.ini
...

Как задать ключ (параметр) '–SuggestProject'?
Всяко "подсовывал" ... не получается
Автор: titanfill
Дата сообщения: 03.04.2010 10:13
NickOnToluca, переживать приходится! Правка необходима, Помогите новичку по INI,
справиться с этим. Речь всё о том же DAT! Не вытаскивает он любые линкующиеся EXE в проект да и DAT, как ему и следовало запускается как СD player. Новичку в правках самому не разобраться. Помогите, кто нибудь! С уважением!
Автор: gencho
Дата сообщения: 03.04.2010 14:33
Встретилась такая проблема. Имею Win7 64bit. У него имеются две папки: "c:\Program Files" и "C:\Program Files (x86)". При некоторых програм, при запуске появляется примерно такое сообщение: Не найден файл "C:\Program Files (x86)\....". Файл реално инсталирован при виртуализации в "\Program Files\" и находится там в виртуальной файловой системы. Почему-то Win7 хочет найти его в "\Program Files (x86)\". Имеется ли опыт лечения подобной болезни?

Например Promt 98 Гигант (после relink) при опыт перевода с english->russian сообщает что отсутствует словарь c:\Program GFiles (x86)\PROMT98\ER\default.udc. Если запускать не под Win7, такое сообщение не выскакивает - там файл находится програмой. Иначе програма продолжает нормально работать дальше.
Автор: claim35
Дата сообщения: 03.04.2010 17:22
gencho

Цитата:
Встретилась такая проблема

Я не уверен на 100%,но можно попробовать при сборке устанавливать Promt не в Program Files,а например в корень диска C.
Автор: gencho
Дата сообщения: 03.04.2010 18:20
claim35 спасибо, я так и делаю - так исчезают большинство проблем связанных с Program Files. Но иногда инсталятор сам решает что нужно что-то поставить в "Program Files\Microsoft Shared", a потом програма ищет его в Program Files (x86)...Так что таким образом конкретная проблема не решается. Promt я дал только как пример.
Автор: NickOnToluca
Дата сообщения: 05.04.2010 09:38
gencho
А как насчет 4.5? Там с этим не лучше? Как вариант еще опция Wow64...

titanfill
Выложи инишник. Только не здесь, а на какой-нибудь обменник типа слилру.
Автор: gencho
Дата сообщения: 05.04.2010 12:25
NickOnToluca, я пока разбираюсь со старые сборки (мои и чужие), пробую конвертировать под Win7. Через несколько дней доберусь до дома, и попробую собрать с начала под 4.5, тогда сообщу результат.
Автор: titanfill
Дата сообщения: 05.04.2010 12:51
NickOnToluca, Здравствуй, ещё раз! Вот, с надеждой на положительный результат.

http://slil.ru/28909907 ( пароль " ini " )
C уважением.
Автор: Hmuryj_Mik
Дата сообщения: 05.04.2010 17:36
Запостил не туда
Автор: klarus
Дата сообщения: 05.04.2010 22:45
Переведённый thinapp45_manual.pdf на русский в формате .rtf 2.7 Mb
Автор: cracklover
Дата сообщения: 06.04.2010 15:06
Возникла необходимость отпортейблить PageMaker 6.5 (это старая версия этой программы, сейчас есть 7-ая, кстати, вполне нормально отпортейбленная, но нужно именно 6.5).
Дистриб ставится в ритейл варианте, регится ключем, никаких дров, сервисов и прочей фигни в систему не ставит. Казалось, все должно портейблится на ура (тем более седьмая версия пейджмейкера тому пример), а вот фиг там!
Всё делаю как обычно, всё собирается в контейнер, никаких грабель не видно ни на одном этапе, но при запуске собранного пейджмейкера 6.5 вылетате ошибка, в переводе гласящая, что один файлик - pm65.rsl (это фал ресуросв, то есть меню, диалоги и т.д.) при запуске готового портабла не обнаруживается.
Смотрю его наличие в капчуре и вижу ОН ЕСТЬ! почти уверен, что и в контейнер при сборке он попадает. Перерыл весь виртуальный реестр, тоже все очевидно.
Никак не могу понять, почему потрейбл не видит этого файла и не хочет запускаться?

p.s. просто локально установленный пейджмекер 6.5 запускается и работает прекрасно.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149

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


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