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

» VMware application virtualization (Thinstall)

Автор: hpoint
Дата сообщения: 01.06.2008 12:04
Angel Hranite
Идей нет. Были бы - ответил бы
Автор: Angel Hranite
Дата сообщения: 01.06.2008 12:11
hpoint
а если написать батник, например, на создание переменной, а потом запуск приложения? Только вот как насчет упаковки? запустится ли?
Автор: hpoint
Дата сообщения: 01.06.2008 15:18
Я в своих проектах иногда использую "батники". Просто компилируешь батник и получаешь exe'шник. А его можно использовать. Если нужен компилятор - скажи.
Автор: Angel Hranite
Дата сообщения: 01.06.2008 16:45
смысл же в одном файле, а с использованием батника получается 2... а что если перед сборкой подсунуть его (компилированный батник) и указать его основным? запустится ли тогда само приложение?
Автор: hpoint
Дата сообщения: 01.06.2008 16:56
Я об этом и говорю. Я вставлял в батник то, что мне надо и собирал проект вставив внутрь этот exe'шник. "Мой" компилятор умеет делать exe'шник без консольного окна, так что выглядит это как нормальный запуск приложения. Проблема возникла только одна. Кагда я собирал так офис, то исчезала возможность открытия файлов перетаскиванием на иконку (как и с внешним запуском батника), поэтому в офисе я от этого отказался.
Автор: Angel Hranite
Дата сообщения: 01.06.2008 22:26
hpoint
а можно посмотреть ваш компелятор? может что-то придумать можно будет.... давайте искать выход из этой проблемы... а вообще мне не нравится идея использования одной переменной для всех приложений (мой вариант), просто это единственное что получилось...

а вообще посмотрите эту страницу, почему в каждой строке используется
Цитата:
.ComputerName
???
Автор: padinker
Дата сообщения: 01.06.2008 23:06
Angel Hranite
почему в каждой строке используется
.ComputerName

вроде логично с точки зрения разработчика: раз можно запускать приложение ABC с сетевого ресурса, дать механизм чтоб песочницы не пересекались:
они и пишут последовательность разрешения имени песочницы - сначала с привязкой к имени компа, потом без него:
SANDBOXPATH\SANDBOXNAME.ComputerName
SANDBOXPATH\SANDBOXNAME

получается, для сборки разных приложений под конкретную контору достаточно задавать одинаковый SANDBOXPATH (предполагаемый сетевой ресурс) и разные SANDBOXNAME (по дефолту - имя приложения). Вроде так имхо
Автор: Angel Hranite
Дата сообщения: 01.06.2008 23:20
padinker

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

SANDBOXPATH может быть равен . (точке), в этомт случае папка должна появиться рядом с приложением...
да и песочница в таком варианте
Цитата:
SANDBOXNAME.ComputerName
должна быть ABC.pc1... ведь раз так пишут значит не зря... сейчас пытаюсь зарегиться на офф сайте...
Автор: hpoint
Дата сообщения: 01.06.2008 23:30
Не знаю, что добавить к тому, что сказал padinker. Вроде производитель четко расписал логику где и что берется или когда и где создается. Сетевой расшаренный ресурс может использовать имя компьютера. Вроде все абсолютно логично.
А компилятор можно взять здесь. Устанавливать не требуется.
У себя я его держу в папке thinstall'а
Автор: Angel Hranite
Дата сообщения: 01.06.2008 23:51
нашел интересную ссылку


Цитата:
jive
Does this work? Except looking for pre-defined variables like THINSTALL_SANDBOX_DIR or such off course.
Or is there any workaround? I want to have a dynamic sandboxpath, and I want to read a username from a env. variable and concatenate it with the existing sandboxpath, which already is set by THINSTALL_SANDBOX_DIR.
Is this possible?
ggeldorp
No, environment variables in Package.ini won't work. Perhaps you could write a small bat script that takes the username and existing sandbox path, concatenate them and use that to set a <sandboxname>_SANDBOX_DIR environment variable, then call the Thinstalled app. <sandboxname>_SANDBOX_DIR will override THINSTALL_SANDBOX_DIR.
jive
Okay. The thing is that our application server runs the thinstalled apps as one single user; "Application". And Thinstallapps cant share the same registry. So, I need to create unique sandboxpaths. So i would like to alter THINSTALL_SANDBOX_DIR on the fly, for every app. It could be say sandboxname concatenated with the exact time. Easiest way to do this would be through a VBS inside the project, but can the thinstall variables be altered from there, or does it have to be done from outside?
ggeldorp
By the time the VBS scripts run, the sandbox has already been established, so unfortunately you can't do it that way.

машинный перевод

Цитата:
jive
Это работает? Кроме поиска предопределенных переменных как THINSTALL_SANDBOX_DIR или такой от курса.
Или есть ли какой-нибудь обход? Я хочу иметь динамический sandboxpath, и я хочу читать имя пользователя от огибающей переменной и связывать это с существующим sandboxpath, который уже установлен THINSTALL_SANDBOX_DIR.
Действительно ли это возможно?
ggeldorp
Нет, переменные окружающей среды в Package.ini не будут работать. Возможно Вы могли написать маленький сценарий командного файла, который берет имя пользователя и существующий путь песочницы, связывать их и использование что установить <sandboxname> _SANDBOX_DIR переменную окружающей среды, затем называть приложение Thinstalled. <sandboxname> _SANDBOX_DIR отменит THINSTALL_SANDBOX_DIR.
jive
Хорошо. Вещь - то, что наш прикладной сервер выполняет thinstalled приложения как один единственный пользователь; "Приложение". И косяк Thinstallapps совместно использует ту же самую регистрацию. Так, я должен создать уникальный sandboxpaths. Таким образом я хотел бы изменить THINSTALL_SANDBOX_DIR на лету, для каждого приложения. Это могли быть, говорят sandboxname, связанные с точным временем. Самый легкий способ сделать это закончил бы VBS в проекте, но thinstall переменные могут быть изменены оттуда, или это должно быть сделано снаружи?
ggeldorp
К тому времени, когда сценарии VBS выполняются, песочница была уже установлена, так к сожалению Вы не можете сделать этого что путь.
Автор: hpoint
Дата сообщения: 01.06.2008 23:56
Я кажется понял Вашу проблему. Обратите внимание, на этой страничке 2 логики:
1. Логика поиска песочницы
2. И логика ее создания
Эти понятия не всегда пересекаются. Где написано, что будет создана автоматом папка blablabla.ComputerName? Программа ищет в песочнице blablabla.ComputerName, но не создает ее.
Автор: Angel Hranite
Дата сообщения: 02.06.2008 00:08
hpoint

Цитата:
Где написано, что будет создана автоматом папка blablabla.ComputerName? Программа ищет в песочнице blablabla.ComputerName, но не создает ее.

вопрос в другом! как программа определит значение ComputerName???

Добавлено:
вот еще ссылочки https://thinstall.com/thintalk/viewtopic.php?t=195&highlight=variables и https://thinstall.com/thintalk/viewtopic.php?t=547

Должен же быть какойто выход!!!
Автор: hpoint
Дата сообщения: 02.06.2008 00:36

Цитата:
вопрос в другом! как программа определит значение ComputerName???

Это вроде очевидно. В системе есть %COMPUTERNAME% переменная. Запуск программы инициируется с некого компа и выполняется на этом же компе, это же не клиент-серверное приложение! Почему же приложение не может знать имя своего компа? Оно знает. Приложение стартует, получает имя своего компа и начинает путь поиска своей песочницы с
Цитата:
1. %SANDBOXNAME_SANDBOX_DIR%.ComputerName
по 10 пункты. Находит - использует, не находит - создает с
Цитата:
1. If SANDBOXNAME_SANDBOX_DIR environment variable is set, try to create a sandbox at this location
по 4 пункты.
Автор: Angel Hranite
Дата сообщения: 02.06.2008 00:43
вариант с
Цитата:
<sandboxname> _SANDBOX_DIR
работает!!!!! теперь можно создавать переменные типа ABC_SANDBOX_DIR!!!

PS: поправлено в посте выше (про создание переменной автоматом при загрузке проги)
Автор: hpoint
Дата сообщения: 02.06.2008 00:46

Цитата:
Должен же быть какойто выход!!!
Запускайте батник снаружи и устанавливайте нужные Вам переменные. Компилятором сделайте батник бесконсольным exe'шником.
Я, например, использовал для себя типа такой скомпилированный бесконсольный батник:

Цитата:
@echo off
if exist "ФАЙЛ_С_ПУТЕМ_К_ПЕСОЧНИЦЕ.txt" (
set /p THINSTALL_SANDBOX_DIR=<"ФАЙЛ_С_ПУТЕМ_К_ПЕСОЧНИЦЕ.txt"
)
if exist "%USERPROFILE%\ФАЙЛ_С_ПУТЕМ_К ПЕСОЧНИЦЕ.txt" (
set /p THINSTALL_SANDBOX_DIR=<"%USERPROFILE%\ФАЙЛ_С_ПУТЕМ_К_ПЕСОЧНИЦЕ.txt"
)
ЕСЛИ_НАДО_-_ТО_НЕКИЙ_ПУТЬ\THINSTALLED_ПРИЛОЖЕНИЕ.EXE
exit

Настроил песочницу для любого приложения куда надо и как надо
Здесь можно и хвосты зависшие поубивать.
Автор: Angel Hranite
Дата сообщения: 02.06.2008 15:12
hpoint
спасибо, буду пробовать... править ручками не очень хочется постоянно батник, поэтому буду делать чтобы все работало автоматом
Автор: NickOnToluca
Дата сообщения: 02.06.2008 17:58

Цитата:
NickOnToluca
Если Вы внимательно прочитаете ветку, то найдете, что


Не могу ОЧЕНЬ внимательно читать. Сижу в нэт-клубе. Поэтому прошу - ткните точнее.

А не стоит ли сделать архив форума в CHM. Тогда бы все перечитал.

А пока накопились проблемы.

AutoShutdownServices тупо не работает. Версия у меня Northstar Beta 2 (3.386) с лицензией Crazy.

Насчет Лингвы - извините, что задел за живое
Могу только поделиться советом по уменьшению ее размера. Может, уже известно, но... и в мною упакованной 9-й и в 12-й ("неподдающейся") имеется возможность поиска во всех языках, так вот она отнимает 200 метров (100 в тинстале) для 9-й и в несколько раз больше для 12-й. Избавиться от этого груза можно, удалив папку Index. В 9-й это можно делать только после установки, т.е. сам инстальник уменьшить не удастся, а в 12-й можно и из инстальника (будет долго и нудно создаваться при установке).

А теперь подскажите как укротить еще одного зверя. Audition 3.0 мне удалось уложить в 100 метров (10 из них - любимые плагины). Так вот один из этих гаденышей (плагинов) привязывает серийник к звуковухе (к ее айдишнику), причем кейген потом не помогает. Ладно, плагины можно подкинуть и после тиньстала, но регить каждый раз - не прикольно. Эще больше эта же (эта Ж) становится, когда упаковываешь Soundforge.

Можно ли эмулировать айдишник других устройств, кроме логических и сетевых дисков?

И второ. Захотелось носьть с собой любимые игрушки, да еще и в малом размере. Все нормально, кроме тех, которые распаковывают свои временные файлы (ресурсы). Есть ли варианты, как это победить.

И с теми же игрушками, только поинтересней. Игра Cave Days состоит в основном из экзэшника весом 20 М, но охотно упаковывается в 10 М, но после запуска в папке Thinstall появляется тот самый 20-ти метровый, что сводит все усилия на нет. Можно ли заставить его не распаковываться?

Извините за петицию. Выручите, пожалуйста.
Автор: hpoint
Дата сообщения: 02.06.2008 18:51

Цитата:
Не могу ОЧЕНЬ внимательно читать. Сижу в нэт-клубе. Поэтому прошу - ткните точнее.

А не стоит ли сделать архив форума в CHM. Тогда бы все перечитал.
Нажимаете Версия для печати и сохраняете в то, что Вам удобно. А потом читаете в оффлайне.
Вся процедура - 2 минуты.


Добавлено:
Или вот Вам в chm
Автор: NickOnToluca
Дата сообщения: 02.06.2008 21:59
Спасибо. Серьезно.
Автор: Angel Hranite
Дата сообщения: 02.06.2008 23:43
hpoint
что-то не получилось скомпелировать батник... Создал bat-файл (если запускать отдельно, то работает), собрал свое приложение... Запускаю компелятор, указываю bat-файл и exe'шник, нажимаю F9. В результате появляется один файл, но при запуске виснет, скорей всего, батник, т.е. приложение не запускается

Добавлено:
код батника

Код: @echo off
setlocal
set prog=EVEREST
set SANDBOX_DIR=%prog%_SANDBOX_DIR
reg query "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v %SANDBOX_DIR% 1>nul 2>&1
if "%errorlevel%"=="0" goto cont
call :create_vars %prog%.exe
reg add "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v %SANDBOX_DIR% /d "%record%" /f 1>nul 2>&1
:cont
md "%folder%" 2>nul
%prog%.exe
goto :EOF

:create_vars
set "record=%~dp1%~n1.%computername%"
set "folder=%~n1.%computername%"
Автор: hpoint
Дата сообщения: 03.06.2008 01:15
Не знаю, что у Вас не работает.
Посмотрите этот архив. Я только в Вашем батнике (у меня он называется "Start Portable Microsoft Office Excel Viewer 2003.bat") взял thinstalled exe'шник в кавычки ("%prog%.exe"), так как мой уже известный Вам пример "Portable Microsoft Office Excel Viewer 2003.exe" пишется с пробелами. Вставил в батник иконку и откомпилировал его как Ghost Application (см. Options). Все работает. Можете сами убедиться.
Запускать надо "Start Portable Microsoft Office Excel Viewer 2003.exe"
Ничего не зависает. Все работает!

Добавлено:

Цитата:
Запускаю компелятор, указываю bat-файл и exe'шник, нажимаю F9

Что значит "и exe'шник"? вы его что, Embedded'е? Не надо этого делать. Только иконку вставьте для красоты exe'шника.

Ради интереса, переименуйте Ваш "Everest.exe" в "Portable Microsoft Office Excel Viewer 2003.exe" и попробуйте запустить "Start Portable Microsoft Office Excel Viewer 2003.exe", работает или нет?
Автор: odin068
Дата сообщения: 03.06.2008 01:23
Подскажите пожалуйста можно ли сделать такое.
Допустим в виртуальной ФС программа установлена в %ProgramFilesDir%\Program
А в реальной сиситеме портабл лежить в какой то папке d:\program
Как сделать чтоб все файлы создаваемые в %ProgramFilesDir%\Program создавались не в сендбоксе а непосредственно в d:\program (причем без жесткой привязки, чтоб если в другую папку перенести портабл чтоб в ней создавалось также)
Автор: hpoint
Дата сообщения: 03.06.2008 01:40
odin068
Может Вам SFX архив нужен? То что Вы хотите не относится к thinstalled приложениям. Саму программу и не паковать. Тогда что паковать?
А вообще-то, я думаю, что Вам вот это надо. Я, правда, с этим не разбирался. Пока и thinstalled приложений хватает под мои потребности.
Автор: CrazyDeath
Дата сообщения: 03.06.2008 03:29
to hpoint

Цитата:
Есть только THINSTALL_SANDBOX_DIR - спец.переменная окружения пути песочницы

тоже не правда
есть еще %ls_SANDBOX_DIR где %ls SandboxName тоесть если


Код: [BuildOptions]
SandboxName=Notepad
Автор: hpoint
Дата сообщения: 03.06.2008 09:41
CrazyDeath

Цитата:
то переменая будет Notepad_SANDBOX_DIR, и приоритет у нее выше чем у THINSTALL_SANDBOX_DIR.
Мы это уже обсудили. Ты видимо немного не дочитал наш диалог с Ангелом. На страничке Sandbox Overview расписана логика песочницы. Хотя , видимо помимо официальных, есть еще недокументированные возможности


Добавлено:

Цитата:
Заметил еще один прикол, который меня поставил в полный ступор,
песочница создается до загрузки плагинов, тоесть скриптов.
А вот это - одна из причин "мучений" Ангела
Автор: Angel Hranite
Дата сообщения: 03.06.2008 13:34
CrazyDeath, я написал скрипт на VBS, но сталкнулся с такой же проблемой, указывая функцию выполнения скрипта перед загрузкой програмы. выше писал цитату и машинный перевод с оф сайта... после этого начал разбираться с батниками..

hpoint, согласен по поводу ковычек! если имя с пробелами, то надо экранировать, не учел, спасибо...

пример ваш посмотрю
Автор: Angel Hranite
Дата сообщения: 03.06.2008 22:39
hpoint

Цитата:
Вставил в батник иконку и откомпилировал его как Ghost Application (см. Options).

сделал, все работает... но это не то!!! нужен один файл! с двумя не удобно работать...


Цитата:
А вообще-то, я думаю, что Вам вот это надо. Я, правда, с этим не разбирался.

что это?

Добавлено:
Делаю корел драв х4, а там лицензия в виде ключа... после переноса на другой комп лицензия слетает... как с этим бороться?
Автор: CrazyDeath
Дата сообщения: 04.06.2008 01:40

Цитата:
нужен один файл!

Лоадер писать надо... опять патчить boot_loader_exe.exe
Автор: hpoint
Дата сообщения: 04.06.2008 02:57

Цитата:

Цитата: Цитата:А вообще-то, я думаю, что Вам вот это надо. Я, правда, с этим не разбирался.


что это?
Автор: dj_Diesel
Дата сообщения: 04.06.2008 06:49
Angel Hranite
разобрать англ портабле и посмотреть как он работает

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

Предыдущая тема: Программа для поднятия трубки модемом


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