New member to the community. How do I file a bug?
--
Bryan
-----Original Message-----
From: Rob Mensching [mailto:[email protected]]
Sent: Wednesday, January 06, 2010 9:35 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix bug when converting class/progID set from
advertised="yes" to advertised="no"?
Yeah, this is a bug in WiX v3.0 and WiX v3.5. This is the busted logic:
if (null != parent) // if this is a version
independent ProgId
{
if (YesNoType.Yes == firstProgIdForClass)
{
this.core.CreateRegistryRow(sourceLineNumbers,
MsiInterop.MsidbRegistryRootClassesRoot, String.Concat("CLSID\\", classId,
"\\VersionIndependentProgID"), String.Empty, progId, componentId);
}
this.core.CreateRegistryRow(sourceLineNumbers,
MsiInterop.MsidbRegistryRootClassesRoot, String.Concat(progId, "\\CurVer"),
String.Empty, parent, componentId);
}
else
{
if (null == parent)
{
this.core.CreateRegistryRow(sourceLineNumbers,
MsiInterop.MsidbRegistryRootClassesRoot, String.Concat("CLSID\\", classId,
"\\ProgID"), String.Empty, progId, componentId);
}
}
I think that second check for "null == parent" should have been "YesNoType.Yes
== firstProgIdForClass".
Do you mind filing a bug?
The work around in WiX v3.0, unfortunately, is to pull the second ProgId out
and set its registry keys using RegistryKey/RegistryValue elements.
On Wed, Jan 6, 2010 at 8:37 PM, Bryan Reich <[email protected]>wrote:
> 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:[email protected]]
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users