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

Reply via email to