«Это специально уточнялось в свое время в одном из блогов разработчика Wix»
К сожалению этот разработчик WiX ошибается, отслеживание компонентов всегода выполнялось только по ComponentId, соотвесвенно файлы размещаемые в разных каталогах должны обязательно иметь разный ComponentId.
То же самое касается и значений в реесте.
Но конечно описанные возможности 2010-го шарепоинта намного гибче и шире, видно что в Microsoft постарались.
Вот только вопрос, как обстоит дело с аутентификацией пользователя при первом GET запросе на получение данных с Sharepoint-а, особенно если GET запрос выплняет не IE, а дрйгой браузер или отдельное приложение или скрипт?
Хочу дополнить список ограничений, которые накладывает виртуализация на приложение.
В зависимости от выбранной системы, не виртуализируются или крайне сложно и проблемно виртуализируются следующие типы приложений:
1. Плагины, Add-in-ы и прочите типы исполняемых и dll файлов которые встраиваются в приложение другого производителя, расширяя его функциональность.
2. Приложение взаимодействующее с windows сервисом запущенным под системным аккаунтом, особенно когда параметры настройки сервиса хранятся в реестре или файлах включенных в виртуальный образ приложения.
3. Приложения разных производителей или входящие в разные продукты одного производителя взаимодействующее через DDE, OLE, DCOM, COM (OutprocServer32)
4. Приложения которые в конфигурационных файлах или реестре хранят пути к файлам находящимся в user profile. Проблема заключается в том, что «упаковка» приложения выполняется под одним аккаунтом (admin например) а запуск — по другим. И если система виртуализации не преобразует «на лету» обращения к файлам из одного пользовательского аккаунта (под которым создан образ) в актуальный путь к файлу для текущего пользователя, то приложение работает с ошибкой и зачастую сложно определить причину этой ошибки. Например MS App-V корректно отрабатывает пути записанные в реесте, но оставляет «as is» пути к файлам записанные в cfg, xml, ini файлах… :( что приводит к непонятным (для пользователя) проблемам в работе приложения.
Кстати, для App-V пакетов последнюю проблему может решить тул App-V Generator, у него есть фича сканирования текстовых файлов и реестра, включенных в SFT файл и нахождение «hard-coded» путей к файлам, IP адресов и т.д. Также есть пул скриптов, которые позволяют обновлять актуальные пути на user profile текущего пользователя в конфигурационных файлах при старте виртуального приложения.
Большое спасибо за ссылки, поделюсь с коллегами.
В своей работе мы используем сециализированный сайт www.appdeploy.com Форум, Список иописание тулов, Best Practices (Video), MSI Errors, Статьи, Советы
Там информации по packaging-у побольше чем на oszone.net (все таки сайт специализировааный), но вся информация только на английском.
Поэтому тем у кого трудности с пониманием статей на английском oszone.net является очень полезным ресурсом.
Еще раз спасибо за ссылки!
Я тут посоветовался с коллегами и мы решили написать отдельную статью для начинающих. Во первых чтобы не повторять уже существующий материал в большей статье, а во вторых чтобы изменить и упростить стиль изложения.
Буду вам благодарен если дадите парочку ссылок на аналогичные матриалы на oszone.net
Всегда хочется расширить область знаний по этой теме или узнать что-то новое
Конечно, не всякое приложение можно виртуализировать, а тем более виртуализировать используя стандартный Microsoft App-V Sequencer. Но это тема для отдельной статьи… :)
Если не получается виртуализировать через Microsoft App-V Sequencer, можете попробовать платные тулы:
Flexerra Admin Studio (с модулем виртаулизации)
App-V Generator
Я вначале написал более развернутый вариант, но текста было на 5 страниц… Потом я решил что будет утомительно и скучно для читателей листать «романы» и под нож пошла вся «вода», осталась в основном конкретика и вструпление.
К сожалению этот разработчик WiX ошибается, отслеживание компонентов всегода выполнялось только по ComponentId, соотвесвенно файлы размещаемые в разных каталогах должны обязательно иметь разный ComponentId.
То же самое касается и значений в реесте.
Кстати, получать данные из списков в виде xml было возможно и в Sharepoint 2007 через owssvr.dll vspug.com/dwise/2008/01/10/accessing-sharepoint-list-data-as-xml/
Но конечно описанные возможности 2010-го шарепоинта намного гибче и шире, видно что в Microsoft постарались.
Вот только вопрос, как обстоит дело с аутентификацией пользователя при первом GET запросе на получение данных с Sharepoint-а, особенно если GET запрос выплняет не IE, а дрйгой браузер или отдельное приложение или скрипт?
В зависимости от выбранной системы, не виртуализируются или крайне сложно и проблемно виртуализируются следующие типы приложений:
1. Плагины, Add-in-ы и прочите типы исполняемых и dll файлов которые встраиваются в приложение другого производителя, расширяя его функциональность.
2. Приложение взаимодействующее с windows сервисом запущенным под системным аккаунтом, особенно когда параметры настройки сервиса хранятся в реестре или файлах включенных в виртуальный образ приложения.
3. Приложения разных производителей или входящие в разные продукты одного производителя взаимодействующее через DDE, OLE, DCOM, COM (OutprocServer32)
4. Приложения которые в конфигурационных файлах или реестре хранят пути к файлам находящимся в user profile. Проблема заключается в том, что «упаковка» приложения выполняется под одним аккаунтом (admin например) а запуск — по другим. И если система виртуализации не преобразует «на лету» обращения к файлам из одного пользовательского аккаунта (под которым создан образ) в актуальный путь к файлу для текущего пользователя, то приложение работает с ошибкой и зачастую сложно определить причину этой ошибки. Например MS App-V корректно отрабатывает пути записанные в реесте, но оставляет «as is» пути к файлам записанные в cfg, xml, ini файлах… :( что приводит к непонятным (для пользователя) проблемам в работе приложения.
Кстати, для App-V пакетов последнюю проблему может решить тул App-V Generator, у него есть фича сканирования текстовых файлов и реестра, включенных в SFT файл и нахождение «hard-coded» путей к файлам, IP адресов и т.д. Также есть пул скриптов, которые позволяют обновлять актуальные пути на user profile текущего пользователя в конфигурационных файлах при старте виртуального приложения.
www.virtuall.eu/download-document/application-virtualization-smackdown
e-books.bassq.nl/Microsoft/VRC%20-%20ApplicationVirtualizationSolutionOverviewandFeatureCompareMatrix.pdf
и к перечисленным программам в этом списке
Я хотел бы добавить:
— Symantec EndPoint Virtualization Suite
— InstallFree Bridge
— Endeavors Application Jukebox
— Novell ZenWorks Application Virtualization
Также советую почитать весьма неплохие статьи со сравнительным анализом систем виртуализации
— Virtualfuture's Application Virtualization comparison chart of September 2009
— PQR's Application Virtualization Smackdown 2010
— PQR's Application Virtualization Solutions Overview and Feature Compare Matrix
В своей работе мы используем сециализированный сайт www.appdeploy.com
Форум, Список иописание тулов, Best Practices (Video), MSI Errors, Статьи, Советы
Там информации по packaging-у побольше чем на oszone.net (все таки сайт специализировааный), но вся информация только на английском.
Поэтому тем у кого трудности с пониманием статей на английском oszone.net является очень полезным ресурсом.
Еще раз спасибо за ссылки!
msiexec /I "%~DP0AcroRead.msi" ALLUSERS=1 EULA_ACCEPT=YES DISABLE_BROWSER_INTEGRATION=YES REBOOT=ReallySuppress DISABLE_ARM_SERVICE_INSTALL=1 /qn /L* "%temp%\Adobe_Reader_10_EN_install.log"
Много примеров касающихся этой темы можно посмотреть тут
www.appdeploy.com/packages/index.asp
В частности разные варианты install.cmd для Adobe Reader описаны тут
www.appdeploy.com/packages/detail.asp?id=1976
(для просмотра нужно нажать на Expand all categories)
Всегда хочется расширить область знаний по этой теме или узнать что-то новое
Если не получается виртуализировать через Microsoft App-V Sequencer, можете попробовать платные тулы:
Flexerra Admin Studio (с модулем виртаулизации)
App-V Generator