I am very pleased with the .wixlib option. It took me just a few minutes to figure out what .wixlib is.
I did the following: In VS2008, Add-> New Project ... of the type "WiX Library Project" named SQLDialog. The library's .wxs file is created using an empty <Fragment></Fragment> element. I copied the user interface element from my existing dialog (in my main "WiX project") into the "Fragment" element:
<Fragment> <UI> <Dialog Id="SQLServerPromptingDlg" ... Title="SQL Server Information" ...> <Control Id="Next" Type="PushButton" ... Text="!(loc.WixUINext)" /> ... </Dialog> </UI> </Fragment>
I added the wixlib project to the Release Build configuration in VS2008. I deleted the SQLDialog.wxs file from the main WiX project and instead referred to the SQLDialog wixlib project.
When I recompiled the solution, the main WiX project worked EXACTLY VERY BEFORE! Cool!
Then I referenced the wixlib SQLDialog project from my other WiX project and used it from there. Excellent! The build server is happy because the common .wixlib project is part of the solution that it compiles. Therefore, for our purposes, I think that it was better than the "general" catalog. No offense Bob. I appreciate your thoughts.
source share