Changeset 59386 in vbox for trunk/src/VBox/Installer/win
- Timestamp:
- Jan 18, 2016 5:48:29 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Installer/win/VBoxMergeAppSeq.wxi
r59329 r59386 17 17 xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension"> 18 18 19 <?if $(env.VBOX_WITH_MIDL_PROXY_STUB) = "yes" ?>20 <!--21 Reverse the typelib and registry writing order to make proxy stub work.22 23 A few things are ganging up on us here:24 - A Typelib element is translated into a typelib table entry.25 - While a Interface element is translated into a registry table26 entry.27 - The typelib table is by default processed after writing the28 registry table.29 - The typelib processing will set the ProxyStubClsid32 to a30 dynamic builtin one that uses the typelib, thus overwriting31 that bit of intformation from our interface elements (the32 NumMethods bit is kept, go figure).33 (- If we set the Advertise attribute on the Typelib element to34 no, we may get a bit futher with ProxyStubClsid32, but we35 end up with VBoxC being using instead of VBoxSVC. At least36 in one of the configurations attempted)37 38 The whole point of the proxy stub DLLs is to not use the default39 dynamic proxy stub from OLE that loads+parses the typelib each time40 it creates proxies/stubs. There are two workarounds:41 1. Don't use the typelib and interface elements, but instead emit42 plain registry entries (heat.exe can help).43 2. Make the registry writing happen after the typelib registration.44 45 Going with option two for now.46 47 ASSUMES RegisterTypeLibraries has sequence number 5500 and48 WriteRegistryValues 5000. Modifies both.49 -->50 <RegisterTypeLibraries Sequence="4999"/>51 <WriteRegistryValues Sequence="5501"/>52 <?endif?>53 54 19 </Include> 55 20
Note:
See TracChangeset
for help on using the changeset viewer.