Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | [RFE] Build Windows Developer Snapshots with ATL enabled | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | General | Reporter: | Oliver Brinzing <oliver.brinzing> | ||||||||
Component: | scripting | Assignee: | Oliver-Rainer Wittmann <orw> | ||||||||
Status: | CLOSED FIXED | QA Contact: | |||||||||
Severity: | Major | ||||||||||
Priority: | P5 (lowest) | CC: | arielch, issues, oliver.brinzing, orw | ||||||||
Version: | 3.4.0 Beta (OOo) | ||||||||||
Target Milestone: | --- | ||||||||||
Hardware: | PC | ||||||||||
OS: | Windows, all | ||||||||||
Issue Type: | ENHANCEMENT | Latest Confirmation in: | --- | ||||||||
Developer Difficulty: | --- | ||||||||||
Attachments: |
|
Description
Oliver Brinzing
2012-01-21 09:51:51 UTC
Created attachment 77152 [details]
error message (german)
taking over this issue It is intended that developer snapshots do not have the system integration. Thus, I think we close this issue as invalid. Hi Oliver the issue is that the "oleautobridge.uno.dll" is *missing* in the installation set. Adding "oleautobridge.uno.dll" and registering it solves the problem. imho this has nothing todo with windows registry system integration. please add "oleautobridge.uno.dll" and registration into dev builds. this is what i did: - copy "oleautobridge.uno.dll" to $BRAND_BASE_DIR/program (taken from rev 1230786) - insert into $BRAND_BASE_DIR/Basis/programm/services.rdb: <component loader="com.sun.star.loader.SharedLibrary" uri="vnd.sun.star.expand:$BRAND_BASE_DIR/program/oleautobridge.uno.dll"> <implementation name="com.sun.star.comp.ole.OleClient"> <service name="com.sun.star.bridge.OleObjectFactory"/> <service name="com.sun.star.bridge.oleautomation.Factory"/> </implementation> <implementation name="com.sun.star.comp.ole.OleConverter2"> <service name="com.sun.star.bridge.OleBridgeSupplier2"/> <service name="com.sun.star.bridge.oleautomation.BridgeSupplier"/> </implementation> <implementation name="com.sun.star.comp.ole.OleConverterVar1"> <service name="com.sun.star.bridge.OleBridgeSupplierVar1"/> </implementation> <implementation name="com.sun.star.comp.ole.OleServer"> <service name="com.sun.star.bridge.OleApplicationRegistration"/> <service name="com.sun.star.bridge.oleautomation.ApplicationRegistration"/> </implementation> </component> - open aoo and check with macro: OPTION EXPLICIT Sub Test Dim oManager as Object oManager = CreateObject("com.sun.star.ServiceManager") MsgBox isNull(oManager) End Sub there are some other .uno.dll's missing in the dev builds, please see attached diff.xml Created attachment 77161 [details]
diffs' in services.rdb
(In reply to comment #4) > Hi Oliver > > the issue is that the "oleautobridge.uno.dll" is *missing* > in the installation set. Adding "oleautobridge.uno.dll" > and registering it solves the problem. it seems Oliver-Rainer is building with --disable-atl @Oliver-Rainer: can you confirm? > imho this has nothing todo with windows registry system integration. > please add "oleautobridge.uno.dll" and registration into dev builds. even if the DevSnap is build with ATL support, you cannot click a VB script on the Explorer and execute, because the DevSnap installer does not register any activex component. > - open aoo and check with macro: > > OPTION EXPLICIT > Sub Test > Dim oManager as Object > oManager = CreateObject("com.sun.star.ServiceManager") > MsgBox isNull(oManager) > End Sub In a DevSnap with ATL enabled, and so with the UNO component, but with all system integration from other OOo standard versions (I removed all of them, I only have the DevSnapshot installed), I can not run this macro, nor execute a VB script outside AOO. Do you have by chance another OOo/AOO installation with the ActiveX component registered? You can test this by double-clicking on the explorer on any VB script with AOO code. Created attachment 77162 [details]
Developer Snapshot with ATL enabled - no system integration
Even on a Developer Snapshot with ATL enabled, there is no system integration, it does not register any ActiveX component, etc. So VB Scripts can not be exectued.
> So VB Scripts can not be exectued.
if you start aoo *before* you run the vb script it will work.
for example, i have installed oo32 with systemintegration in
"c:\program files\openoffice.org\" and i have installed a
aoo dev build in "c:\program files\Ooo-dev3\".
if i start aoo before i run *.vbs, aoo will be used.
if no office is running, *.vbs will start oo32.
Yes, I have used configure option --disable--atl. Here are the configure options (beside the "path"-options) which I am using: --without-junit --enable-pch --disable-directx --disable-atl --disable-activex --disable-binfilter --enable-category-b --disable-build-mozilla --with-mozilla-build=c:/mozilla-build --with-lang="en-US de fr it es ja pt-BR zh-CN nl" Changed the bug subject to reflect the actual issue. Building on Windows with ATL enabled and the Visual Studio Express edition is possible, following Mathias's advice: * download and install the Windows Driver SDK, it comes with the ATL header and libraries for free (as in free beer). * configure without --disable-atl. configure will set ATL_LIB, ATL_INCLUDE, MFC_LIB, and MFC_INCLUDE to point to the Visual Studio Express Edition directories * you have to edit winenv.set[.sh] and change these variables to point to the Windows Driver SDK The only issue I've found, was an undefined reference building activez, I solved it adding in main/extensions/source/activex/main/makefile.mk $(ATL_LIBS)$/atlthunk.lib besides $(ATL_LIBS)$/atls.lib I have applied Ariel's suggested stuff to my local environment with success. Thus, you can expect that the next Windows developer snapshot in case that I will create it is built with ATL and ActiveX enabled. Note: I also installed the Microsoft DirectX SDK. Thus, DirectX will also be enabled in my next Windows developer snapshot. In my Windows builds for rev. 1296433 ATL, ActiveX and DirectX are no longer disabled - please check. Thx in advance. rev. 1296433 looks good - oleautobridge.uno.dll is included and registered. how can i check ActiveX and DirectX? I do not know DirectX and ActiveX integration into AOO (and former OOo). Thus, I do not know how to test. Sorry. (In reply to comment #15) > rev. 1296433 looks good - oleautobridge.uno.dll is included and registered. > > how can i check ActiveX and DirectX? Opengroking ENABLE_DIRECTX, DirectX is used in avmedia (the avmedia plugin in Windows uses DirectX) and canvas (the directxcanvas). For the first, test that inserting audio and video works. For the later, I've no idea how to test it. Opengroking DISABLE_ACTIVEX shows that the ActiveX control is a "Component to enable Microsoft Internet Explorer to display %PRODUCTNAME documents." (scp2/source/activex/module_activex.ulf). It seems you should be able to display AOO documents inside the IE browser. imho this issue can be closed - its fixed Resolving as FIXED |