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 are16, 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