I have a property that should be self-contained in my lib. I simply added a Ref in the Product file, but it is not used in that file except for the ref.
I prefer this solution over exposing the ComponentRef in the Product file since they are also self-contained. My initial intentions and understanding is that a lib is to be self-contained therefore my product file only contains things pertinent to it and the lib is seen as a different entity. Initially I wanted a merge module but you cannot have a merge module containing other merge modules so I went with lib. We have self-contained product core, with outside pieces. -----Original Message----- From: Rob Mensching [mailto:r...@robmensching.com] Sent: February-21-2013 2:20 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WixLib not behaving as desired Did you have a Property in the Fragment when you started? If not, I'd use something that "exists naturally" in the Fragment. If so, good on ya. <smile/> On Thu, Feb 21, 2013 at 10:43 AM, Marc Beaudry <mbeau...@matrox.com> wrote: > Sorry for the late reply.... Thanks Rob and Jacob for the advice. > > Once the issue was solved I was curious to know best practice usage. > > BTW: I changed my ComponentRef to PropertyRef > > -----Original Message----- > From: Rob Mensching [mailto:r...@robmensching.com] > Sent: February-20-2013 6:14 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] WixLib not behaving as desired > > I think use of PropertyRef is awesome in that case. If you didn't have > the Condition (which uses the Property) I might consider using > CustomActionRef instead. But I like PropertyRef in your case. > > > On Wed, Feb 20, 2013 at 1:53 PM, Hoover, Jacob > <jacob.hoo...@greenheck.com>wrote: > > > I use lots of externals and fragments, and for my MSI prerequisite > > checks I have each prerequisite in its own fragment. With this, I > > simply need to pull it in via a PropertyRef and my MSI ensures the > > prerequisite is installed. > > > > <Fragment> > > <Condition Message="This application requires Microsoft SQL > > Server Compact Edition 3.5. Please install Microsoft SQL Server > > Compact Edition > > 3.5 then run this installer again."> > > <![CDATA[Installed OR SQLSERVERCE35]]> > > </Condition> > > <Property Id="SQLSERVERCE35" Secure="yes"/> > > <CustomAction Id="SQLServerCE35InstalledCA" BinaryKey="Prerequisites" > > DllEntry="SQLServerCE35InstalledCA" Return="check" > Execute="firstSequence" > > /> > > <InstallUISequence> > > <Custom Action="SQLServerCE35InstalledCA" > > After="AppSearch">NOT Installed</Custom> > > </InstallUISequence> > > <InstallExecuteSequence> > > <Custom Action="SQLServerCE35InstalledCA" > > After="AppSearch">NOT Installed</Custom> > > </InstallExecuteSequence> > > </Fragment> > > > > I have 15 or so prerequisite fragments and a binary fragment within > > the same file. > > > > -----Original Message----- > > From: Rob Mensching [mailto:r...@robmensching.com] > > Sent: Wednesday, February 20, 2013 3:27 PM > > To: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] WixLib not behaving as desired > > > > I've yet to see a case where real content didn't exist in a Fragment > > that could be referenced. <smile/> > > > > > > On Wed, Feb 20, 2013 at 1:12 PM, Hoover, Jacob > > <jacob.hoo...@greenheck.com>wrote: > > > > > This smells like a need for a FragmentRef, which I currently work > > > around with a Property in the fragment and a PropertyRef in the > > > Product to pull in the fragment. Another possible option may be to > > > reference a component/feature in your Product, but I haven't done > > > much with wixlib's so I don't know if that is possible. > > > > > > -----Original Message----- > > > From: Rob Mensching [mailto:r...@robmensching.com] > > > Sent: Wednesday, February 20, 2013 3:01 PM > > > To: General discussion for Windows Installer XML toolset. > > > Subject: Re: [WiX-users] WixLib not behaving as desired > > > > > > If references are broken, the linker would tell you it couldn't > > > find a symbol. I think your issue is the opposite. You don't have > > > a reference any more. <smile/> Those DirectoryRef's look like > > > they probably point back to the Product. What from the Product > > > points into > this Fragment? > > > > > > > > > On Wed, Feb 20, 2013 at 12:45 PM, Marc Beaudry > > > <mbeau...@matrox.com> > > > wrote: > > > > > > > Keeping in mind I discovered Wix about 2 weeks ago :-) > > > > > > > > I apologize for not completely understanding, wix is new and I > > > > am still in that learning curve... Hopefully this snippet helps > > > > you better understand my issue so I can better understand what > > > > is > > happening. > > > > > > > > As far as I know my references are correct and relatively > > > > straight forward... > > > > > > > > My lib file contains one big fragment: > > > > > > > > <?xml version="1.0" encoding="UTF-8"?> <Wix > > > > xmlns="http://schemas.microsoft.com/wix/2006/wi"> > > > > <?include ..\lInstaller\UserVariableNames.wxi ?> > > > > > > > > <Fragment Id='FragmentCoreInstall'> > > > > > > > > <!-- Copy files to desired location using components --> > > > > <DirectoryRef Id="APPLICATIONROOTDIRECTORY"> > > > > // bunch of files through individual components > > > > </DirectoryRef> > > > > > > > > <DirectoryRef Id="ShortcutsMenuFolder"> > > > > // Various application shortcuts to be moved out > > > > </DirectoryRef> > > > > > > > > </Fragment> > > > > </Wix> > > > > > > > > I then take this whole section (<DirectoryRef > > > > Id="ShortcutsMenuFolder">) and copy it in Product.wxs right > > > > after the directory section. > > > > How do I know if the references are not broken? > > > > > > > > -----Original Message----- > > > > From: Rob Mensching [mailto:r...@robmensching.com] > > > > Sent: February-20-2013 3:28 PM > > > > To: General discussion for Windows Installer XML toolset. > > > > Subject: Re: [WiX-users] WixLib not behaving as desired > > > > > > > > References flow from the Product element down. Follow your > references. > > > > There isn't enough below to really know what is wrong. > > > > > > > > > > > > On Wed, Feb 20, 2013 at 12:20 PM, Marc Beaudry > > > > <mbeau...@matrox.com> > > > > wrote: > > > > > > > > > Hopefully this helps shed some light... > > > > > > > > > > In my Product.wxs I define a directory structure. > > > > > > > > > > In my lib I refer to the directory reference. "DirectoryRef" > > > > > > > > > > The component reference in the feature tag is set in the > > > > > Product.wxs > > > > > > > > > > Directory Element from Product.wxs > > > > > <Directory Id="TARGETDIR" Name="SourceDir"> > > > > > <Directory Id='ProgramFilesFolder' Name='PFiles'> > > > > > <Directory Id='ManufacturerFolder' > > > > > Name='$(var.UserManufacturerName)'> > > > > > <Directory Id="APPLICATIONROOTDIRECTORY" > > > > > Name="$(var.UserProductName)"/> > > > > > </Directory> > > > > > </Directory> > > > > > > > > > > <!-- Step 1: Define the directory structure to > > > > > where the items are to be located in the start menu --> > > > > > <Directory Id="ProgramMenuFolder"> > > > > > <Directory Id="ShortcutsProgramsFolder" > > > > > Name="$(var.UserStartMenuFolder)"> > > > > > <Directory Id="ShortcutsMenuFolder" > > > > > Name="$(var.UserProductName)"> </Directory> > > > > > <Component > Id="ApplicationShortcutUninstall" > > > > > Guid="******"> > > > > > <RemoveFolder > > Id="ShortcutsProgramsFolder" > > > > > On="uninstall"/> > > > > > <RegistryValue Root="HKCU" > > > > > Key="Software\Microsoft\[Manufacturer]\[ProductName]" > > Name="installed" > > > > > Type="integer" Value="1" KeyPath="yes"/> > > > > > </Component> > > > > > </Directory> > > > > > </Directory> > > > > > > > > > > <Directory Id="DesktopFolder" Name="Desktop" /> > > > > > </Directory> > > > > > > > > > > Snip it from the lib fragment... that I want to copy out in > > > > > the > > > > product.wxs > > > > > <DirectoryRef Id="ShortcutsMenuFolder"> > > > > > <Component Id="ApplicationDesktopShortcut" Guid="***"> > > > > > <Condition>DESKTOPSHORTCUT=1</Condition> > > > > > <Shortcut Id="desktopShortcut" > > > > > Directory="DesktopFolder" > > > > > Name="Application Something or other " > > > > > > > > > > Description="$(var.UserStartMenuApplicationDescription)" > > > > > > > > Target="[APPLICATIONROOTDIRECTORY]MyBinary.exe" > > > > > > > WorkingDirectory='APPLICATIONROOTDIRECTORY' > > > > > > <Icon Id="DesktopIcon.exe" > > > > > SourceFile="SomeIconFile.ico" > > > > > /> > > > > > </Shortcut> > > > > > <RegistryValue Root="HKCU" > > > > > Key="Software\Microsoft\[Manufacturer]\[ProductName]" > > > > > Name="aaaaaaaaaaaaa > > > > " > > > > > Type="integer" Value="1" KeyPath="yes"/> > > > > > </Component> > > > > > </DirectoryRef> > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: Rob Mensching [mailto:r...@robmensching.com] > > > > > Sent: February-20-2013 3:04 PM > > > > > To: General discussion for Windows Installer XML toolset. > > > > > Subject: Re: [WiX-users] WixLib not behaving as desired > > > > > > > > > > It all depends on what is in your Fragments and what is > > > > > referencing > > > what. > > > > > My guess is by moving the Shortcut, you removed the reference > > > > > to oen or more Fragments in you .wixlib. > > > > > > > > > > > > > > > On Wed, Feb 20, 2013 at 12:00 PM, Marc Beaudry > > > > > <mbeau...@matrox.com> > > > > > wrote: > > > > > > > > > > > I have a lib file that contains a bunch of files and a > > > > > > desktop shortcut to one of the binaries. I then have my > > > > > > (product.wxs) main installation XML file. My project has a > > > > > > reference to the lib > > > file. > > > > > > It all compiles and links perfectly. (My MSI is perfectly > > > > > > functional at this point) > > > > > > > > > > > > > > > > > > > > > > > > BUT: > > > > > > > > > > > > > > > > > > > > > > > > If I remove the section that contains the info to create the > > > > > > desktop shortcut and move it to the Product.wxs, everything > > > > > > still compiles and links without errors, but the content of > > > > > > my lib file is completely ignored. My msi goes from 30MB to 900KB. > > > > > > > > > > > > > > > > > > > > > > > > Question: Should I be able to take the shortcut section out > > > > > > of my lib file and put it in my main wxs file? The reason I > > > > > > want to do this is the binary name installed will always be > > > > > > the same but the name to the desktop shortcut is set later > > > > > > through a variable in a WXI (The contents of the lib remain, > > > > > > but the shortcut name can change depending on who builds the > > > > > > package) file which is referenced in the product.wxs > > > > > file. > > > > > > > > > > > > > > > > > > > > > > > > Hopefully this question is clear enough. > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the Advice > > > > > > > > > > > > Marc > > > > > > > > > > > > > > > > > > ------------------------------------------------------------ > > > > > > -- > > > > > > -- > > > > > > -- > > > > > > -- > > > > > > -- > > > > > > -------- Everyone hates slow websites. So do we. > > > > > > Make your web apps faster with AppDynamics Download > > > > > > AppDynamics Lite for free today: > > > > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > > > > _______________________________________________ > > > > > > WiX-users mailing list > > > > > > WiX-users@lists.sourceforge.net > > > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------- > > > > > -- > > > > > -- > > > > > -- > > > > > -- > > > > > ------ > > > > > -- > > > > > Everyone hates slow websites. So do we. > > > > > Make your web apps faster with AppDynamics Download > > > > > AppDynamics Lite for free today: > > > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > > > _______________________________________________ > > > > > WiX-users mailing list > > > > > WiX-users@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------- > > > > > -- > > > > > -- > > > > > -- > > > > > -- > > > > > -------- Everyone hates slow websites. So do we. > > > > > Make your web apps faster with AppDynamics Download > > > > > AppDynamics Lite for free today: > > > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > > > _______________________________________________ > > > > > WiX-users mailing list > > > > > WiX-users@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > > > > ---------------------------------------------------------------- > > > > -- > > > > -- > > > > -- > > > > ------ > > > > -- > > > > Everyone hates slow websites. So do we. > > > > Make your web apps faster with AppDynamics Download AppDynamics > > > > Lite for free today: > > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > > _______________________________________________ > > > > WiX-users mailing list > > > > WiX-users@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > > ---------------------------------------------------------------- > > > > -- > > > > -- > > > > -- > > > > -------- Everyone hates slow websites. So do we. > > > > Make your web apps faster with AppDynamics Download AppDynamics > > > > Lite for free today: > > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > > _______________________________________________ > > > > WiX-users mailing list > > > > WiX-users@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > ------------------------------------------------------------------ > > > -- > > > -- > > > -------- Everyone hates slow websites. So do we. > > > Make your web apps faster with AppDynamics Download AppDynamics > > > Lite for free today: > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > _______________________________________________ > > > WiX-users mailing list > > > WiX-users@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > ------------------------------------------------------------------ > > > -- > > > -- > > > -------- Everyone hates slow websites. So do we. > > > Make your web apps faster with AppDynamics Download AppDynamics > > > Lite for free today: > > > http://p.sf.net/sfu/appdyn_d2d_feb > > > _______________________________________________ > > > WiX-users mailing list > > > WiX-users@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > -------------------------------------------------------------------- > > -- > > -------- Everyone hates slow websites. So do we. > > Make your web apps faster with AppDynamics Download AppDynamics Lite > > for free today: > > http://p.sf.net/sfu/appdyn_d2d_feb > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > -------------------------------------------------------------------- > > -- > > -------- Everyone hates slow websites. So do we. > > Make your web apps faster with AppDynamics Download AppDynamics Lite > > for free today: > > http://p.sf.net/sfu/appdyn_d2d_feb > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > ---------------------------------------------------------------------- > ------ > -- > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics Download AppDynamics Lite > for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ---------------------------------------------------------------------- > -------- Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics Download AppDynamics Lite > for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ---------------------------------------------------------------------------- -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users