Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » VMware ThinApp | Thinstall (Часть 4)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

Открыть новую тему     Написать ответ в эту тему

Geroy4ek

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части темы: 1, 2, 3
Смежный топик в Варезнике
 
VMware ThinApp 2312 Build 23148499 Release Date    2024-01-23  
 
Официальный сайт | Описание | Download | Список изменений | ThinApp Docs
 
ThinApp (ex Thinstall) используется для виртуализации приложений, позволяет заключить приложения в виртуальный контейнер и использовать их как готовые пакеты, не требующие установки. Внутри контейнера создается виртуальная среда для реестра и файлов.  
Поддерживаемые ОС:    
x32: Windоws 2000/XP/XPE/Server 2003/2008/2012/2012 R2/Vista/7/8/8.1/10  
x64: Windоws  Server 2003/2008/2008R2/Vista/7/8/8.1/10

Полезные утилиты
 
FAQ, статьи, обзоры
 
Полезные ресурсы

Если при запуске готового приложения выскакивает окошко в трее, читайте шапку топика в Варезнике.
 
VMware ThinApp - обсуждение перевода
 
Русский перевод мануала по VMware ThinApp версии 5.1.0 + перевод справочника по параметрам Package.ini от pavlaf
 
Ближайший аналог: Turbo Studio (бывшая Spoon Studio, Xenocode Virtual Appliance Studio)

Всего записей: 1 | Зарегистр. 24-04-2015 | Отправлено: 17:26 24-04-2015 | Исправлено: Luber, 10:56 24-01-2024
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
SetfilesystemIsolation вроде бы вместе пишется. По крайней мере у Бёрка так.
 
Добавлено:
Опс! Не увидел, что MobyArt уже ответил. Значит точно одно слово!

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 14:28 04-01-2021 | Исправлено: coherent, 14:29 04-01-2021
AVanti473



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

Цитата:
SetfileSystemIsolation одним словом

 
Тоже не работает. Пишет ошибку - Недопустимый вызов или аргумент процедуры. Тем не менее, как-то же это всё должно работать, раз есть в мануале...

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 14:48 04-01-2021 | Исправлено: AVanti473, 14:49 04-01-2021
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Попробуйте

Код:
SetfilesystemIsolation "GetEnvironmentVariable("Personal")", 1

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 14:55 04-01-2021 | Исправлено: coherent, 14:55 04-01-2021
AVanti473



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

Цитата:
Попробуйте  
 

 
Увы: Предполагается наличие окончания инструкции
Line 1, Character 48
at: SetfilesystemIsolation "GetEnvironmentVariable("Personal")", 1
 


Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 14:58 04-01-2021
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
А если взять в скобки:

Код:
SetfilesystemIsolation ("GetEnvironmentVariable("Personal")", 1)

Красные кавычки может и не нужны.

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 15:03 04-01-2021
AVanti473



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

Цитата:
А если взять в скобки:

Пишет о недопустимом использовании скобок
 

Цитата:
Красные кавычки может и не нужны.
 

Может, но тоже ошибка компиляции с недопустимой процедурой...

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 15:08 04-01-2021
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Может должно быть %Personal%?

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 15:10 04-01-2021
AVanti473



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

Цитата:
Может должно быть %Personal%?

 
Логично, но увы: Предполагается наличие окончания инструкции
Line 1, Character 24
at: Setfile systemIsolation GetEnvironmentVariable("%Personal%"), 1
 
 
Добавлено:

Цитата:
Setfile systemIsolation

И слитно и раздельно, и с кавычками и со скобками и в разных вариантах - ошибка.

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 15:12 04-01-2021
MobyArt

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
SetfilesystemIsolation ExpandPath("%Personal%"), 1
 
Personal - это не переменная окружения, а внутренний макрос.

Всего записей: 190 | Зарегистр. 07-04-2007 | Отправлено: 15:16 04-01-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MobyArt
 
Да, ошибку не выдаёт, в песочнице появилась Personal, но по прежнему дырявая... Получается режим изоляции не сменился.

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 15:24 04-01-2021
MobyArt

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Ну да. У меня тоже не выходило. Надеялся, что исправили.

Всего записей: 190 | Зарегистр. 07-04-2007 | Отправлено: 15:26 04-01-2021
AVanti473



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

Цитата:
Personal - это не переменная окружения, а внутренний макрос.

 
Согласен. При попытке поместить туда любую переменную среды виндовс, например APPDATA или USERPROFILE, скрипт срабатывает без ошибок. Только вот как добраться до папки %USERPROFILE%\Documents ? Просто так путь он не принимает, как-то надо его добавлять или формировать для команды SetfilesystemIsolation в формате vbs...
 

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 16:35 04-01-2021
MobyArt

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Так %Personal%  это и есть %USERPROFILE%\Documents (C:\Users\User\Documents).
Или ExpandPath("%Profile%\Documents").
Или GetEnvironmentVariable("USERPROFILE") + "\Documents".

Всего записей: 190 | Зарегистр. 07-04-2007 | Отправлено: 16:53 04-01-2021 | Исправлено: MobyArt, 16:55 04-01-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MobyArt
Полностью согласен.
 

Цитата:
Или GetEnvironmentVariable("USERPROFILE") + "\Documents".

Да, это то, что мне казалось необходимым, но тоже не работает... Вернее работает без ошибок, но не выполняет смену изоляции папки...
 
 
Добавлено:
Ладно, запишем в загадки. Всем большое спасибо за помощь.

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 17:59 04-01-2021
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
назначьте переменную. ей присвойте результат
Код:
 GetEnvironmentVariable("USERPROFILE") + "\Documents"
или как там оно путь разворачивает.
заодно можно через msqbox увидеть глазами - какой путь выдало.
а уже эту переменную скармливайте
Код:
SetfilesystemIsolation  

так должно работать, классика программирования (в любой среде) - избегать прямого использования результатов работы одной функции как параметра для другой.

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 21:21 04-01-2021
AVanti473



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

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

 
Действительно хорошая идея. Завтра обязательно попробую. Так-как у меня скромные знания в написании скриптов (вроде как переменные нужно объявлять и только после этого присваивать значения), и если Вас не затруднит, не могли бы Вы написать как это должно выглядеть? Мне кажется как-то так?
 

Код:
Function OnFirstParentStart
Dim FolderName
Set FolderName = GetEnvironmentVariable("USERPROFILE") + "\Documents"
MsgBox FolderName
SetfilesystemIsolation FolderName, 1
End Function

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 00:17 05-01-2021 | Исправлено: AVanti473, 00:40 05-01-2021
Proshaa

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
по-идее - да, так и должен выглядеть скрипт
Цитата:
переменные нужно объявлять и только после этого присваивать значения
некоторые языки позволяют совместить эти два шага, однако идеологически верна и более всеядна именно такая связка: объявили, присвоили.  
в некоторых случаях надо указывать тип переменной, но насколько помню (давно не брал в руки шашки) - здесь этого не требуется. если вылетит ошибка с указанием на строку объявления переменной - значит всё-таки надо указать тип. думаю, подойдёт txt
как я уже писал - можно сразу посмотреть результат:

Код:
Function OnFirstParentStart
Dim FolderName
'думаю, эта строка должна выглядеть так:
Set FolderName = ExpandPath("%Personal%")
'Посмотреть путь
MsgBox FolderName  
SetfilesystemIsolation FolderName, 1
End Function  

 
c изоляцией не всё так гладко: вроде бы её можно только повышать
 
 
 

Всего записей: 3079 | Зарегистр. 10-01-2011 | Отправлено: 02:04 05-01-2021
AVanti473



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Proshaa
 
Добрый день. Интересная странная деталь, ошибка: требуется объект: '[string: "C:\Users\<user_name>\"]'
File: (null)
Line 2, Character 0
at:  
 
Причём, и с:
Set FolderName = GetEnvironmentVariable("USERPROFILE")
и, так же, с:
Set FolderName = ExpandPath("%Personal%")
 
Похоже ошибка на стадии определения и присвоения пути, что, в свою очередь, объясняет безрезультатность инструкции SetfilesystemIsolation в предыдущих вариантах скрипта... Любопытно почему так происходит...
 
Добавлено:
Помнится для доступа к файловой системе надо было объявлять что-то вроде:
 

Код:
Dim FSO: Set FSO = CreateObject("Scripting.filesystemObject")

 
Только вот не помню уже зачем это надо было, и как должно было работать...
 
Добавлено:
Нашёл в старых конспектах пример: fso.DeleteFile(FileName) - Объект.Метод(переменная)
Собственно, это получается, просто для действия с объектами, а в моём случае проблемы на стадии присвоения значения переменной. Сейчас пробовал присвоить просто путь в системе, без переменных - тоже такая же ошибка...
 
Добавлено:
Есть ещё момент: Сижу вот и думаю - как-так нельзя присвоить путь переменной!? Ведь в других похожих скриптах всё прекрасно присваивается... Наверное потому, что я опять ищу выход через одно место. Ясно, что в самой сборке скрипт мог бы сработать, но для этого проще объявить в проекте изоляцию самой папки, чем пихать туда сомнительный скрипт. Задача иная - запустить сторонний скрипт без пересборки портабельной программы. И вроде бы это возможно.
Берётся из распакованной версии scripting.dll и помещается в системную папку "C:\Program Files (x86)\ThinstallPlugins". Решение конечно не моё, бессовестно подглядел. Но с этого момента любая запущенная сборка ThinApp стартует с выполнения подкинутого в эту папку, любого vbs скрипта. Да что там сборка - любой вновь запускающийся процесс из любой портабельной  сборки ThinApp. Вот и возникло резонное предположение, что выполняемый vbs-ник будет напрямую влиять на происходящее внутри запускаемой сборки, или для чего тогда ещё разработчики придумывали все эти SetfilesystemIsolation, которые прекрасно настраиваются в проектах без танцев с бубном, и по логике вещей должны воздействовать на готовую сборку извне...

Всего записей: 1179 | Зарегистр. 05-04-2011 | Отправлено: 12:28 05-01-2021 | Исправлено: AVanti473, 12:51 05-01-2021
MobyArt

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Set - это для объектов. Для переменных Dim, или просто FolderName = ...
 
Добавлено:
А, нет. Dim это объявление переменной, тогда просто FolderName = ...

Всего записей: 190 | Зарегистр. 07-04-2007 | Отправлено: 13:07 05-01-2021
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVanti473
Вот рабочий кусок кода, который давно и без нареканий работает:

Код:
Function OnFirstParentStart  
   FolderName = ExpandPath("%Personal%")  
   MsgBox FolderName  
End Function

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 13:15 05-01-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

Компьютерный форум Ru.Board » Компьютеры » Программы » VMware ThinApp | Thinstall (Часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru