If memory serves me correctly (from last August), the issue here lies in the 
MakeSfxCA processing.  It only writes the Embedded UI entry points if there are 
no CAs included in the project.







-----Original Message-----
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Thursday, February 19, 2009 6:03 AM
To: General discussion for Windows Installer XML toolset.; Oliver Wickham
Subject: Re: [WiX-users] DTF Embedded UI Problem

I think you are right,  when I moved it over to a C# CA project and built it I 
didn't see my exported functions until I removed the CustomActions.cs and 
rebuilt.  This makes since since a dll with custom actions would most likely be 
targeted for being installed or put in the binary table and a dll with a ui 
handler would be targeted for the MsiEmbeddedUI table.

Still, the compiler doesn't really tell you this is happening so I'll look at 
it further and maybe file a bug.

Personally I don't think it's so horrible to put your classes into another 
project.  This way my entry point assembly only exports my entry points and all 
my logic is in seperate reusable classes.  Fortunatly votive makes it really 
easy to add a reference to those assemblies and get them packaged up and 
available at runtime.


Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves 
attention? E-Mail Me


--- On Thu, 2/19/09, Oliver Wickham <oliver.wick...@skinkers.com> wrote:

> From: Oliver Wickham <oliver.wick...@skinkers.com>
> Subject: RE: [WiX-users] DTF Embedded UI Problem
> To: chr...@deploymentengineering.com, "General discussion for Windows 
> Installer XML toolset." <wix-users@lists.sourceforge.net>
> Date: Thursday, February 19, 2009, 3:24 AM
> Hi Christopher,
> 
> I am glad you got the EmbeddedUI working. Thanks for coming
> back to me
> with advice on the issues I am experiencing with references
> to other
> DLLs. I did see the post build step in the WPF sample, and
> the embedded
> ui was working with that. I then moved the UI into our
> existing custom
> action project created through votive. The UI stopped
> working at that
> point. I had a look at the binary exports with dumpin, and
> the ui entry
> points were there, but for some reason it didn't work.
> The log during
> the install was fairly useless, stating just:
> 
> EEUI - Disabling MsiEmbeddedUI due to existing external or
> embedded UI
> 
> And then proceeding to run the non ui parts of the
> installation. I
> reasoned that it might be the existing references for that
> project, as
> that was the main difference. To test this theory I moved
> the UI in
> another project created through votive. It worked. Now I
> have the custom
> actions in one dll and the ui in another, which is not
> ideal, but works.
> I haven't had a chance to study the source to
> MakeSfxCA, but I imagine
> there might be some clues in there. Maybe a dislike for
> both custom
> actions and ui in the same dll? I don't know. Answers
> on a postcard....
> 
> Olly
> 
> 
> -----Original Message-----
> From: Christopher Painter
> [mailto:chr...@deploymentengineering.com] 
> Sent: 19 February 2009 01:28
> To: General discussion for Windows Installer XML toolset.;
> Oliver
> Wickham
> Subject: RE: [WiX-users] DTF Embedded UI Problem
> 
> You are right, changing the ID to have .dll fixed the
> problem.  The
> problem of course is the MSI SDK topic on the MsiEmbeddedUI
> table
> doesn't mention this a problem and r
> Candle/Light/Validation don't catch
> it.
> 
> Either way I think it's a bug in WiX because if I edit
> just that table
> in WiX it doesn't solve the problem.  Only fixing the
> wxs does.
> 
> As for the problem you were having, I actually can answer
> that one!  :-)
> 
> If you look at the C# custom action project templates in
> Votive you'll
> see they implement an msbuild task to package your
> *.CA.dll.   This task
> is smart enough to auto package all non-GAC'd
> assemblies and project
> content. 
> 
> If you look at the WPF sample you'll see that it just
> has a simple
> postbuild call to MakeSfxCA and it's lacking the
> arguments to package
> all your other stuff up into the resultant DLL.
> 
> The samples project also has a dependency on the WiX
> targets which is a
> very bad idea in my opinion.  I just want to build the
> sample not WiX.
> So do what I did:  Create a C# custom action project, strip
> it of it's
> classes and transport the classes from the WPF project into
> the newly
> created project.    The result is the best of both worlds.
> :-)
> 
> 
> Christopher Painter, Author of Deployment Engineering Blog
> Have a hot tip, know a secret or read a really good thread
> that deserves
> attention? E-Mail Me
> 
> 
> --- On Wed, 2/18/09, Oliver Wickham
> <oliver.wick...@skinkers.com> wrote:
> 
> > From: Oliver Wickham
> <oliver.wick...@skinkers.com>
> > Subject: RE: [WiX-users] DTF Embedded UI Problem
> > To: chr...@deploymentengineering.com, "General
> discussion for Windows
> Installer XML toolset."
> <wix-users@lists.sourceforge.net>
> > Date: Wednesday, February 18, 2009, 7:51 AM
> > Hi,
> > 
> > When looking into using an EmbeddedUI, I did a bit of
> > research on the
> > mailing list, and remember seeing a post that
> suggested
> > that the
> > embedded will not work without a .dll suffix on the Id
> of
> > the EmbeddedUI
> > element. I have successfully used the latest WIX and a
> > project derived
> > sample last week, using and ID with .dll appended. One
> > thing I did
> > notice is that it does not seem to work if any
> additional
> > references/dependencies are added that are not present
> on
> > the target
> > system (e.g. .Net stuff is ok, but our companies
> framework
> > DLLs don't
> > work). It is strange, because the additional
> dependencies
> > work on
> > standard DTF custom actions, just not on the Embedded
> UI
> > stuff. I wonder
> > if anybody else has a clue about why this is?
> > 
> > Regards,
> > 
> > Olly
> > 
> > -----Original Message-----
> > From: Christopher Painter
> > [mailto:chr...@deploymentengineering.com] 
> > Sent: 18 February 2009 12:52
> > To: wix-users@lists.sourceforge.net
> > Subject: [WiX-users] DTF Embedded UI Problem
> > 
> > In an effort to learn the new functionality, I built
> the
> > WPF sample
> > found in wix3-sources and tried to consume it in a
> product.
> >  
> > 
> > My WXS looks like this:
> > 
> > <Package InstallerVersion="405"
> > Compressed="yes" />
> > <UIRef Id="WixUI_Mondo" />
> > <UI Id="Embedded">
> >   <EmbeddedUI Id="WPF"
> >
> SourceFile="$(var.DTF_WPF.TargetDir$(var.DTF_WPF.TargetName).CA.dll"></E
> > mbeddedUI>
> > </UI>
> > 
> > I have MSI 4.5 installed on Server 2008 and my logfile
> > shows the
> > following. If I stream my dll out of MsiEmbeddedUI
> table
> > and look at it
> > in depends I can see that it exports
> InitializeEmbeddedUI,
> > EmbeddedUIHandler and ShutdownEmbedddUI functions.  
> If I
> > put a message
> > box inside of the initialize method I never see my
> message.
> > 
> > Any thoughts?
> > 
> > 
> > 
> > MSI (c) (80:F4) [06:43:13:436]: PROPERTY CHANGE:
> Adding
> > OriginalDatabase
> > property. Its value is
> >
> 'C:\tfs\Private\Demos\DTF_WPF\WixProject1\bin\Debug\WixProject1.msi'.
> > MSI (c) (80:F4) [06:43:13:436]: Machine policy value
> > 'MsiDisableEmbeddedUI' is 0
> > MSI (c) (80:F4) [06:43:13:436]: EEUI - Running
> > MsiEmbeddedUI code
> > MSI (c) (80:04) [06:43:13:451]: Cloaking enabled.
> > MSI (c) (80:04) [06:43:13:451]: Attempting to enable
> all
> > disabled
> > privileges before calling Install on Server
> > MSI (c) (80:04) [06:43:13:451]: Connected to service
> for CA
> > interface.
> > MSI (c) (80:F4) [06:43:13:514]: EEUI - Unable to load
> > embedded DLL
> > handler
> > MSI (c) (80:F4) [06:43:13:529]: PROPERTY CHANGE:
> Adding
> > MSICLIENTUSESEMBEDDEDUI property. Its value is
> '1'.
> > MSI (c) (80:F4) [06:43:13:529]: PROPERTY CHANGE:
> Adding
> > SourceDir
> > property. Its value is
> >
> 'C:\tfs\Private\Demos\DTF_WPF\WixProject1\bin\Debug\'.
> > MSI (c) (80:F4) [06:43:13:529]: PROPERTY CHANGE:
> Adding
> > SOURCEDIR
> > property. Its value is
> >
> 'C:\tfs\Private\Demos\DTF_WPF\WixProject1\bin\Debug\'.
> > MSI (c) (80:50) [06:43:13:529]: PROPERTY CHANGE:
> Adding
> > VersionHandler
> > property. Its value is '4.05'.
> > === Logging started: 2/18/2009  6:43:13 ===
> > MSI (c) (80:F4) [06:43:13:529]: Note: 1: 2205 2:  3:
> > PatchPackage 
> > MSI (c) (80:F4) [06:43:13:529]: Machine policy value
> > 'DisableRollback'
> > is 0
> > MSI (c) (80:F4) [06:43:13:529]: User policy value
> > 'DisableRollback' is 0
> > MSI (c) (80:F4) [06:43:13:529]: PROPERTY CHANGE:
> Adding
> > UILevel
> > property. Its value is '5'.
> > MSI (c) (80:F4) [06:43:13:529]: PROPERTY CHANGE:
> Adding
> > ACTION property.
> > Its value is 'INSTALL'.
> > MSI (c) (80:F4) [06:43:13:529]: Doing action: INSTALL
> > MSI (c) (80:F4) [06:43:13:529]: Note: 1: 2205 2:  3:
> > ActionText 
> > Action 6:43:13: INSTALL. 
> > Action start 6:43:13: INSTALL.
> > MSI (c) (80:F4) [06:43:13:545]: UI Sequence table
> > 'InstallUISequence' is
> > present and populated.
> > MSI (c) (80:F4) [06:43:13:545]: Running UISequence
> > 
> > 
> > Christopher Painter, Author of Deployment Engineering
> Blog
> > Have a hot tip, know a secret or read a really good
> thread
> > that deserves
> > attention? E-Mail Me
> > 
> > 
> >       
> > 
> >
> ------------------------------------------------------------------------
> > ------
> > Open Source Business Conference (OSBC), March 24-25,
> 2009,
> > San
> > Francisco, CA
> > -OSBC tackles the biggest issue in open source: Open
> > Sourcing the
> > Enterprise
> > -Strategies to boost innovation and cut costs with
> open
> > source
> > participation
> > -Receive a $600 discount off the registration fee with
> the
> > source code:
> > SFAD
> > http://p.sf.net/sfu/XcvMzF8H
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users


      

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to