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

» VMware ThinApp (formerly Thinstall) 3

Автор: coherent
Дата сообщения: 09.06.2014 17:16
Artem_Butenko

Цитата:
Такая ошибка возникает на Windows 7 x64. На Windows XP x86 скрипт работает нормально.

К сожалению на хозяйстве имею только Windows XP, поэтому проверить работу скрипта на Windows 7 x64 просто не имею возможности. Похоже на Windows 7 x64 нужно видоизменить скрипт в части проверки, выполняется ли еще процес MyProgram.exe. Попробуйте еще [more=так]
Option Explicit

Dim fso, Origin, SourcePath, MyProgSourceExe, MyProgSourceIni, hstart, hstartDest, cmd32, SandboxParent, SandboxName, SandboxPath, MyProgDestExe, MyProgDestIni, cmd, id, ProcessName, ProcessNameFriend

Function OnLastProcessExit

Set fso = CreateObject("Scripting.FileSystemObject")

Origin = GetEnvironmentVariable("TS_ORIGIN")
SourcePath = Left(Origin, InStrRev(Origin, "\") - 1)
MyProgSourceExe = ExpandPath("%ProgramFilesDir%\Data\MyProgram.exe")
MyProgSourceIni = ExpandPath("%ProgramFilesDir%\Data\MyProgram.ini")
hstart = ExpandPath("%ProgramFilesDir%\Data\hstart.exe")
hstartDest = SourcePath & "\hstart.exe"
cmd32 = ExpandPath("%SystemSystem%\cmd.exe")

SandboxParent = GetBuildOption("SandboxPath")
SandboxName = GetBuildOption("SandboxName")
If SandboxParent = "." Then
SandboxPath = SourcePath & Chr(92) & SandboxName
Else
SandboxPath = SandboxParent & Chr(92) & SandboxName
End If

MyProgDestExe = SandboxPath & "\MyProgram.exe"
MyProgDestIni = SandboxPath & "\MyProgram.ini"
cmd = cmd32 & " /C " & chr(34) & MyProgDestExe & chr(34)

If not fso.FileExists(MyProgDestIni) then
fso.CopyFile MyProgSourceIni, MyProgDestIni
End If

If not fso.FileExists(MyProgDestExe) then
fso.CopyFile MyProgSourceExe, MyProgDestExe
End If

If not fso.FileExists(hstartDest) then
fso.CopyFile hstart, hstartDest
End If

id = ExecuteExternalProcess(hstartDest & " /NOCONSOLE " & chr(34) & cmd & chr(34))

ProcessName = "MyProgram.exe"
ProcessNameFriend = "MyProgram"

Do while isProcessRunning(ProcessName, ProcessNameFriend)
Loop

id = ExecuteExternalProcess(hstartDest & " /NOCONSOLE " & chr(34) & "taskkill /F /IM " & "Wmiprvse.exe" & chr(34))
WaitForProcess id, 0

If fso.FileExists(MyProgDestExe) Then
fso.DeleteFile(MyProgDestExe)
End if

If fso.FileExists(hstartDest) Then
fso.DeleteFile(hstartDest)
End if

End Function

Function isProcessRunning(ProcessName, ProcessNameFriend)

Dim objWMIService, Process
set objWMIService = GetObject ("winmgmts:")
isProcessRunning = False

For each Process in objWMIService.InstancesOf ("Win32_Process")
If StrComp(Process.Name,ProcessName,vbTextCompare) = 0 then
isProcessRunning = true
End If
Next

End Function[/more].
Вообще условие запуска MyProgram.exe из песочницу приводит к необходимости использовать стороннюю утилиту для запуска, вводить дополнительное условие ожидания завершения процесса MyProgram.exe и убивать процесс Wmiprvse.exe, который остается висеть в процессах после завершения работы.
Автор: coherent
Дата сообщения: 10.06.2014 15:15
Artem_Butenko
Проверял на Win7 x64, оба скрипта работают без ошибок!
Автор: Artem_Butenko
Дата сообщения: 11.06.2014 05:48
coherent

Спасибо. Я тоже проверил. Ошибка повторяется, но один раз из десяти. Возможно причина в антивирусном агенте, возможно иная. Не беда, скрипт на ура! Огромное человеческое Спасибо!
Автор: coherent
Дата сообщения: 11.06.2014 09:48
Artem_Butenko
Рекомендую подумать над тем, стоит ли удалять MyProgram.exe из песочницы. Он же не изменяется в ходе работы? Если не удаляется MyProgram.ini, то почему бы не оставить и MyProgram.exe? Если этот файл не удалять, тогда не нужна проверка на завершение процесса MyProgram.exe. Т.е. слабых мест, которые могут вызывать ошибку при неудачном стечении обстоятельств, будет меньше.
Автор: Artem_Butenko
Дата сообщения: 11.06.2014 17:24
coherent

Спасибо, учту на будущее. Уже почти завершил "ThinApp File Cleaner". Приложение будет запускаться в песочнице по завершению основного процесса портабельного приложения. Все благодаря Вам.
Возможности программы:
- опциональное удаление файлов виртуального реестра портабельного приложения;
- опциональное удаление каталогов виртуальной ФС (%Folder%);
- опциональная очистка "MUICache";
- удаление "*.pf-файлов" из папки "Prefetch" и очистка файла "Layout.ini".

Есть еще пожелания?
Автор: AVanti473
Дата сообщения: 15.06.2014 14:46
SLasH, разрешите вопрос? Опять же касательно скриптов. В данном случае программа WinRAR v5.10:
Отлично делается портабельной при помощи ThinApp, но, почему бы не улучшить? Можно ли сделать так, чтобы не зависимо от того, откуда запускается портабельная версия программы происходило [more=следующее:]
- При запуске, проверка существования папки бекапа (которая должна в идеале располагаться в песочнице) и, если такой нет, бекап изменяемых в реальной системе ключей реестра.
- Ассоциация в реальной системе с портабельной программой файлов:
.7z
.ace
.arj
.bz
.bz2
.cab
.gz
.jar
.lha
.lzh
.rar
.rev
от .r00 до .r29
.tar
.taz
.tbz
.tbz2
.tgz
.txz
.uu
.uue
.xxe
.xz
.z
- Запись в реальный реестр интеграции портабельной программы в контекстное меню проводника
- По завершению работы программы, возвращение всех изменённых значений реестра из бекапа и удаление папки бекапа.[/more]

На данный момент просто интересно, возможно такое или нет при помощи использования скриптов!?

Чего хотелось бы добиться этим мозгоизвороченным и на первый взгляд бессмысленным действом: Дело в том, что за несколько лет я порядком наслушался в интернете о том, как кое-где запрещают использовать взломанный софт, но прекрасно позволяют использовать портабельный! Задумался вот о чём - а что если и я попаду в такую ситуацию? Хотелось бы в таком случае чувствовать себя ещё комфортнее! ))) Ну нет архиватора и ладно, запустил портабельное приложение и вот уже вполне полнофункциональная привычная программа. Ресурсов не кушает и прекрасно можно оставить свёрнутой в трее на время работы.
Конечно же, для такого более и лучше всего подошёл бы X-Launcher или что-то ещё в этом духе. Но, мне просто интересно, можно ли такое раелизовать в ThinApp.
Разница с предыдущим проектом: В самом начале предыдущего проекта, я ошибочно полагал, что необходимо просто импортирование ключей реестра в реальную систему. Но там было просто импортирование готовых ключей, а здесь, ассоциации привязаны к %ProgramFilesDir%\WinRAR\WinRAR.exe о котором реальная система, по идее, ничего не знает, ведь портабельное приложение может быть запущено откуда угодно. То же касается и контекстного меню...

Пока писал, пришла в голову сумасбродная идея, которая давно крутилась где-то рядом, но никак не могла сформулироваться:
Я бы назвал её возможностью X-Launcher на базе и с преимуществом ThinApp! Помните виртуалбокс? Когда-то, компьютер в компьютере тоже был за гранью понимания, но время показало что это не просто интересно, а ещё и безумно полезно! А что если мы представим себе такую вот конструкцию: Запускается виртуальное приложение, скрипт при запуске (предварительно забекапив всё необходимое в песочницу) копирует необходимую структуру в Program Files и реестр, и запускает приложение! Теоретически, всё что запущено через контейнер, будет оставлять следы своей деятельности в песочнице, в тех папках, что мы заботливо ограничим WriteCopy при сборке. А по завершению работы приложения ещё один скрипт будет удалять следы в системе, а бекап будет восстанавливать всё на свои места. Для громоздких приложений этот подход разумеется не имеет смысла, но для приложений в несколько мегабайт, пользователь даже не заметит разницы в скорости их запуска! Преимущества будут те же, что у сборок X-Launcher, плюс возможности песочницы ThinApp. Не нужно будет писать множество заумных программных или скриптовых кодов, достаточно будет лишь шаблона скрипта для бекапа, копирования и удаления всего необходимого! Пользователь вполне сам может самостоятельно конвертировать из файлов сборки ThinApp необходимые ключи реестра для импортирования в систему, и получит дополнительные возможности!
Интересно, такая идея жизнеспособна? Я описал лишь концепцию, но ведь это интересно!
Автор: coherent
Дата сообщения: 16.06.2014 10:15
AVanti473
Ответ на вопрос, можно ли ассоциировать WinRAR с изложенными пожеланиями, можно. Ответ на вопрос, можно ли ассоциировать любую портативную программу по этому же принципу, можно. Ответ на вопрос, можно ли реализовать "сумасбродную идею, которая давно крутилась где-то рядом, но никак не могла сформулироваться", тоже можно. Основной вопрос здесь, а нужно ли?

То, что Вы предлагаете, особенно "сумасбродную идею", есть симбиоз ThinApp и скриптов, который будет подвержен недостатку портативных програм на скриптах - при неожиданном падении системы (всякое бывает) все изменения, внесенные в реальную систему, в ней же и останутся.

Безусловно, если файлы ассоциированы с соответствующим портативным приложением, это удобно. У меня, например, все файлы (естественно, где это нужно) ассоциированы с соответствующими портативками. Речь естественно о "своих" компьютерах, где я устанавливаю правила. Но это делается один раз рег-файлом. Каждый раз устанавливать и удалять ассоциации не вижу никакого смысла, хоть рег-файлы для этого тоже имеются. Это, конечно, если исходить из принципа "сборка для себя и для работы". А на чужих машинах использую портативный Total Commander с внутренними ассоциациями.
Автор: AVanti473
Дата сообщения: 16.06.2014 11:13

Цитата:
при неожиданном падении системы (всякое бывает)

Именно об этом я хорошо знаю, и сам являюсь сторонником того, чтобы не использовать подобные методы как некие стандарты! Многие, на соседних ветках форума, просто без ума от лаунчеров, забывая именно о неожиданном падении ОС. Благо, такое встречается крайне редко, и, если не смертельно, то лечится после перезагрузки запуском той же портативной программы, которая по завершению уберёт все неубранные ранее следы. Но лаунчеры не ловят в контейнер процессы или приложения, запущенные их, с позволения заметить, (ИМХО) псевдопортаблом. К тому же, скриптовая часть лаунчера достаточно сложна для обывателя, ведь под час ещё требуется заметно расковырять саму программу, чтобы вынести отдельные файлы в контейнер такой портабельной сборки на основе лаунчера. В деталях я могу ошибаться, ведь с лаунчерами знаком шапочно, но суть то такая! Реализуемый по схеме "лаунчера" скриптовой портабл ThinApp, тоже можно будет назвать псевдопортаблом, но это всё-же как минимум интересно!
coherent
Я ни на чём не настаиваю, и, даже, чёрт с ним с винраром, позволю себе вернуться к так названной мною "сумасбродной идее". Позвольте я попробую расширенно пояснить
Я не зря вспомнил виртуалбокс! Когда-то давно, я задался идеей, раз в компьютере можно создавать сложные виртуальные процессы (это сейчас не касается виртуальных приложений как таковых), такие как моделирование работы электрической цепи или моделирование движения 3D объектов, согласно анатомических особенностей, то, наверное, можно создать и компьютер в компьютере. Помниться задавал эти вопросы на форумах, и ответ был таким как Ваш - "а нужно ли?"! Никто тогда не понимал, зачем это вообще может понадобиться. Аргументировали тем, что если даже такое создать, то понадобятся огромные мощности основной машины, чтобы хоть как-то смоделировать работу виртуальной! Прошло так мало времени, и виртуальных машин стало уже прилично до неприличия. ))) Зачем они сейчас, я думаю даже объяснять никому не нужно!
Ещё один важный пример: Когда-то давно, я, как и многие, столкнулся со вторым или третьим своим глухим падением винды, и задумался, чем каждый раз "перебивать" систему, теряя данные, можно ли её починить "из вне". Загрузочные диски уже были тогда, но скачать их при дуал-аповских скоростях, тем более без возможности докачки, было нереально! Зато я смог сделать свой, при помощи PEBuilder, и даже запихнул в него тотал-коммандер! При помощи тоталкомандера с загрузочного диска, я делал первый свой бекап системы. ))) Кстати успешно. ))) Но скорости сети росли и я начал скачивать загрузочные CD и даже DVD! На них было столько программ, но, только один из них на тот момент имел возможность воспроизводить звук через DirectX! Я тогда тоже спрашивал на форумах, мол, неплохо было бы чтобы и звук и видеодрова вшить, и вообще, чтобы было комфортнее работать в случае улёта основной ОС в астрал. Тот же ответ - "а зачем?"! Мол, это же диск для починки, а не для работы! Ок! В прошлом году у меня полетел жёсткий террабайтник и я скачал на флешку четырёхгиговую загрузочную сборку "2k10Plus". Там в комплекте и звук и видеоплеера, и браузеры и скайп и агент и вообще я реально жил на ней пару месяцев, пока в сервисе не слили инфу с убитого жёсткого и я не восстановился с бекапа акрониуса! Сделали ведь умельцы! А казалось бы и вопрос "зачем" уже не возникает сейчас!
Таким образом, может стоит попробовать применить ThinApp несколько в иной форме, и поглядеть что из этого получиться? Может быть такая идея тоже будет востребована? Скажем чайник знать не знает как правильно собрать портабл, а мы ему готовый контейнер со скриптом, где ему надо только добавить программные файлы, файлы изменения реестра (что делается парой кликов при помощи программы Total Uninstall), и прописать пути копирования! И всё - нет больше кривых сборок! Будет эдакий вполне себе псевдопортабл. А главное, небольшие программы, будут работать как будто реально установленные, со всеми возможностями и оригинальными путями, но с мусором в контейнере-песочнице! Вот как-то так мне видятся эти перспективы, хотя на первый взгляд туманно и сложно, но новичку всё это будет не сложнее осваивания всего монументального и безусловно полезного FAQ по протабельным сборкам. Собственно новичку будет нужна всего лишь подобная конструкция инструкции:
- Установите VMware ThinApp
- Установите Total Uninstall
- Скачайте из шапки готовый для сборки контейнер ThinApp
- Отследите при помощи Total Uninstall изменения нужной вам программы.
- Скопируйте в нужные папки нужные файлы (в т.ч. файлы импорта ключей реестра (тоже готовые из Total Uninstall))
- В текстовом редакторе, в скрипте готового для сборки контейнера ThinApp исправьте нужные пути, следуя комментариям в файле скрипта.
Всё!
По моему это легче чем зачитать FAQ, не говоря уже о других тонкостях сборок, а желающие всегда смогут углубиться и более детальное изучение! )))
Автор: coherent
Дата сообщения: 16.06.2014 13:26
AVanti473
Имеет ли такая "сумасбродная идея" право на жизнь? Да наверное имеет, почему бы и нет? Но по-моему Вы сильно все усложняете. Разве что приведете конккретный пример, когда вообще имеет смысл городить такую монстроподобную систему. Кроме этого, универсальное всегда менее конструктивно, чем конкретное. Да, часто приходится изгаляться, чтобы заставить сборку полнофункционально работать. Но универсальных путей нет, в каждом конкретном случае, как правило, ищется свое решение. Хотя общие моменты, конечно, есть.

Цитата:
Скажем чайник знать не знает как правильно собрать портабл, а мы ему готовый контейнер со скриптом...И всё - нет больше кривых сборок!

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

Цитата:
Собственно новичку будет нужна всего лишь подобная конструкция инструкции:...По моему это легче чем зачитать FAQ, не говоря уже о других тонкостях сборок

При таком подходе еще легче дать новичку ссылку на тему по заказу портабл софта, где, за очень редким исключением, приблизительно такие же как он "умельцы" ему эту сборку соберут.

ps. Вы, наверное, гуманитарий, учитывая все эти лирическо-исторические отступления?
Автор: AVanti473
Дата сообщения: 16.06.2014 17:37
coherent, судя по тому, что затронутая мною тема, до сих пор не нашла отклика у других посетителей, возможно, или Ваша правда, или ещё не время для подобных извращений! ))) Ладно. Мне очень жаль, что в реале род моей деятельности стремительно и кардинально меняется... Вполне возможно, я, увы, не смогу заниматься не то, что скриптами, но и портабельными сборками. Причём всё это, начиная прямо с завтрашнего дня. Пока ещё я не могу спрогнозировать наличие у меня какого-либо свободного времени под свои старые дела. Если такое время будет находиться, я постараюсь развить идею в рамках своих возможностей и изысканий, а пока, пока... )))
Автор: coherent
Дата сообщения: 16.06.2014 19:22
AVanti473

Цитата:
подобных извращений

Вы сами сказали. Просто идея изготовления ThinApp-сборки, при которой изменения отслеживаются не самой же ThinApp, которая для этого предназначена, а сторонней программой, например Total Uninstall, с последующей конвертацией ключей реестра в формат все той же ThinApp и рассовыванием вручную всех файлов и папок на свои места с заданием изоляции (не вдаваясь в подробности, что изоляция будет разной в зависимости от конкретной программы и от того, как она должна работать), вместо того, чтобы использовать родной инструмент ThinApp, выглядит более, чем странно, мягко говоря. Для полноты идеи осталось найти стороннее приложение, которое еще и скомпилирует ThinApp-сборку.
Автор: SunOK_ZM
Дата сообщения: 23.06.2014 12:37
Здравствуйте! С выходом ThinAPP 5.0.1 удалось склепать Nero WaveEditor и SoundTrax, так как разработчики из-за нового АвтоКАДа исправили загрузку большого числа DLL (я давно догадался что проблема в их подключении, но только тинаповцы могут её решить).
Так что, можно пробовать увесистые проекты собирать...
Листинг:[more=Package]
[Compression]
CompressionType=Fast
OptimizeFor=Disk
BlockSize=512k

[Isolation]
DirectoryIsolationMode=Merged

[BuildOptions]
.ShowSB=0
SandboxPath=.
SandboxName=WaveEditor12.0.12
InventoryName=WaveEditor12.0.12
InventoryIcon=%ProgramFilesDir%\Nero\Nero 12\Nero WaveEditor\we12.ico
AllowUnsupportedExternalChildProcesses=0
OptionalAppLinks=plugins\*.*
AltArchitectureShortcut=0
QualityReportingEnabled=0
IgnoreDDEMessages=1
VirtualizeExternalOutOfProcessCOM=0
ProcessExternalNameBehavior=Original
ForcedVirtualLoadPaths=%ProgramFilesDir%\

[Nero WaveEditor.exe]
ReadOnlyData=Package.ro.tvr
Source=%ProgramFilesDir%\Nero\Nero 12\Nero WaveEditor\waveedit.exe
Icon=%ProgramFilesDir%\Nero\Nero 12\Nero WaveEditor\we12.ico

Параметры, которых не хватает, остаются по умолчанию (хотя 3 последних в [BuildOptions] кажется до лампочки, поставил для уверенности) ).[/more]
Автор: AVanti473
Дата сообщения: 29.06.2014 09:52
Друзья, и всё же так просто я не отстану...

Нужен скрипт.
Реестр мы опускаем, так как этот этап был уже успешно пройден в обсуждениях ранее. Тоесть скрипт добавления и удаления значений реестра из файлов install.reg и uninstall.reg соответственно, уже имеется.
- Есть программа TeraCopy, которая хранит свои файлы в "%ProgramFilesDir%\TeraCopy" а лицензию в "%AppData%\TeraCopy".
- Надо, чтобы при запуске программы, скрипт копировал файлы:
из "%ProgramFilesDir%\TeraCopy" в "C:\Program Files\TeraCopy"
и
из "%AppData%\TeraCopy" в "C:\Documents and Settings\текущий_юзверь\AppData\Roaming\TeraCopy"
- Далее скрипт должен запустить C:\Program Files\TeraCopy\TeraCopy.exe, а по завершению программы убрать все следы.

Проблемы, которые сам вижу:
Запуск портабельного приложения и запуск в реальной системе скопированных в неё файлов не одно и тоже, возможно, TeraCopy.exe должна оставаться исключительно в виртуальном контейнере, а значит, копировать в C:\Program Files\TeraCopy нужно или не все файлы, или заранее подготовленные файлы из какой-то другой папки, например папки "Script" рядом с екзешником, где у меня уже и так располагаются файлы install.reg и uninstall.reg

Грубо говоря, при запуске портабельного приложения скорее всего должно быть так:
- Стартует скрипт, который вносит значения в реестр (уже имеется в наличии), и параллельно стартует скрипт, который копирует заранее приготовленное содержимое из папки рядом с екзешником портабельной сборки (у меня это папка "Script"):
из "Script\Program Files\TeraCopy" в "C:\Program Files\TeraCopy"
и
из "Script\AppData\TeraCopy" в "C:\Documents and Settings\текущий_юзверь\AppData\Roaming\TeraCopy"
- По завершению портабельного приложения стартует скрипт удаления следов папок.
При этом, сам TeraCopy.exe, я оставляю в виртуальном контейнере, чтобы виртуальное приложение могло стартануть и завершиться без проблем.
Автор: AVanti473
Дата сообщения: 30.06.2014 00:53
Нашёл кое-какие ответы в мануале http://www.vmware.com/pdf/thinapp50_manual.pdf
Страницы 75-76.
Но мой вопрос выше всё ещё актуален!
Автор: soname
Дата сообщения: 30.06.2014 15:50
Ищу совета...
Есть программа (http://forum.ru-board.com/topic.cgi?forum=35&topic=35883&start=760#lt), использующая OpenGL для визуализации, проблем с портабелизацией её Thinapp не возникает (работает как на WinXP, так и на Win7x64), но при работе чувствуются затормаживание (подергивание) картинки при вращении на Win7x64. Конечно, много чего перепробовал (делал порт и на XP и на 7х64, играл с настройками и пр.), уже смирился, но попробовал Spoon и (не считая горы "мусора" после себя и не возможности использовать одну сборки на разных архитектурах) заработало без притормаживаний. Сейчас сижу и сравниваю сборки между собой...
Может кто сталкивался с подобной ситуацией в Thinapp? Есть идеи, как побороть OpenGL?
Автор: AVanti473
Дата сообщения: 30.06.2014 21:47

Цитата:
Ищу совета...


Раз никто пока не ответил, рискну предположить:
Не использовать (оставить по умолчанию) ;Wow64=0 в Package.ini
Не использовать компрессию обозначив CompressionType=None
Автор: soname
Дата сообщения: 01.07.2014 10:30
... это были одни из провереных сразу вариантов ...
Кажется тут надо копать в сторону драйверов или библиотек, но пока пути не вижу
Автор: coherent
Дата сообщения: 01.07.2014 11:10
pavlaf

Цитата:
Что такое распакованная версия ThinApp? Чем она отличается от просто установленной программы?

Установленная версия не позволяет распаковывать готовые сборки.
Автор: aiki
Дата сообщения: 01.07.2014 11:40
хм.. Довольно таки спорное утверждение а что именно в ней не позволяет-то?
Автор: coherent
Дата сообщения: 01.07.2014 12:51
У нераспакованной версии основной exe-шник упакован самой же ThinApp. В теме вроде не раз уже обсуждалось.
Автор: Regi07
Дата сообщения: 03.07.2014 23:38
очень интересно..., но а как же быть если программа активируется в мемору?
Автор: LCF84
Дата сообщения: 05.07.2014 23:13
Всем привет.

Не поможете с ответами на несколько вопросов:
1. У меня есть плеер, который при загрузке считывает HWID, UID системы

hwid=c1b989363842d4e58ce27444d4cdfe79
uid=b8ff7b9ecc683f797b786534af6d533a

и в случае несоотвествия их с ранее сохраненными(при первом запуске программы) сбрвсывает све настройки программы на дефолтные. Поэтому использование на разных системах с ранее выставленными настройками не получается. Поэтому появиласьидея следать портативку. Вот и вопрос, как при создании портативной версии thiapp.v5.0.1 обойти проверку HWID, не дать программе доступ к реестру, где хранится HWID, UID в реальной системе, ну или с ветвям реестра, где описано железо исходя из которого оно высчитывает ключи?

2. Скачал VMWare ThinApp.v5.0.1Build1801916.Enterprise.exe - весит 62 мб. Установил - папка весит - 210мб. А потом со мной поделилсь установленой версией тут на форуме. Так вот эта версия весит 44,5мб

Моя установка: С форума:
Setup Capture.exe - 194891кб (PE) 2338кб (PE, MS linker9.0.EXE32)
log_monitor.exe 126кб (PE) 9592кб (PE, MS linker9.0.EXE32)
relink.exe 404кб (PE) 95кб (PE, MS linker9.0.EXE32)
tlink.exe 404кб (PE) 1538кб (PE, MS linker9.0.EXE32)
vftool.exe 404кб (PE) 681кб (PE, MS linker9.0.EXE32)
vregtool.exe 404кб (PE) 680кб (PE, MS linker9.0.EXE32)

Вопрос 1 - в чем разница?, почему Setup Capture.exe в моей установке такой большой. Я просканировал файлы прогой Detect it easy v0,85 - результы в скобках. Четкого определения сомпресора нет ни там ни там.

Тут выше писали, что есть распакованная версия ThinApp и не распакованная

Вопрос 2 - это как раз я понимаю, что с форума получил распакованную версию?
Вопрос 3 - Чем распакованная отличается от просто установленной программы? (по функционалу)
Вопрос 4 - Так же писалось, что запакованная не умеет распаковывать готовые сборки. А как пользоватся распаковывание сборок распакованным ThinApp?. Я знаю только один метод - запуск ThinApp с начала в системе, а потом в вируальной среде и сравнение результата - в новый проэкт.
Вопрос 5 - чем запаковывается Thinapp? Каким компресором(упаковщиком)?

Спасибо заранее за ответы.
Жду с нетерпением
Автор: dinis124
Дата сообщения: 06.07.2014 20:09
Привет парни. Как то давно видел где-то чьи то наработки тут с .NET Framework для VMware ThinApp. Если не выдаю желаемое за действительное киньте линк.

LCF84

Хорошо что вы еще не стали дизассемблировать, я искренне рад, иначе вы заполнили бы собой весь топик.
Может без велосипеда? Вот такая рабочая устроит? Ссылка
Автор: LCF84
Дата сообщения: 06.07.2014 20:25

Цитата:
dinis124Newbie



Спасибо за ссылку. Но у меня уже есть рабочая распакованная версия 5.0.1.
Меня конкретно интересует обьяснение и ответы на конкретные вопросы, которые я задал выше
Автор: dinis124
Дата сообщения: 06.07.2014 20:38
LCF84

Это не то?
Q16

;VirtualDrives=Drive=c, Serial=605ade39, Type=FIXED
;VirtualComputerName=MY_COMP
Две опции, позволяющие эмулировать Volume ID винта и имя компа. Обычно в первой опции
указываются все винты, имеющиеся на компе, но, как правило, программы устанавливаются на
диск C:\, поэтому эмуляция остальных дисков не нужна. Что это дает? Например, программа
регистрируется серийным номером, который жестко привязан к Volume ID винта. При запуске
такой портабельной сборки на другом компе, она гарантированно перейдет в режим триала или
демо и потребует повторной регистрации, поскольку Volume ID винта не совпадет. Удаление «;» в
этих двух опциях позволяет виртуальному контейнеру зафиксировать Volume ID винда и имя
компа, независимо от того, где сборка будет запущена. Если такой привязки нет, то можно отключить обе эти опции, добавив «;» в начале.

Иногда хватает и: Merged, Full, Write смотря по ситуации.

Del...
Автор: coherent
Дата сообщения: 07.07.2014 11:23
LCF84
Это плохая практика задавать одни и те же вопросы в разных темах.

Цитата:
У меня есть плеер, который при загрузке считывает HWID, UID системы

Что за плеер, если не секрет? Пробовали уже делать сборку? Эмуляции Volume ID недостаточно?
Автор: LCF84
Дата сообщения: 08.07.2014 00:25
coherent


Цитата:
Это плохая практика задавать одни и те же вопросы в разных темах.

Не ругайте меня за это. Я не злостный нарушитель. Так получилось.
Не знал какую тему затрагивают вопросы и поэтому написал в обе темы.

Спасибо за ответы в той теме. Кратко и лаконично. Ссылку на прогу в шапке завтыкал.
Все же очень интересно, как и чем распаковывают эти "заводские" версии. Какой способ.
По поводу того, что там где в начале тебы есть ответы на вопросы - простите, мне не было времени просматривать 180 страниц форума при отсутствии 100% уверенности в наличии там ответов.

Эмуляция Volume ID серийника включена по умолчанию, поэтому могу сказать, что не работает
VirtualDrives=Drive=c, Serial=6eeef09e, Type=FIXED
VirtualComputerName=UNDERWORLD

Вот ссылка на плеер. Ставить надо так Player.v0.28.1.883 2+ VLC.v2.0.4.
VLC версии 2.1 имеет баги и работает не корректно на семерке(плеер не регулирует звук), а с версией VLC 1.1.11 часто при запуске на семерке идет только звук без видео.

О причинах необходимости виртуализации - писал ранее. Прога привязывается к железу и при запуске на новой системе обнуляет полностью настройки. Разрабы удалять это не хотят и сказали, что это целенаправленая защита плеера от использования в различных сборках систем и програм.
http://borpas.info/iptvplayer
Если сможете помочь со сборкой - спасибо. Если есть идеи по обходу проблемы другими способами - пишите в личку.
Автор: SARA1994
Дата сообщения: 08.07.2014 00:36
NickOnToluca

Скайп брал обычный, не PortableApps точно. Надо попробовать, как вы сказали, убрать все лишнее. Кстати, PortableApps мне не нравится, программы этой сборки прописывают в реестр ключи, только после завершения программы они удаляются. А если свет вдруг выключат? . А как еще можно сделать прогу портативной? У меня вот аська есть не одним файлом, а как нормальные программы, со всеми папками и файлами, но это и не PortableApps.
Вообще есть ли такой скрипт, чтоб заставить программу обращаться не к реестру, а к ini-файлу с ключами реестра? Потом поместить его в папку с программой...
Автор: LCF84
Дата сообщения: 08.07.2014 00:37

Цитата:
dinis124Newbie

Редатировал - т.к заглючил форум и сообщение частично задублировалось - поэтому я и удалил задублировавшуюся часть.

Цитата:
Да, и добавлю лишь что если анализаторы выдают компилятор Microsoft Visual C++ 9.0 - Visual Studio 2008 (E8) то программа не накрыта ничем.  

Спасибо - по поводу этого - в курсе. Не первый год пользуюсь анализаторами и взломщиками. То, что перечиленные мною файлы в левой колонке являются ссылки - чего-то завтыкал. Не удачный вечер. Там и по размеру понятно было - у всех одинаковый.
Автор: coherent
Дата сообщения: 08.07.2014 10:53
LCF84

Цитата:
Все же очень интересно, как и чем распаковывают эти "заводские" версии. Какой способ.

Чтобы здесь не повторяться, рекомендую почитать FAQ от Astra55. Если мне не изменяет память, там даже с картинками и на русском.

Касательно привязки к hwid и uid, голословным быть не хочу, раньше с таким не сталкивался. Надо бы поэкспериментировать, но сейчас со временем не очень. Я и проверить его толком не смогу, потому что мой провайдер такую услугу не предоставляет.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149

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


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