ICE33 is very contentious – please note that WiX suppresses this ICE by default when running validation in WiX 3.0.  The WiX team suggests using the Registry table for all COM registration to avoid unwanted advertised COM repair and demand installation behavior.  You won’t see too many examples of developers complaining about this issue because it really only affects very large programs like Office because they use the COM advertising behavior to load spell checkers and additional feature on-demand.  Smaller applications usually install everything locally, so the impact is lessened.

 

Advertised COM registration was created for Office.  However, the feature is no longer considered robust by Office setup given many years of user complaints.  As a former Office setup developer, I can tell you that we made every attempt to eliminate the Typelib table from all Office installations (due to its myriad problems) and additionally asked developers to stop using the other COM tables.

 

I realize that the MSI team has not discussed the problems with COM advertisement as openly as WiX, however, this is something we will continue to work on.

 

Derek

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Quinton Tormanen
Sent: Monday, January 02, 2006 8:22 AM
To: [EMAIL PROTECTED]; [email protected]
Subject: RE: [WiX-users] COM Advertisement

 

I followed a somewhat contentious blog debate between you and Michael Sanford (Dec 22, 2004). It never seemed to get totally resolved. I don't want to re-open the whole thing, but I really want to do the right thing with my install. Orca's validation tool spit out tons of warnings when I hadn't advertised Class/ProgId registration.  Can you give me a few more details on how this would make typical users uncomfortable?

 

--Quinton

 


From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Friday, December 30, 2005 9:30 PM
To: Quinton Tormanen; [email protected]
Subject: RE: [WiX-users] COM Advertisement

The documentation is incorrect.  You have to write those attributes that way... feel free to file a bug about the documentation and it’llg et fixed.

 

However, I highly suggest you *not* advertise Class/ProgId registration.  It leads to very difficult to describe behavior that never makes typical users comfortable.

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Quinton Tormanen
Sent: Friday, December 30, 2005 4:16 PM
To: [email protected]
Subject: [WiX-users] COM Advertisement

 

I am trying to comply with COM advertising, but by following the rules for the <TypeLib/>, <Class/>, and <AppID/> elements, I was a few registry entries short.

 

Specifically, the following were missing:

HKCR\CLSID\{clsid}\InprocServer32, ThreadingModel=Both

HKCR\CLSID\{clsid}\Programmable

 

I have got these two items to be added by adding the Programmable="yes" and ThreadingModel="both" attributes to the <Class/> element, but the WiX documentation says clearly that these two should ONLY be used when Advertise="no", which isn't true.

 

So, is the documentation wrong in saying not to use these attributes when Advertise="yes"? If not, how should this be done?

 

--Quinton

 

P.S. Here is my COM installer component:

 

<Component

  Id="COMComponent"

  Guid="FF1B1ACD-AE7C-48CD-BC42-F059614AFC8B">

  <File

    Id="RMCLink.dll"

    Name="RMCLink.dll"

    src="Image\RMCLink.dll"

    Vital="yes"

    DiskId="1">

  </File>

  <TypeLib

    Id="E430ED85-D7FA-4303-92BD-68B671F234AB"

    Advertise="yes"

    MajorVersion="1"

    MinorVersion="0"

    Description="RMCLink 1.0 Type Library"

    HelpDirectory="INSTALLDIR"

    Language="0">

    <AppId

      Id="E93F288A-D774-49D6-AB59-6A1BF08EC8BF"

      Advertise="yes">

      <Class

        Id="CA7473F7-2DF3-45CE-A180-CA7CBF81F190"

        Advertise="yes"

        Context="InprocServer32"

        Programmable="yes"

        ThreadingModel="both"

        Description="RMCLinkServer Class">

        <ProgId

          Id="RMCLink.RMCLinkServer.1">

          <ProgId

            Id="RMCLink.RMCLinkServer" />

        </ProgId>

      </Class>

    </AppId>

  </TypeLib>

</Component>

 

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to