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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to