I can confirm that not only does nesting the progIDs not solve the issue, it 
actually produces a build failure.
Firstly, it appears the wix documentation's claims that nesting of more than a 
single ProgId under another progID creates COM aliases is incorrect (or perhaps 
doesn't apply to advertise="no" nodes) because it tries to treat all of them 
like version independent ProgId entries and fails to compile.
(Error message: "Version independent ProgIds cannot have Icons. Remove the Icon 
and/or IconIndex attributes from your ProgId element")

Second, it says that ProgId elements can only be nested up to a single level 
deep
(i.e. only
<ProgId Id="Prog1">
    <ProgId Id="VerIndepProg" />
</ProgId> 
And not
<ProgId Id="Prog1">
    <ProgId Id="VerIndepProg" />
    <ProgId Id="OtherProg2">
         <ProgId Id="VerIndepOtherProg" />
    </ProgId>
</ProgId>
)
(error message: "ProgId elements may not be nested more than 1 level deep.")

And unfortunately I need to do the latter because a number of the same-class 
associated progIds also have versions and version-independent entries.

--
Bryan

-----Original Message-----
From: Bryan Reich 
Sent: Wednesday, January 06, 2010 7:41 PM
To: 'Bob Arnson'; General discussion for Windows Installer XML toolset.
Subject: RE: [WiX-users] Wix bug when converting class/progID set from 
advertised="yes" to advertised="no"?

I was looking into that very question, but I don't think it yields the same 
affect.
For one thing, when you nest a progID thusly:

<ProgId Id="MyProgId.12">
    <ProgId Id="MyProgId" />
</ProgId>

This indicates that MyProgId is the version independent ProgId for MyProgId.12. 
The wix documentation for the ProgId Element:
...
Chidren
    Sequence (min: 1, max:1)
    1. ProgId (min: 0, max: unbounded): The version-independent ProgId must be 
the first child elment of the actual ProgId. Nesting other ProgId elements 
within the Version-independent ProgId will create COM+ aliases, see 
http://support.microsoft.com/kb/305745 for more information.


So the first point I should make is that I'm not sure that every ProgId in 
question has a version-independent ProgId to associate with it, in which case 
would mean I have nothing to nest as the first element. Second, the successive 
ProgIds are COM+ aliases, and while the documentation on these is terrible as 
far as I've been able to hunt down, it appears they don't serve quite the same 
purpose as what I am alluding to above. COM+ aliases not only generate an 
alternate ProgID, but also an alternate Class ID associated with that ProgId 
that happens I believe to point to the same server object. That being said, not 
being familiar with COM+ aliases well at all, I could be off base here, and I'm 
not fully sure how this operates in the installer, so that might give me 
something like what I would want, providing the first pesky scenario that not 
every primary ProgId under all of the classes has a version-independent ProgId 
associated with it comes into play.

--
Bryan


-----Original Message-----
From: Bob Arnson [mailto:b...@joyofsetup.com] 
Sent: Wednesday, January 06, 2010 5:00 PM
To: General discussion for Windows Installer XML toolset.
Cc: Bryan Reich
Subject: Re: [WiX-users] Wix bug when converting class/progID set from 
advertised="yes" to advertised="no"?

On 1/6/2010 7:42 PM, Bryan Reich wrote:
> What is happening is that WIX, while turning these ProgIds into their 
> constituent registry keys, does NOT use the heuristic of "first progID under 
> the Class element becomes the CLSID\{myGUID}\ProgID key value" that is used 
> when advertise is yes.

I had my COM memories surgically removed years ago, so I'm not understanding 
the details here but can you get the effect you're looking for by nesting your 
ProgIds? What are the HKCR registry values you're expecting?

--
sig://boB
http://joyofsetup.com/



------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to