This might be a silly response, and I haven't had to think about Property behaviour for a while, but isn't that the wrong way to set a Property to the value of another Property? From http://msdn.microsoft.com/library/aa370908.aspx it says:
"Note that you cannot use the Property table to set a property to the value of another property. The installer does nothing to the text string entered in the Value column before setting the property in the Property column. If FirstProperty is entered into the Property column and [SecondProperty] in the Value column, the value of FirstProperty is set to the text string "[SecondProperty]" and not to the value of the SecondProperty property. This is necessary to prevent creating circular references in the Property table. Instead, you can set one property to another by using a Custom Action Type 51." Does it work if you change your code to: <SetProperty Id="FileAssociationProperty" Value="[group_ProductFiles:Compass.exe]" After="CostFinalize" /> ? NB: I didn't think at all about the sequencing, so you'd want to work out what is best for your situation. Cheers, Michael Ps. I've not added a Verb to heat output in the way you're attempting. Coming from WiX2, I post-processed the tallow output to add in my Verb. If I was doing it from scratch for WiX3, then I'd probably use XSL to generate the Verb directly into the heat output, but xsl isn't for everyone. -----Original Message----- From: jo...@msli.com [mailto:jo...@msli.com] Sent: Thursday, 15 August 2013 5:54 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Use a TargetProperty in a Verb in a ProgId, for file association I am using wix-3.7 on windows7, to associate my program (Compass.exe) with file-names ending in galileoGlobalProject. I can build the msi and install it, but double clicking a file raises error dialog: "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item." How do I populate the correct path to my program? Details: Heat generates my list of files using the following syntax: heat.exe dir dist -dr INSTALLDIR -cg group_ProductFiles -alias .\ -norootdirectory -ext .WXS -ext .wixobj -ext .wxi MyProgram.resource_list.wxs The auto-generated section is as follows: <Fragment> <ComponentGroup Id="group_ProductFiles"> <Component Id="cmpAE06573553A70385366B99F6F873F4C4" Directory="INSTALLDIR" Guid="4BED1A2F-C6A6-41DE-9642-B5058D915837"> <File Id="fil295766B9BCB62F1C1108682A4BF39B04" KeyPath="yes" Source="$(var.dist)\Compass.exe" /> </Component> </ComponentGroup> </Fragment> I add this to the Project element: <Property Id='FileAssociationProperty' Value="[group_ProductFiles:Compass.exe]"/> I try to use the TargetProperty in a Verb in order to create an Extension in a ProgId: <ProgId Id="CompassgalileoGlobalProject" Description="Galileo Global Project" > <Extension Id="galileoGlobalProject" > <Verb Command="Open" Id="open" TargetProperty="FileAssociationProperty" Argument=""%1"" /> </Extension> </ProgId> After installing I search the registry for my extension HKEY_CLASSES_ROOT\.galileoGlobalProject (default) REG)SZ CompassgalileoGlobalProject HKEY_CLASSES_ROOT\CompassgalileoGlobalProject\shell\open\command "[group_ProductFiles:Compass.exe]" "%1" HKEY_CURRENT_USER\Software\Classes\.galileoGlobalProject HKEY_CURRENT_USER\Software\Classes\CompassgalileoGlobalProject\shell\open\command "[group_ProductFiles:Compass.exe]" "%1" HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.galileoGlobalProject\OpenWithList (value not set) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.galileoGlobalProject\OpenWithProgids CompassGalileoProject REG_NONE (zero-length binary value) Have I done everything right? My previous post got no love, so I'm trying to rephrase the question. NOTICE: This email may contain confidential information. Please see http://www.meyersound.com/confidential/ for our complete policy. ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users