Thanks for the great ideas. I tried to figure out how to suppress this specific error, but was unable to.
Then I tried your idea of moving the RegistryValue into the master component and it worked. I am able to install and uninstall the optional components and associations work as expected. It's a little messy on the registry, but it gets it done. Thanks! --- On Thu, 3/17/11, David Watson <dwat...@sdl.com> wrote: > From: David Watson <dwat...@sdl.com> > Subject: Re: [WiX-users] Multifeature filetype association > To: wix-users@lists.sourceforge.net > Date: Thursday, March 17, 2011, 9:04 AM > You will get the ice 69 error because > windows installer can't know for sure > if that feature is being installed. If you can guarantee in > all situations > that the main feature will be installed when you install > the optional > feature, you can ignore (suppress) the error. > > What should also work is that you could leave the ProgId > and Extension in the > optional component and to write the verb in with a registry > element in the > main component. I did this recently to share the file-type > and icon between > two products (the file-type registration was in a shared > msi) but only allow > the main application to do something when you clicked a > registered file type. > > As the #mainExe is in the same feature as the .exe then you > won't get an ice > 69 yet you get the same functionality. > > You may need to check what happens when only component A is > installed, I > never had that scenario so I'm not sure what would happen > to the file > ascociation. > > > Your e.g. modified. > > <Component Id="A"> > <File Id="MainEXE" name="Main.exe" > Source="$(var.BINDIR)/Main.exe"/> > > <RegistryValue Root="HKLM" Id=" MainEXEVerb" > Action="write" > > > Key="Software\Classes\extfile\shell\open\command" > > Value ='"[#MainEXE] "%1"' > > Type="expandable" > /> > > ... > > <Component Id="B"> > > ... > <ProgId Id='extfile' Description='Ext file'> > <Extension Id='ext' > ContentType='application/ext' /> > </ProgId> > > </Component> > > > -----Original Message----- > From: The Eligible Bachelors [mailto:theeligiblebachel...@yahoo.com] > > Sent: 16 March 2011 21:03 > To: wix-users@lists.sourceforge.net > Subject: Re: [WiX-users] Multifeature filetype association > > Ok. So I have removed the property with the file search. > Now it looks like: > > <Component Id="A"> > <File Id="MainEXE" name="Main.exe" > Source="$(var.BINDIR)/Main.exe"/> > .... > </component> > > ... > > <Component Id="B"> > > ... > <ProgId Id='extfile' Description='Ext file'> > <Extension Id='ext' > ContentType='application/ext'> > <Verb Id='open' Command='Open' > TargetFile='[MainEXE]' Argument='"%1"' > /> > </Extension> > </ProgId> > > </Component> > > > Produces > "Unresolved reference to 'File:[MainEXE]' in section > ... > > If I then change it to TargetFile='[#MainEXE]', I get the > same error. > > If I change it to TargetProperty='[#MainEXE]', I get: > > ICE69: Mismatched component reference. Entry > 'reg1099EB9499BDFA8BA8EBB7D10C985FE0' of the Registry table > belongs to > component 'B'. However, the formatted string in column > 'Value' references > file 'MainEXE' which belongs to component 'A'. Components > belong to different > features (LGHT0204) > > > > > > > You need to use either [#fileid] for > > a long path or [!fileid] for a > > short path. Since it's the same MSI there should be no > need > > to mess > > about with Properties just change the TargetProperty > to > > reference the > > File Id of the executable. > > > > The ICE69 error is because there's no File with Id of > > "MAINEXEC" in your > > MSI. If the File Element of main.exe has Id="Main.exe" > use > > [#Main.exe]. > > See http://msdn.microsoft.com/en-us/library/aa368609.aspx > > > > Actually having looked at the Verb syntax you could > drop > > the > > TargetProperty attribute & use the TargetFile > attribute > > instead & point > > it at the File Id of Main.exe. It may achieve the > exact > > same thing as > > above but it should be better syntactically since the > > package is > > installing the executable & the (optionally) the > file > > type. > > > > > > > ----------------------------------------------------------------------------- > - > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > SDL PLC confidential, all rights reserved. > If you are not the intended recipient of this mail SDL > requests and requires that you delete it without acting upon > or copying any of its contents, and we further request that > you advise us. > SDL PLC is a public limited company registered in England > and Wales. Registered number: 02675207. > Registered address: Globe House, Clivemont Road, > Maidenhead, Berkshire SL6 7DY, UK. > > > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users