You are looking at the HTML representation of the XML format.
HTML is good for debugging, but probably is not suitable for your application.
See complete documentation, or API help for more information.
<?xml version="1.0"?>
<api>
  <query-continue>
    <allpages gapfrom="Setup" />
  </query-continue>
  <query>
    <pages>
      <page pageid="60" ns="0" title="Run versions parallel">
        <revisions>
          <rev xml:space="preserve">{{DISPLAYTITLE:Установка {{Office}} разных версий в одну систему}}

(основано на статье [http://wiki.services.openoffice.org/wiki/Run_OOo_versions_parallel Run_OOo_versions_parallel])

==Вступление==
Для улучшения {{Office}} не обязательно быть программистом, вы можете помогать исправлять ошибки просто установив DEV сборку и используя её как вы обычно это делаете, и докладывать об обнаруженных ошибках.

Обычно, каждая версия устанавливается в свою папку (к примеру, /opt на Linux, Program Files на Windows), например, '''стабильная''' сборка OpenOffice.org 3.2.1/Go-OO 3.2.1 ставится в папку &lt;code&gt;/opt/openoffice.org3&lt;/code&gt; на *nix системах, и  &lt;code&gt;C:\Program Files\OpenOffice.org 3\&lt;/code&gt; на Windows, А '''DEV сборка''' установится в &lt;code&gt;/opt/ooo-dev3/&lt;/code&gt; (*nix) и &lt;code&gt;C:\Program Files\OOo-dev 3\&lt;/code&gt; (Windows). LibreOffice устанавливается в папку &lt;code&gt;/opt/libreoffice3&lt;/code&gt; (*nix) и &lt;code&gt;C:\Program Files\LibreOffice 3\&lt;/code&gt; (Windows).
{{Note|На Windows x86-64 папка &lt;code&gt;Program Files (x86)&lt;/code&gt;}}

В связи с этим, если вы хотите установить несколько DEV сборок или хотите сохранить в системе старые стабильные сборки, обычный способ установки не позволит сделать этого, т.к. одна версия перезапишет другую.

Тут мы объясним, каким способом можно установить параллельно несколько разных сборок.

==Linux==

В этой части мы покажем, как &quot;установить&quot; любую версию {{Office}}, распространяемую в пакетах RPM или DEB. На самом деле, мы не будем ничего ''устанавливать'', а просто ''распакуем'' пакеты.

{{Note|Заметьте, что с этим методом не имеет значения, распаковывали вы RPM или DEB, и не имеет значения, какой формат пакетов использует ваш дистрибутив Linux (т.е., вы можете распаковать RPM пакеты на Debian, или DEB пакеты на Gentoo).}}

=== Установка {{Office}} 3.* (трёхслойный {{Office}}) ===


Начиная с DEV300m4, в {{Office}} есть три слоя (см. [[ODF_Toolkit/Efforts/Three-Layer_OOo | Three-Layer OOo]]). Это значит, что если мы распакуем пакеты RPM/DEB, у нас будет 2 директории:

# &lt;code&gt;opt/openoffice.org&lt;/code&gt; (содержит '''нижний''' и '''средний''' слои: &lt;code&gt;ure&lt;/code&gt; and &lt;code&gt;basis&lt;/code&gt;)
# &lt;code&gt;opt/openoffice.org3&lt;/code&gt; (содержит '''верхний''' слой)

где возможно вам нужно заменить &lt;code&gt;openoffice.org&lt;/code&gt; на другое имя продукта типа &lt;code&gt;ooo-dev&lt;/code&gt;, &lt;code&gt;libreoffice3&lt;/code&gt;.

Т.к. мы хотим установить {{Office}} в '''''самодостаточную папку''''' (без интеграции с системой, со своим профилем, который не будет пересекаться с профилями других версий), то нам нужно всего лишь распаковать пакеты и переименовать эту директорию &lt;code&gt;opt&lt;/code&gt; так чтобы три слоя по прежнему были вместе.

==== RPM пакеты====

В следующем примере мы &quot;установим&quot;

&lt;code&gt;OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz&lt;/code&gt;

который был закачан в папку

&lt;code&gt;/home/user/download/ooo/&lt;/code&gt; 

&lt;source lang=&quot;bash&quot;&gt;
# cd в папку, куда вы скачали файл *.tar.gz
# в этом примере мы скачали 
# файл OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz
# в папку /home/user/download/ooo/

~&gt; cd download/ooo/

# создаём временную папку
# в этом примеру назовём её TEMP_INST

~/download/ooo&gt; mkdir TEMP_INST 

# cd в папку

~/download/ooo&gt; cd TEMP_INST/ 

# распакуем скачанный файл
~/download/ooo/TEMP_INST&gt; tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz

&lt;/source&gt;

Этими командами мы распаковали содержимое пакетов во временную папку.

Теперь нам нужно перейти в папку RPMS.

&lt;source lang=&quot;bash&quot;&gt;
# теперь нам надо создать ещё одну временную папку для распаковки файлов
# содержащихся в папке RPMS

~/download/ooo/TEMP_INST&gt; cd DEV300_m77_native_packed-2_en-US.9496/RPMS/ 

# в этом примере мы укоротим имя папки: 
# вместо ~/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/RPMS&gt;
# напишем: ~/download/ooo/TEMP_INST/ DEV300_m77.../RPMS&gt;

# создадим временную папку, которая и станет окончательной папкой установки OpenOffice.org

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS&gt; mkdir TEMP_ROOT 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS&gt; cd TEMP_ROOT/ 
&lt;/source&gt;

{{Note|Заметьте, что в зависимости от версии могут быть разные схемы именований файлов.}}

Распаковать RPM можно за 1 или 2 шага:

&lt;source lang=&quot;bash&quot;&gt;
# за 1 шаг

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT&gt; for i in ../o*.rpm; do rpm2cpio $i | cpio -id; done 
&lt;/source&gt;

{{Note|Заметьте, мы использовали звёздочку так &lt;code&gt;for i in ../o*.rpm&lt;/code&gt;, т.к. среди пакетов может находится пакет с Java Runtime Environment (в данном примере, пакет с JRE называется &lt;code&gt;jre-6u19-linux-i586.rpm&lt;/code&gt;), поэтому &lt;code&gt;../o*.rpm&lt;/code&gt; говорит, что нужно распаковывать пакеты с &quot;o&quot; вначале имени файла.}}

&lt;source lang=&quot;bash&quot;&gt;
# за 2 шага
# нижний и средний слои

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT&gt; for i in ../openoffice.org*.rpm; do rpm2cpio $i | cpio -id; done 

# распакуйте верхний слой

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT&gt; for i in ../ooo-dev*.rpm; do rpm2cpio $i | cpio -id; done 
&lt;/source&gt;

Теперь мы можем обнаружить в папке

&lt;code&gt;/home/user/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/RPMS/TEMP_ROOT&lt;/code&gt;

папку &lt;code&gt;opt&lt;/code&gt;, в которой есть 2 папки:

#&lt;code&gt;/TEMP_ROOT/opt/ooo-dev3&lt;/code&gt;
#&lt;code&gt;/TEMP_ROOT/opt/ooo-dev&lt;/code&gt;

последняя содержит ещё 2 папки: &lt;code&gt;basis3.3&lt;/code&gt; and &lt;code&gt;ure&lt;/code&gt;.

Теперь можно скопировать или переместить эту папку '''opt''' куда угодно.

&lt;source lang=&quot;bash&quot;&gt;
# в этом примере мы &quot;установим&quot; новую версию в /home/user/OOo_DEV300_m77

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT&gt; mv opt ~/OOo_DEV300_m77
&lt;/source&gt;

И наконец, удалим все временные файлы:

&lt;source lang=&quot;bash&quot;&gt;
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT&gt; cd ~/download/ooo/
~download/ooo&gt; rm -rf TEMP_INST/
&lt;/source&gt;

==== DEB пакеты====

В следующем примере мы &quot;установим&quot; сборку

&lt;code&gt;OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz&lt;/code&gt;

закачанную в папку

&lt;code&gt;/home/user/download/ooo/&lt;/code&gt; 

&lt;source lang=&quot;bash&quot;&gt;
# cd в папку, куда вы скачали файл *.tar.gz
# в этом примере мы скачали
# файл OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz
# в папку /home/user/download/ooo/

~&gt; cd download/ooo/

# создайте временную папку, куда будет распаковано содержимое скачанного файла
# в этом примере мы называем эту папку TEMP_INST

~/download/ooo&gt; mkdir TEMP_INST 

# cd в эту папку

~/download/ooo&gt; cd TEMP_INST/ 

# распакуйте содержимое скачанного файла

~/download/ooo/TEMP_INST&gt; tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz
&lt;/source&gt;

Теперь у нас во временной папке находятся распакованные файлы. 

Теперь нам нужно попасть в папку DEBS с помощью команды &lt;code&gt;cd&lt;/code&gt;, там содержатся файлы *.debs. 

&lt;source lang=&quot;bash&quot;&gt;
# теперь нам нужно создать другую временную папку, куда будут распакованы файлы *.deb.

~/download/ooo/TEMP_INST&gt; cd DEV300_m77_native_packed-2_en-US.9496/DEBS/ 

# мы сократим имя папки:
# вместо ~/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/DEBS&gt;
# напишем ~/download/ooo/TEMP_INST/DEV300_m77.../DEBS&gt;

# создадим временную папку, в которой будет располагаться установленный OpenOffice.org

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS&gt; mkdir TEMP_ROOT 
~/download/ooo/TEMP_INST/DEV300_m77 .../DEBS&gt; cd TEMP_ROOT/ 
&lt;/source&gt;

{{Note|Заметьте, что в зависимости от версии OOo, у нас могут быть разные схемы именования файлов:

#&lt;code&gt;ooobasis-dev3.3-*.deb&lt;/code&gt; - нижний и средний слои
#&lt;code&gt;ooo-dev3-*.deb&lt;/code&gt; - верхний слой}}
Можно распаковать все *.deb за 1 или 2 шага:

&lt;source lang=&quot;bash&quot;&gt;
# за 1 шаг

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT&gt; for i in ../*.deb; do dpkg-deb -x $i . ; done 
&lt;/source&gt;

&lt;source lang=&quot;bash&quot;&gt;
# за 2 шага
# средний и нижний слои

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT&gt; for i in ../openoffice.org*.deb; do dpkg-deb -x $i . ; done 

# верхний слой
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT&gt; for i in ../ooo-dev*.deb; do dpkg-deb -x $i . ; done 
&lt;/source&gt;

Мы обнаружим после этих команд, что в папке

&lt;code&gt;/home/user/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/DEBS/TEMP_ROOT&lt;/code&gt;

есть папка &lt;code&gt;opt&lt;/code&gt;, в которой есть 2 папки:

#&lt;code&gt;/TEMP_ROOT/opt/ooo-dev3&lt;/code&gt;
#&lt;code&gt;/TEMP_ROOT/opt/ooo-dev&lt;/code&gt;

последняя содержит ещё 2 папки: &lt;code&gt;basis3.3&lt;/code&gt; и &lt;code&gt;ure&lt;/code&gt;.

Теперь нужно всего лишь скопировать или переместить эту папку '''opt''' куда угодно. 

&lt;source lang=&quot;bash&quot;&gt;
# в этом примере мы &quot;установим&quot; новую версию в /home/user/OOo_DEV300_m77

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT&gt; mv opt ~/OOo_DEV300_m77
&lt;/source&gt;

И наконец, удалим все временные файлы. 

&lt;source lang=&quot;bash&quot;&gt;
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT&gt; cd ~/download/ooo/
~download/ooo&gt; rm -rf TEMP_INST/
&lt;/source&gt;

==== Настройки профиля для версий 3.* ====

{{Tip|Подробнее смотрите также тут: [[Profile|Профиль]].}}

Перед тем как запустить программу, нам нужно сделать кое-какие изменения в настройках. (Инструкции одинаковы для RPM и DEB.)

По умолчанию OpenOffice.org хранит настройки отдельно для каждого пользователя в профиле /home/''user''/.openoffice.org/ (стабильные сборки и RC) или /home/''user''/.ooo-dev/ (сборки DEV). Это значит,  что нельзя параллельно запустить две сборки, которые обе устанавливаются как ooo-dev или openoffice.org, т.к. они одновременно использовали бы один и тот же профиль и мешали бы друг другу.

Чтобы этого избежать мы должны изменить настройки так чтобы OpenOffice.org хранил профиль где-нибудь в другом месте, например в том же самом месте, где находится корневая папка OpenOffice.org, так нам будет легче и удалять потом всё сразу: и OpenOffice.org, и его профиль будут в одной папке.

Для этого нам нужно отредактировать файл &lt;code&gt;bootstraprc&lt;/code&gt;, находящийся в папке &lt;code&gt;program&lt;/code&gt; верхнего слоя (т.е. ooo-dev3), в данном примере:

&lt;code&gt;/home/user/OOo_DEV300_m77/ooo-dev3/program&lt;/code&gt;

Т.к. этот файл не имеет прав на запись, нам нужно сперва это исправить:

&lt;source lang=&quot;bash&quot;&gt;
&gt; cd ~/OOo_DEV300_m77/ooo-dev3/program
~/OOo_DEV300_m77/ooo-dev3/program&gt; chmod +w bootstraprc
&lt;/source&gt;

Теперь мы можем открыть это файл в текстовом редакторе и изменить ту строчку, которая начинается с &lt;code&gt;UserInstallation=&lt;/code&gt;: 

&lt;PRE&gt;UserInstallation=$ORIGIN/..&lt;/PRE&gt;

Файл целиком может выглядеть теперь так: 

&lt;PRE&gt;
[Bootstrap]
BaseInstallation=${OOO_BASE_DIR}
InstallMode=&lt;installmode&gt;
ProductKey=OOo-dev 3.0
UserInstallation=$ORIGIN/..
[ErrorReport]
ErrorReportPort=80
ErrorReportServer=report.services.openoffice.org
&lt;/PRE&gt;

Таким способом, папка профиля будет располагаться там же, где и сам OpenOffice.org, и вы сможете запускать одновременно несколько разных версий параллельно.

==Windows==

На Windows вы должны сделать так называемую административную установку пакета. Эта функция доступна для любого пакета, использующего MSI, и в основном это значит - распаковка всех файлов *.cab.

Если у вас есть установочный файл, содержащий в себе полный установочный набор файлов (1 файл *.exe более 100 МБ в размере, вида &lt;code&gt;OOo-Dev_DEV300m77_Win_x86_install-wJRE_en-US.exe &lt;/code&gt; ), то вначале дадим ему распаковаться. Для этого просто запустите его, а когда он запустит установщик, нажмите на кнопку Cancel (Отмена).

Предположим, вы распаковали файл в &lt;code&gt;C:\temp\install&lt;/code&gt;

Теперь же, откройте консоль (&lt;Windows_Key&gt;/Выполнить..., введите &quot;cmd&quot;, нажмите Enter , либо: Программы/Стандартные/Командная строка), и там введите:
  ...&gt; c:
  c:\&gt; cd \temp\install
  c:\temp\install&gt; msiexec /a ooodev33.msi

(предполагается, что файл ooodev33.msi существует в папке c:\temp\install . Его имя может меняться в зависимости от версии, к примеру, для OOO320m17 имя файла openofficeorg32.msi, но это должен быть всегда один единственный файл. Используйте его имя.)

&lt;code&gt;msiexec&lt;/code&gt; это инструмент для исполнения файлов .msi. Переключатель /a говорит, что установка - административная. Он запускает диалог, который спросит о целевой папке установки - выберите папку, где вы хотите чтобы окончательно располагался установленный {{Office}}. Потом кликните кнопку &quot;Install&quot; (&quot;Установить&quot;), подождите несколько минут, и готово.

{{Note|Заметка для продвинутых пользователей:&lt;pre&gt;msiexec /a ooodev33.msi TARGETDIR=&quot;c:\Program Files\OOoDev\m77&quot; /qr&lt;/pre&gt;
установит {{Office}} в папку &lt;code&gt;C:\Program Files\OOoDev\m77&lt;/code&gt;, без диалога и вопросов.}}

Начиная с &lt;code&gt;DEV300m23&lt;/code&gt;, необходимые файлы Microsoft Visual&amp;nbsp;C++ runtime не содержатся более в установленном {{Office}}, а вместо этого, устанавливаются во время обычной установки (см. [http://www.openoffice.org/servlets/ReadMsg?list=interface-announce&amp;msgNo=1173 this interface-announce@openoffice.org mail]).  Т.к. во время административной установки это действие не выполняется, вы должны сами установить [http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF Пакет Microsoft Visual C++ 2008 Redistributable (x86)] (или эквивалент для другой версии компилятора).

=== Профиль ===

{{Tip|Подробнее смотрите также [[Profile|Профиль]]}}

Как и на версиях для Linux, вам нужно сделать так, чтобы профиль не конфликтовал с другими версиями. Для этого откройте файл &lt;code&gt;&lt;OOo_installation&gt;\program\bootstrap.ini&lt;/code&gt; в текстовом редакторе и найдите строчку

  UserInstallation=$SYSUSERCONFIG/OOo-dev

{{Note|(Опять же, последняя часть &quot;OOo-dev&quot; зависит от версии, но строчка, которая начинается с &lt;code&gt;UserInstallation&lt;/code&gt; - всего одна)}}

Поменяйте её на:
  UserInstallation=$ORIGIN/..

Файл целиком выглядел бы так:

&lt;pre&gt;[Bootstrap]
BaseInstallation=${OOO_BASE_DIR}
InstallMode=&lt;installmode&gt;
ProductKey=OpenOffice.org 3.2
UserInstallation=$ORIGIN/..
[ErrorReport]
ErrorReportPort=80
ErrorReportServer=report.services.openoffice.org
&lt;/pre&gt;

Теперь настройки пользователя будут храниться в папке &lt;code&gt;user&lt;/code&gt; рядом с папкой &lt;code&gt;program&lt;/code&gt;. Это имеет 2 преимущества: профили не пересекаются, и чтобы удалить программу вместе с настройками пользователя нужно удалить всего одну папку.

{{Note|Учтите, однако, что теперь разные люди, которые работают на одной машине, будут использовать одни и те же настройки.}}

== Настройки для автоматического тестирования ==

Если вы планируете проводить автоматические тесты с помощью [http://wiki.services.openoffice.org/wiki/RU/qa/vcltesttool|VCL TestTool], то проверьте настройки. 

Чтобы VCLTestTool нашёл папку установки, нужно настроить параметр 'OOoProgramDir' в диалоге настроек VCLTesttool.

[[Image:Снимок-Настройки-OOoProgramDir.png]]</rev>
        </revisions>
      </page>
      <page pageid="146" ns="0" title="Sandbox/пример">
        <revisions>
          <rev xml:space="preserve">пример страницы</rev>
        </revisions>
      </page>
    </pages>
  </query>
</api>