What condition did you use on the CA in the original install? If you had
used a better condition the CA would already be running during the patch
install. For the sake of argument, let's assume you used the condition "Not
Installed". This is a bad decision for at least two reasons (and there are
more):
1. It's a product based condition, and runs the CA even if that assembly
doesn't get installed because of feature selection choices.
2. Similarly, a condition based on the component being installed would run
at first install, repair, and patch install, and that's almost always what
you want.

So the answer is to fix the CA condition and rebuild the patch.
$componentname=3 might be a better condition.

http://msdn.microsoft.com/en-us/library/aa368012(v=vs.85).aspx

But as said before, you don't need custom actions to do this, ever. Yes,
there are tools like regsvr32, regasm, gacutil, installutil, but they never
need running during an MSI install. As suggested, a major upgrade is
probably the best way to get rid of the CAs and start over without using
them.

Phil Wilson


On Thu, Dec 5, 2013 at 11:56 AM, Hoover, Jacob
<jacob.hoo...@greenheck.com>wrote:

> Don't patch it, Major Upgrade it and kill that CA.  You can use heat to
> harvest the COM info from the DLL and then easily support patches without
> having to fight Windows Installer because the previous developer did it in
> a non-standard way.
>
> If your issue is with VBA, you may also need to deploy the tlb files with
> your installer as I don't believe that managed assemblies contain an
> embedded tlb (but regasm generates one).
>
> -----Original Message-----
> From: Smagin Alexander [mailto:kf-...@list.ru]
> Sent: Thursday, December 05, 2013 1:44 PM
> To: General discussion about the WiX toolset.
> Subject: Re: [WiX-users] How to execute CA after path is applied
>
>
> Yes, I register library by executing regasm.exe "library" /silent
> /codebase /tl in CA during original install <CustomAction
> Id="CmdInstallComId" Property="InstallComId"
> Value="&quot;[NETFRAMEWORK20INSTALLROOTDIR]regasm.exe&quot;
> &quot;[APPLICATIONROOTDIRECTORY]BARSToolbar.Service.dll&quot; /silent
> /codebase
> /tlb:&quot;[APPLICATIONROOTDIRECTORY]BARSToolbar.Service.tlb&quot;" />
> <CustomAction Id="InstallComId" BinaryKey="WixCA" DllEntry="CAQuietExec"
> Execute="commit" HideTarget="no" Return="check" Impersonate="no" /> It was
> made before me by previous developer. During uninstalling the library
> deregistered in the same way. I did not change interface of the library in
> last change but simple patching of it does not work for me. VBA cannot
> create a COM object after the patch is applied, but if the library is
> reregistered by unregistering and then registering again regasm.exe
> BARSToolbar.Service.dll /silent /unregister regasm.exe
> BARSToolbar.Service.dll /silent /codebase /tlb It works. More over this
> operation requires admin privileges. I’m not familiar much closer with .Net
> and do not know how it can be registered in other way. Thanks, Alex.
>
> Четверг,  5 декабря 2013, 11:11 -08:00 от Phil Wilson <
> phildgwil...@gmail.com>:
> >If you registered that type library with a CA in the original install
> >that may not have been the best option, TLB entries are basically just
> >a bunch of HKLM\Interface entries that can be put in the registry (Heat
> >may even extract them) so there is no need to run any code at all. So
> >it matters how you created the original typelib registration.  It's not
> >clear if you actually mean "generate new tbl [sic] file" because you
> >can generate them before the build and just ship the file and the
> >registry entries. The big picture here is there is no need to ever run
> >regasm during an install or during a patch - just use Heat and populate
> the registry tables.
> >
> >Also  I'm not convinced that you need to re-register typelib
> >information for just a file version change (as opposed to an assembly
> >version change which is part of the COM registration).  So I think you
> >need to clarify if you are actually installing the tlb file or wanting
> >to re-create it during the install, and how you originally created the
> >typelib registration entries, and if anything has actually changed in
> >the interfaces and COM registration.  This can all be rather complicated.
> >
> >Phil Wilson
> >
> >
> >On Thu, Dec 5, 2013 at 10:43 AM, Smagin Alexander < kf-...@list.ru >
> wrote:
> >
> >>
> >> I have created a path (msp file)  as difference beetwen small update
> >> 1.0.0.0 to 1.0.0.1. One dll is changes. this dll is .Net assembly
> >> (COM Object). So I need to reregister it ( generate new tbl file)
> >> after the patch is applied. Does the path supported to perform some
> >> custom actions such as run regasm command to register new dll?
> >> How can it be done?
> >>
> >> Thanks,
> >> Alex.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> ---------
> >> Sponsored by Intel(R) XDK
> >> Develop, test and display web and hybrid apps with a single code base.
> >> Download it for free now!
> >>
> >>
> >> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg
> >> .clktrk _______________________________________________
> >> WiX-users mailing list
> >>  WiX-users@lists.sourceforge.net
> >>  https://lists.sourceforge.net/lists/listinfo/wix-users
> >>
> >-----------------------------------------------------------------------
> >-------
> >Sponsored by Intel(R) XDK
> >Develop, test and display web and hybrid apps with a single code base.
> >Download it for free now!
> >http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.c
> >lktrk _______________________________________________
> >WiX-users mailing list
> >WiX-users@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
>
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
>
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to