koawmfot wrote:
1. I have authored a large file containing maybe 50 vbcontrols
(ocx, dll) and compiled it into a master binary wixlib containing
the files. My goal was to reference components from this master
file when i needed specific ones in a main project. The problem
is that it includes all of the components, and the ones that are
not referenced in features are orphaned in the final msi.
The question is then: Do I need to separate the components into
separate wixlib files or am i doing something wrong in the
referencing? i will gladly provide the source code upon request
if it would help answer.
Light is a "smart" linker; it links in only the sections that are
referenced. A "section" is a Product, Module, or Fragment (and probably
Patch and PatchCreation, just to be pedantic). You can break up your
authoring however you want, because a Wix element can have multiple
Fragment children. So just break up your control authoring into multiple
Fragments and only the authoring in each fragment will get linked in.
2. I have a few 16-bit register-able controls. I am not
advertising the registry information but I am using the
typelib/class/progid elements in the wxs file for format and
consistency. Also, heat captured the registry information into
these elements as well. The problem i have is that when the msi
is compiled, it creates a win32 entry for the type library info
instead of the win16 entry it should be.
I wouldn't be at all surprised if WiX didn't explicitly support Win16 --
I mean, it is 2007, you know.<g> If you look in src\wix\Compiler.cs for
ParseTypeLibElement, you'll see that it mentions Win16 in a comment only
to ignore it in favor of win32/win64 based on the component attribute.
Would it be possible to maybe include an attribute for the typelib
element, similar to the win64 attribute for the component element,
called maybe 'winversion' or something, and the allowed values are
16, 32, and 64?? Or does this ability exist and i am missing it?
I don't think it exists, so feel free to enter a feature request. I'm
not sure how to make it fit together with the Win64 attribute, so it's
not necessarily straightforward.
3. An expansion on question 2. When wxs is compiled to the msi,
how is it determined what the FLAGS value for the typelib element
will end up becoming?
Some of the other attributes get OR'd in.
4. And finally, when compiling, the Class element InprocServer(32)
values are entered into the registry table with quotation marks
(i.e. "C:\windows\system32\mscomctl.ocx") and when the control is
manually registered to verify the msi entries, the quotation marks
are removed from the entries. Is this an incorrect design?
Which version of WiX are you using? I believe that was changed sometime
recently to not quote.
--
sig://boB
http://joyofsetup.com/
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users