Difference between revisions of "Zh/Documentation/DevGuide/WritingUNO/Manual Component Installation"
From Apache OpenOffice Wiki
< Zh | Documentation
(New page: {{Documentation/DevGuide/WritingUNOTOC/Zh |WritingUNO2f=block |ShowPrevNext=block |PrevPage=Zh/Documentation/DevGuide/WritingUNO/Command Line Registry Tools |NextPage=Zh/Documentation/DevG...) |
|||
Line 32: | Line 32: | ||
− | {{ | + | {{Note|事实上,供应商可以发布更多文件,例如文档、用户自定义类型的 '''.idl''' 文件、源代码和配置文件。尽管鼓励每个软件供应商都这样做,但是目前尚没有有关如何将这些文件集成到 {{PRODUCTNAME}} 的建议。这些类型的文件在以下段落中忽略。这些问题将在 {{PRODUCTNAME}} 的下一版本中解决。}} |
Latest revision as of 19:35, 4 July 2018
手动合并注册表并将其添加到 uno.ini 或 soffice.ini
OpenOffice.org 使用的注册表文件在程序目录中的 uno(.ini|rc) 文件内进行配置。默认安装 OpenOffice.org 后,这两个文件如下所示:
uno.ini : [Bootstrap] UNO_TYPES=$ORIGIN/types.rdb UNO_SERVICES=$ORIGIN/services.rdb
这两个 UNO 变量与 UNO 组件相关。UNO_TYPES 变量给定以空格分隔的类型库注册表列表,UNO_SERVICES 变量给定以空格分隔的包含组件注册信息的注册表。这些注册表只能以只读方式打开。相同的注册表可能会出现在 UNO_TYPES 和 UNO_SERVICES 变量中。$ORIGIN 指向 ini/rc 文件所在的目录。
OpenOffice.org 使用 types.rdb 作为类型并且使用 services.rdb 作为组件注册信息库。程序员或软件供应商发布 UNO 组件时,必须至少提供以下文件:
- 包含新组件代码的文件,例如共享库、JAR 文件或者可能是将来的 Python 文件。
- 包含用户自定义的 UNOIDL 类型的注册表文件,如果存在。
- (可选)包含预先注册的组件的注册信息的注册表文件。注册表供应者应该使用相对路径来注册组件,以便组件也可用于其他 OpenOffice.org 安装。
后两步可以集成到单个文件中。
事实上,供应商可以发布更多文件,例如文档、用户自定义类型的 .idl 文件、源代码和配置文件。尽管鼓励每个软件供应商都这样做,但是目前尚没有有关如何将这些文件集成到 OpenOffice.org 的建议。这些类型的文件在以下段落中忽略。这些问题将在 OpenOffice.org 的下一版本中解决。 |
将组件手动添加到 OpenOffice.org 的建议方法如以下步骤所示:
- 将新的共享库组件复制到 <OfficePath>/program 目录,将新的 Java 组件复制到 <OfficePath>/program/classes 目录。
- 将包含类型库的注册表复制到 <OfficePath>/program 目录,如果需要并且可用。
- 如果需要,将包含组件注册信息的注册表复制到 <OfficePath>/program 目录。否则,使用
OpenOffice.org SDK 附带的 regcomp 命令行工具将组件注册到新注册表。
- 修改 uno(.ini|rc) 文件,并将类型注册表添加到 UNO_TYPES 变量,将组件注册表添加到 UNO_SERVICES 变量。新的 uno(.ini|rc) 可能类似如下所示:
[Bootstrap] UNO_TYPES=$ORIGIN/types.rdb $ORIGIN/filterxyz_types.rdb UNO_SERVICES=$ORIGIN/services.rdb $ORIGIN/filterxyz_services.rdb
完成这些更改后,重新启动的每个办公软件都可以使用新组件。uno(.ini|rc) 更改将直接影响整个办公软件网络安装。如果仅为一个用户添加组件,则通过命令行传送已修改的 UNO_TYPES 和 UNO_SERVICES 变量。如以下示例所示:
$ soffice “-env:UNO_TYPES=$ORIGIN/types.rdb $ORIGIN/filterxyz_types.rdb“ “-env:UNO_SERVICES=$ORIGIN/services.rdb $ORIGIN/filter_xyz_services.rdb” ).
Content on this page is licensed under the Public Documentation License (PDL). |