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

Reply via email to