Could it be something related to the executable being launched instead of an
issue with the custom action itself?

What is the impersonate setting of the custom action doing the launching?
What is the executionLevel value for the executable being launched?

-----Original Message-----
From: Keith Hassen [mailto:keith.has...@gmail.com] 
Sent: Thursday, July 15, 2010 11:41 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] C# Custom Action DLL fails

Hi,

I'm having a problem with WiX 3.5 launching a separate executable from a
custom action during the InstallFinalize action.  This seems to only
occur on systems where I don't have Visual Studio 2005 installed.  On my
development system, the installer runs just fine.  The Custom Action is
a C# WiX Custom Action DLL.  The code pulls in the
System.Diagnostics.Process class, and uses it to launch a couple of
processes.  If I comment out the Process class portion of the code,
everything runs just fine.  If I try to launch a Process instance, I get
this error:

SFXCA: Extracting custom action to temporary directory:
C:\WINDOWS\Installer\MSI86.tmp-\
SFXCA: Binding to CLR version v2.0.50727
Calling custom action
WiXCustomActions!WiXCustomActions.CustomActions.ConfigureTerminals
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem
   at
System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo
startInfo)
   at System.Diagnostics.Process.Start()
   at WiXCustomActions.CustomActions.ConfigureTerminals(Session session)

My first thought was that the CRT (C lang runtime) wasn't installed.  I
tried installing the Windows 2008 SP1 Redistributable, but that had no
impact.  I then decided to generate a simple test executable just to see
if there was something inherently problematic about the
System.Diagnostics namespace/classes.  But my test executable ran just
fine (and the test executable contains nearly identical Process class
code as the custom action DLL).

Anyway, I noticed that the SFXCA is loading CLR version 2.0.50727.  So I
modified CustomActions.config to use version 4.0 of the .NET framework,
and that also made no difference:

SFXCA: Extracting custom action to temporary directory:
C:\WINDOWS\Installer\MSI12.tmp-\
SFXCA: Binding to CLR version v4.0.30319
    Calling custom action
WiXCustomActions!WiXCustomActions.CustomActions.ConfigureTerminals
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem

Finally, I also tried installing the .NET 4.0 Framework, but that didn't
make a difference either.  I think this must be an issue of a missing
library, but I can't seem to figure out which it is.  I'm tempted to run
a trace to see what it's looking for, but that might take me hours/days.

Any ideas?

Keith


----------------------------------------------------------------------------
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to