Peter Bjork опубликовал долгожданное многими руководство по упаковке IE6 в ThinApp пакет для Windows 7.
Этот пакет использует Mozilla Firefox и адд-он "IE Tab", в такой конфигурации вы можете указать какие страницы нужно отображать с помощью IE6.
Требования
• ВМ с чистой Windows 2000 без сервис-паков (Internet Explorer версии 5.00.2920.0000)
• ВМ с чистой Windows XP и доступом в Internet
• ThinApp 4.0.4
• Некоторый опыт и понимание как виртуализовать софт с помощью ThinApp (см. "How to Make a ThinApp Application")
• Установочный пакет Internet Explorer 6 SP1
◦ Загрузите ie6setup.exe отсюда: http://www.microsoft.com/downloads/details.aspx?FamilyID=1e1550cb-5e5d-48f5-b02b-20b602228de6&DisplayLang=en
◦ Запустите ie6setup.exe /c:"ie6wzd.exe /d /s:""#E" для загрузки полного установочного пакета IE6
Как создать пакет с Mozilla Firefox, IETabs и IE6.
1. Упаковка Internet Explorer 6
1.1 Запустите ВМ с W2K
1.2 Сделайте снапшот чистой ВМ перед тем как продолжить
1.3 Скопируйте загруженный установочный пакет IE6 на ВМ
1.4 Установите ThinApp 4.0.4
1.5 Запустите "Setup Capture" и сделайте снапшот перед установкой
1.6 Запустите ie6setup.exe
1.7 Перезагрузите ВМ при необходимости
1.8 Сделайте снапшот после установки
1.9 Активируйте Entry Points для Internet Explorer.exe, inetcpl.exe и cmd.exe. Назовите Primary Datacontainer и inventory name как-нибудь осмысленно, как например:
На самом деле вам не требуется использовать отдельный контейнер для Read Only данных, но если вы не настолько опытны в ThinApp, то настоятельно рекомендую сделать именно так.
1.10 Установите режим "Modified WriteCopy"
1.11 Остальные настройки в мастере Setup Capture можно оставить по умолчанию
1.12 Скопируйте директорию "C:\Program Files\VMware\VMware ThinApp" из ВМ с Windows 2000 и откатитесь обратно на снапшот. Копируйте директорию ThinApp целиком, в дальнейшем это упростит нам жизнь.
1.13 Проверьте, что пакет с IE6 запускается на Windows 2000 при установленном IE5.
1.14 Теперь ВМ с Windows 2000 можно выключить, она больше нам не понадобится
2. Включение Mozilla Firefox и IETabs в пакет с IE6
2.1 Запустите ВМ с Windows XP
2.2 Сделайте снапшот ВМ в "чистом" состоянии
2.3 Скопируйте директорию "VMware ThinApp" в корень диска C. В итоге в Windows XP должно получиться вот так:
2.4 Замените ваши текущие ключи рееста этими двумя:
HKEY_CURRENT_USER (удалите "-1" из имени)
HKEY_LOCAL_MACHINE
2.5 Перестройте проект, запустив "C:\VMware ThinApp\Captures\MozillaFirefox_IE6\build.bat".
2.6 Запустите Internet Explorer Entry Point (C:\VMware ThinApp\Captures\MozillaFirefox_IE6\bin\Internet Explorer.exe), откройте в нем http://www.mozilla.com и загрузите установочный пакет Mozilla Firefox. Обязательно выберите Open and Run, чтобы запустить установку в виртуальном окружении IE6.
2.7 При установке Firefox я использовал все настройки по умолчанию.
2.8 Запустите Firefox и установите IE Tab. Перезапустите Firefox после установки.
2.9 В Firefox откройте Tools – IE Tabs Options
2.10 Добавьте http://bcheck.scanit.be/bcheck/ в Site Filter
Обязательно добавьте сюда все URL, которые вам будет необходимо отображать при помощие IE6.
2.11 Откройте http://bcheck.scanit.be/bcheck/, чтобы убедиться в правильности настройки - этот адрес должен обрабатываться IE6.
2.12 Закройте Mozilla Firefox и Internet Explorer .
2.13 Запустите cmd.exe вне виртуальной среды
2.14 В директории "C:\VMware ThinApp\Captures\MozillaFirefox_IE6" выполните "\VMware ThinApp\sbmerge.exe" apply.
2.15 Откройте "C:\VMware ThinApp\Captures\MozillaFirefox_IE6\Package.ini" и добавьте следующий текст в конец файла:
[Mozilla Firefox.exe]
Source=%ProgramFilesDir%\Mozilla Firefox\firefox.exe
Shortcut=MozillaFirefox_IE6.dat
WorkingDirectory=%ProgramFilesDir%\Mozilla Firefox
;Protocols=FirefoxURL;HTTP;HTTPS
;FileTypes=.htm.html
Shortcuts=%Programs%
Protocols и FileTypes отключены в данном примере, но вы легко сможете проассоциировать соответсвующие протоколы и расширения, просто удалив точку с запятой в начале строки.
Сохраните и закройте package.ini.
2.16 Перестройте проект, запустив "C:\VMware ThinApp\Captures\MozillaFirefox_IE6\build.bat".
После перестроения директория bin должна выглядеть вот так:
3. Тестовый запуск на Windows 7
Теперь самой время скопировать директорию bin на машину с Windows 7 и запустить Mozilla Firefox.exe Entry Point. Для проверки перейдите по ссылке http://bcheck.scanit.be/bcheck/.
Установленный пакет и IE8 должны работать одновременно без проблем.
4.Эпилог
Теперь, когда вы убедились, что упакованный в ThinApp пакет IE6 работает под Windows 7, настало время почистить проект. В этом руководстве я не упоминал файлы, который можно удалить для экономии места и превратить этот пакет в настоящий цельный ThinApp пакет.
В директории проекта можно удалить те файлы, которые не нужны для запуска проекта в вашем окружении.
Очевидные директории, подлежащие удалению:
%Favorites%
%History%
%Internet Cache%
%Profile%
%SendTo%
%drive_C%
%Cookies%
В этом проекте получилась пара Entry Point и отдельный Data Container, однаком в зависимости от настроек проект можно скомпилировать в единый исполняемый файл. Inetcpl.exe был включен в проект для возможности изменения настроек вашего IE6.
пятница, 15 января 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)
А где здесь поставить "Мне нравится"? :-)
ОтветитьУдалитьАнтон, а зачем нужен IE6?
ОтветитьУдалитьВ некоторых, обычно крупных и очень компаниях есть определенные приложения, которые отказываются работать в IE7 / IE8. И в силу этого компания будет иметь определенные трудности при миграции на Windows 7. Остается либо разворачивать Citrix фермы с доставкой IE6 в терминал, либо использовать IE6 из XP Mode (что не доступно, если нет поддержки аппаратной виртуализации), либо как-то ставить XP в VirtualBox / VMware Workstation, либо вовсе отказываться от Windows 7.
ОтветитьУдалитьЯ знаю как минимум об одной такой крупной компании, и было в конечном итоге решено не пытаться делать трехэтажные конструкции, а ждать пока кто-нибудь не найдет способ упаковать IE6 в ThinApp. От IE6 отказаться не получается.
Если не секрет, что это за приложение?
ОтветитьУдалитьНасколько мне известно, все нормальные приложения (SAP, Siebel, WebSphere ну и sharepoint естественно :)) отлично себе работают c IE7/8
Скорее всего это что-то самописное, внутри компании, или что более вероятно криворуким партнером. Мое мнение - намного правильнее пнуть разработчика чем такое кривое решение.
Я не против того что такие умения ThinApp - это круто, но это из той же серии что поддержка NT4 и DOS - есть функция, ее абсолютно никто не поддерживает, используйте на свой страх и риск.
Вот одно из таких приложений, если раньше ЦРУ раздавало его всем бесплатно, то сейчас оно стоит очень много денег, хотя и старая версия отлично работает но только с ИЕ6.
Удалитьhttp://www.rustv.ru/
Да, забыл добавить, в большинстве случаев, с которыми сталкивался я помогала простая замена useragent, которую можно легко распространять политиками :)
ОтветитьУдалитьДенис, я не имею в данном случае никакого отношения к приложению, со мной консультировались на тему упаковки IE6 в ThinApp пару месяцев назад. На 100% уверен, что это будет чрезвычайно востребовано, например, в США и Европе.
ОтветитьУдалитьОтвет на то, что лучше - самоочевиден. Но не всегда то, что лучше вообще возможно. Приходится искать workaround'ы, оглядываясь на требования для поддержки.
Занимательная статья... Только не понял зачем нужен firefox.
ОтветитьУдалитьДенис, Firefox нужен только для того чтобы _НЕ_ запускать IE6, просто потому что просто iexplore.exe не запустится (или запустится, но не будет работать), С таким же,а может даже лучшим успехом можно написать программку, которая использует activeX от IE (простой пример из трех строчек кода - http://www.alexschultz.co.uk/weblog/2006/05/web_browser_wid.html) или использовать поделки типа maxton.
ОтветитьУдалитьпо идее, этот способ подходит и для XenApp и для Altiris и для App-V. Но проверять даже не хочется :)
У меня зафинапленный IE6 нормально запускается на xp/2003/vista/2008 - правда пришлось долго шаманить с ключами реестра. На семерке не пробовал...
ОтветитьУдалитьКто-нибудь может выложить уже собранный вариант?
ОтветитьУдалитьСтрого говоря, это чревато нарушением лицензионных соглашений, так что вряд ли.
ОтветитьУдалитьДоброго времени суток!
ОтветитьУдалитьСкажите пожалуйста, где я могу достать чистый дистрибутив Windows 2000 без сервис-паков ?