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

» VMware ThinApp (formerly Thinstall) 3

Автор: coherent
Дата сообщения: 14.08.2011 19:06
Похоже ответа не будет!
Хотя, возможно выходные и все отдыхают.
Автор: megauser123
Дата сообщения: 14.08.2011 20:11
coherent, а почему именно DVDIdle? Не DVDFab, не AnyDVD, а именно эта?

PS Причина может быть в том, что процесс портативного PowerDVD называется как-то иначе, а DVDIdle ждет именно определенные имена процессов. Попробуй включить опцию ProcessExternalNameBehavior=Original
Автор: coherent
Дата сообщения: 14.08.2011 20:51
megauser123

Цитата:
почему именно DVDIdle? Не DVDFab, не AnyDVD, а именно эта?

Основная причина - чисто историческая, как-то так получилось, что начал использовать именно DVDIdle. Кроме этого, может, конечно, я что-то путаю, но в описании DVDFab и AnyDVD как-то не афишируется опция уменьшения нагрузки на DVD-привод. Плюс по размеру они в несколько раз больше, особенно DVDFab.


Цитата:
PS Причина может быть в том, что процесс портативного PowerDVD называется как-то иначе, а DVDIdle ждет именно определенные имена процессов. Попробуй включить опцию ProcessExternalNameBehavior=Original

Не помогло! Да и как правило, имена ярлыков задаю в соответствии с оригинальными именами. Поэтому имена процессов и с опцией и без совпадают с оригинальными PowerDVD.ехе и DVDIdlePro.exe.
Я уже пробовал у запущенной DVDIdlePro (они в одном контейнере) удалить из списка програм PowerDVD и снова добавить. Ничего не меняется!
Честно говоря, я не совсем понимаю, как DVDIdlePro реагирует на запуск PowerDVD. У нее ведь нет никакого агента, пусть скрытого, который висит в процессах и отслеживает запуск программ.
Автор: megauser123
Дата сообщения: 14.08.2011 22:17
coherent

Цитата:
Честно говоря, я не совсем понимаю, как DVDIdlePro реагирует на запуск PowerDVD.

Похоже, через хук DVDShell.dll, который цепляется к процессу explorer.exe и отслеживает запуск нужных программ. Т.е. можно попробовать поиграться с ExternalDLLs=DVDShell.dll, но скорее всего не получится и придется выносить папку программы из песочницы. Сложно, муторно и вообще, нафик надо. Лучше написать простенький батник/скрипт на AutoIT/NSIS, который будет запускать сначала DVDIdle, затем PowerDVD, а после закрытия PowerDVD завершать и DVDIdle. Либо, если хочется поизвращаться, попробовать повесить DVDIdle как службу через srvany и сделать автостарт/автоостанов служб при запуске портативки (эта опция и так активна по умолчанию).
Автор: coherent
Дата сообщения: 14.08.2011 23:02
megauser123

Цитата:
можно попробовать поиграться с ExternalDLLs=DVDShell.dll, но скорее всего не получится

Сразу пробовал этот вариант. Хотя две другие длл-ки по-любому надо выносить, иначе программа просто не запускается. А эту можно выносить или нет, на запуск не влияет, равно как и на проблему.


Цитата:
Лучше написать простенький батник/скрипт на AutoIT/NSIS, который будет запускать сначала DVDIdle, затем PowerDVD, а после закрытия PowerDVD завершать и DVDIdle.

Я тоже склоняюсь уже к этому варианту. Правда в скриптах я не силен, если честно. Буду признателен за любую помощь в деле написания оного. По постам ясно, что ты в этом деле дока!
Автор: megauser123
Дата сообщения: 14.08.2011 23:37
coherent
[more=Вот]
Код: !include ProcFunc.nsh
Function .onInit
${Execute} '"$PROGRAMFILES\DVDIdle Pro\DVDIdlePro.exe"' "$PROGRAMFILES\DVDIdle Pro" $0
ExecWait '"$PROGRAMFILES\CyberLink\PowerDVD9\PowerDVD.exe"'
${TerminateProcess} $0 $1
FunctionEnd
Автор: coherent
Дата сообщения: 15.08.2011 18:39
megauser123
Спасибо за код. К моему великому стыду я nsis до сегодняшнего дня не только в руках не держал, но и в глаза не видел. Но попробую разобраться. В этой связи вопрос, правильно ли я понимаю, что данный код на nsis, с незначительной правкой (PowerDVD9->PowerDVD), надо компильнуть при помощи NSIS (Nullsoft Scriptable Install System) в исполняемый файл, который потом и будет основным исполняемым файлом сборки?
PS. Извиняюсь, что не сразу ответил. Со вчерашнего дня непонятные проблемы с интернетом.

добавлено
Пока что-то не получается, если, конечно, я в правильном направлении действую. Использую NSIS 2.46, даже нашел ProcFunc.nsh. Но при компиляции выдает ошибку "Error: invalid script: never had OutFile command". [more=Вот лог]
Код:
Processing config:
Processing plugin dlls: "C:\Program Files\NSIS\Plugins\*.dll"
- AdvSplash::show
- Banner::destroy
- Banner::getWindow
- Banner::show
- BgImage::AddImage
- BgImage::AddText
- BgImage::Clear
- BgImage::Destroy
- BgImage::Redraw
- BgImage::SetBg
- BgImage::SetReturn
- BgImage::Sound
- Dialer::AttemptConnect
- Dialer::AutodialHangup
- Dialer::AutodialOnline
- Dialer::AutodialUnattended
- Dialer::GetConnectedState
- InstallOptions::dialog
- InstallOptions::initDialog
- InstallOptions::show
- LangDLL::LangDialog
- Math::Script
- NSISdl::download
- NSISdl::download_quiet
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- UserInfo::GetOriginalAccountType
- VPatch::GetFileCRC32
- VPatch::GetFileMD5
- VPatch::vpatchfile
- nsDialogs::Create
- nsDialogs::CreateControl
- nsDialogs::CreateItem
- nsDialogs::CreateTimer
- nsDialogs::GetUserData
- nsDialogs::KillTimer
- nsDialogs::OnBack
- nsDialogs::OnChange
- nsDialogs::OnClick
- nsDialogs::OnNotify
- nsDialogs::SelectFileDialog
- nsDialogs::SelectFolderDialog
- nsDialogs::SetRTL
- nsDialogs::SetUserData
- nsDialogs::Show
- nsExec::Exec
- nsExec::ExecToLog
- nsExec::ExecToStack

!define: "MUI_INSERT_NSISCONF"=""

Changing directory to: "D:\Downloads"

Processing script file: "D:\Downloads\Start.nsi"
!include: "ProcFunc.nsh"
!define: "PROCFUNC_INCLUDED"=""
!include: "C:\Program Files\NSIS\Include\Util.nsh"
!include: closed: "C:\Program Files\NSIS\Include\Util.nsh"
!include: "C:\Program Files\NSIS\Include\LogicLib.nsh"
!include: closed: "C:\Program Files\NSIS\Include\LogicLib.nsh"
!define: "PROCESS_QUERY_INFORMATION"="0x0400"
!define: "PROCESS_TERMINATE"="0x0001"
!define: "PROCESS_VM_READ"="0x0010"
!define: "SYNCHRONIZE"="0x00100000"
!define: "WAIT_TIMEOUT"="0x00000102"
!define: "_PROCFUNC_WSTRING"="&w520"
!define: "ProcessExists"=""" ProcessExists"
!define: "GetProcessPID"="!insertmacro GetProcessPIDCall"
!define: "GetProcessPath"="!insertmacro GetProcessPathCall"
!define: "GetProcessParent"="!insertmacro GetProcessParentCall"
!define: "GetProcessName"="!insertmacro GetProcessNameCall"
!define: "EnumProcessPaths"="!insertmacro EnumProcessPathsCall"
!define: "ProcessWait"="!insertmacro ProcessWaitCall"
!define: "ProcessWait2"="!insertmacro ProcessWait2Call"
!define: "ProcessWaitClose"="!insertmacro ProcessWaitCloseCall"
!define: "CloseProcess"="!insertmacro CloseProcessCall"
!define: "TerminateProcess"="!insertmacro TerminateProcessCall"
!define: "Execute"="!insertmacro ExecuteCall"
!include: closed: "ProcFunc.nsh"
Function: ".onInit"
!insertmacro: ExecuteCall
!insertmacro: end of ExecuteCall
ExecWait: ""$PROGRAMFILES\CyberLink\PowerDVD\PowerDVD.exe"" (->)
!insertmacro: TerminateProcessCall
!insertmacro: end of TerminateProcessCall
FunctionEnd

Processed 1 file, writing output:
Error: invalid script: never had OutFile command
Error - aborting creation process
Автор: coherent
Дата сообщения: 15.08.2011 21:57
megauser123
Спасибо! Все получилось и даже работает!
При завершении выскакивает окно:

Можно ли сделать так, чтобы оно или вообще не появлялось (по-видимому нет), или само автоматически закрывалось без ожидания нажатия кнопки "Close". Извиняюсь за этот уже оффтоп!
Автор: megauser123
Дата сообщения: 16.08.2011 00:29
coherent
Это и правда оффтоп. Проверь пм.
Автор: viktorplusss
Дата сообщения: 22.08.2011 19:29
Хочу сделать мини-сборку программы
Вопрос: как в ThinApp удалить лишнее? В песочнице? В Package.ini? Или и там и там?
Автор: KloneBADGuY
Дата сообщения: 23.08.2011 11:08

Цитата:
как в ThinApp удалить лишнее?

Вопрос сложный. Нужно понимать принцип работы программы:
Что можно удалить, а что нет. Если знаешь, то подчищаешь
файлы в папке установки программы. И потом еще после
сканирования нужно пройтись по папкам типа %ProgramFilesDir%,
почистить реесть в HKEY_CURRENT_USER.txt и т.д..
Автор: KLASS
Дата сообщения: 23.08.2011 15:13
Попробовал пару версий программы VMware ThinApp
Setup Capture версия 4.6.1-369626 - кидает красные шайбы в Администрирование->Просмотр событий->Система
Setup Capture версия 4.0.0-2200 - при удалении файла, находясь в портабельной программе, вылазит сообщение вида:
"Корзина" на диске D:\ повреждена. Выполните бла... бла
Какие версии "лишены" этих недостатков? Кто какими пользуется? Спасибо.
Автор: b4369716
Дата сообщения: 23.08.2011 16:46
KLASS
Судя по описанию проблемы, дело не в версии ThinApp. Попробуйте поставить другого автора сборки.
Автор: viktorplusss
Дата сообщения: 23.08.2011 17:18

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


Цитата:как в ThinApp удалить лишнее?

Вопрос сложный

Я имел ввиду следующее: можно удалить, к примеру, Справку, либо Библиотеку материалов
В Spoon разобрался: в Filesystems просто удаляешь ненужные папки и все (в пределах разумного, конечно). Неужели в ThinApp это не предусмотрено?
Автор: b4369716
Дата сообщения: 23.08.2011 17:29
viktorplusss
Ах вон оно что!

В таком случае ответ прост: можно удалять всё, кроме Package.ini, ##Attributes.ini и папки %SystemSystem%\spool
Всё, включая файлы реестра (если не нужны).

##Attributes.ini можно удалять только вместе с папкой, в которой он сидит.

Внутри Package.ini моэно удалить все ярлыки, кроме нужных.

Вот, собственно, и всё.
Автор: KLASS
Дата сообщения: 23.08.2011 17:48
b4369716

Цитата:
другого автора сборки

Сплошь и рядом сборки, в которых описанные выше проблемы т.е. сборки ThinApp и красные шайбы в логах это уже как закономерность.
Но если взять версию ThinApp 4.0.0-2200 и сделать ту же (не важно какую) программу портабельной, то шайб в логах нет при ее запуске, но есть "Корзина... бла..." при удалении файла из самой программы...
Автор: b4369716
Дата сообщения: 23.08.2011 18:09
KLASS
О каких конкретно шайбах речь. Приведи пример с текстом шайбы и её eventid.

Дело в том, что шайбы могут рисовать сами программы, сидящие в контейнерах и делающие хоккей в Просмотр событий->Система. Точно знаю, что портативный офис 2007 очень любит рисовать кусочки пиццы в Администрирование->Просмотр событий->Приложение. И связано это не с проблемами виртуализатора, а с очень глубокой интеграцией офиса с MSI-инсталлером. Может и в твоем случае что-то подобное?
Автор: KLASS
Дата сообщения: 23.08.2011 19:19

Цитата:
Точно знаю, что портативный офис 2007

Программу специально взял простенькую, практически уже портабельную: AkelPad 4.6.4

Цитата:
Приведи пример с текстом шайбы и её eventid

Да было это уже в теме, но если...
Первая ошибка:
Источник: SideBySide
Код (ID): 59
Описание:
Resolve Partial Assembly завершилась не удачно для Microsoft.Windows.Common-Controls. Соответствующее сообщение об ошибке: Системе не удается найти указанный путь.

Вторая ошибка:
Источник: SideBySide
Код (ID): 59
Описание:
Generate Activation Context завершилась не удачно для C:\Program Files\AkelPad\AkelPad.exe. Соответствующее сообщение об ошибке: Операция успешно завершена.

И так ПЯТЬ пар ошибок на каждый запуск портабельной программы, сделанной в версии Setup Capture 4.6.1-369626

Добавлено:
b4369716
Ты возьми сам просто попробуй...
Автор: aiki
Дата сообщения: 23.08.2011 21:03
SideBySide это да - беда.. от Visual C++ Redistributable лезет и раньше можно было бороться положив в файл в %SystemRoot% comctl32.dll переименованный в Microsoft.Windows.Common-Controls.DLL
А начиная с 4-й версии - непонятно как бороться..
Автор: viktorplusss
Дата сообщения: 23.08.2011 21:46
b4369716
Спасибо за ответ! Буду пробовать...
Автор: megauser123
Дата сообщения: 23.08.2011 22:09
KLASS
Такая проблема у меня проявляется на XP sp3, а на семерке - всё чистенько (на самом деле на семерке всё то же самое, но в eventlog уже не пишет).

Проблема возникает сразу при старте, буквально на пороге, еще до загрузки самой проги.

[more=Вот что мне пишет Log monitor]
Код: 001353 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
001380 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\Microsoft.Windows.Common-Controls\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
001407 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\ru-RU\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
001434 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\ru-RU\Microsoft.Windows.Common-Controls\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
...
001512 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
001539 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\Microsoft.Windows.Common-Controls\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
001566 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\ru-RU\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
001593 0000 07bc chained_common_LoadLibraryEx 'C:\FlyingLogicPro__11\ru-RU\Microsoft.Windows.Common-Controls\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0 (failed ***, gle:0x2)
...
001726 0000 07bc NtCreateFile* pHandle=7d630 Access=A0100000h GENERIC_EXECUTE GENERIC_READ Unknown Access=100000h ObjAttrib=7d63ch (RootDir=0h SD=0h SQoS=0h Attrib=40h Attribs=40h OBJ_CASE_INSENSITIVE Name=7d65ch (Len=234 Buffer=a81a68h [\??\C:\WINDOWS\WinSxS\X86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL])) iosb=7d654h Attribs=80h FILE_ATTRIBUTE_NORMAL Share=1h FILE_SHARE_READ Disposition=1 FILE_OPEN Options=20h FILE_SYNCHRONOUS_IO_NONALERT -> st=0h (OK) h=6ech [new_CreateFile]
...
001747 0000 07bc Module Loaded: Filename=C:\WINDOWS\WinSxS\X86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL Base=01060000-01162fff ImageSize=00103000 MapType=NTSECTION_MAP
...
001782 0000 07bc LoadLibraryA/W USER32.dll (implicitly from C:\WINDOWS\WinSxS\X86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL)
001817 0000 07bc *** Module C:\WINDOWS\WinSxS\X86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL already loaded by system, but loaded second isolated virtual copy
001819 0000 07bc LoadLibraryExA/W 'COMCTL32.DLL' (internal) flags=0 -> 1060000
...
И далее всё ок.
Автор: NickOnToluca
Дата сообщения: 23.08.2011 22:24
Писать на офсайт.
Автор: NickOnToluca
Дата сообщения: 01.09.2011 13:38
В 4.6.2 заметил особенность. Теперь она как-то кропотливо подгружает содержимое AppLink. У меня в папке Plugins кроме самого плгина к программе лежали два текстовых файлика, в которых говорилось не удалять саму папку (инфа для пользователя). До этой версии программы погружали только сам плагин, а о текстовых файлах ничего не говорили. Сейчас кричит, что текстовый файл не есть AppLink и не хочет запускаться.

Добавлено:
Кстати 2007-й офис запускается действительно шустрее после релинка.

Кроме того наконец-то релинк теперь делается с теми же настройками сжатия, что и исходник.
Автор: NickOnToluca
Дата сообщения: 02.09.2011 11:50
Кто-нибудь знает, можно ли заставить релинк поменять некоторые опции исходного пакета?

Хотябы просто добавить оптимизацию для диска, а то старые пакеты при перепаковке разрастаются.

Добавлено:

Нет, говорят:

Цитата:
Relink will only update the runtime, license key and licensed to info.


И скорее всего не планируется.
Автор: claim35
Дата сообщения: 02.09.2011 14:13

Цитата:
Кстати 2007-й офис запускается действительно шустрее после релинка.

В блоге об этом написали:

Цитата:
Up to 30% faster startup times
We made a number of performance enhancements that will benefit most applications. We found that applications like Office 2007 start up to 30% faster using ThinApp 4.6.2 than previously in the most common usage scenario (Windows XP, 2nd+ launch with a warm disk cache).

Но для меня в этой цитате важнее, что в VMware до сих пор считают самым распространённым сценарием 32-битную Windows XP, хотя уже на пороге Windows 8, к сожалению разработчики не хотят себе усложнять жизнь и обратить особое внимание на 64-разрядные системы и на Windows 7, хотя основные проблемы с Thinapp сегодня именно там.
Автор: Artem_Butenko
Дата сообщения: 08.09.2011 02:00
Ребята, очень нужна программа Thinstall Auto Process Killer, пожалуйста, поделитесь.
Автор: Astra55
Дата сообщения: 08.09.2011 04:21
Artem_Butenko
Скачайте Thinstall Manual 1.06 и обрящете искомое. Это что, такая проблема, что нужно привлекать кого-то еще в помощь?
Автор: franchisement
Дата сообщения: 08.09.2011 11:51
При запуске созданного портабла вылазит такая мессага: http://img690.imageshack.us/img690/9300/unled2fz.gif
где рыть?
Автор: opt_step
Дата сообщения: 08.09.2011 12:06
franchisement
на чем и чем собирали и где запускаете на чистой или нет машине и какой сабж виртуализируете?
Автор: ice99
Дата сообщения: 09.09.2011 16:42
А вот подскажите следующую вещь.
Использую VMware_ThinApp_4.6.2.467908_(5101)
Делаю портабельной IrfanView
Папка Capture после захвата имеет размер 10 Мб.
Но, когда делаю билд проекта - результирующий ехе-шник получается 55 Мб.
Причём параметры компрессии не влияют на итог.
Что это может быть?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149

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


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