Does your CustomAction have dependencies on the machine that get removed during 
uninstall?

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Carter Sanders
Sent: Tuesday, July 03, 2007 12:25 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] How to debug a CustomAction 1723 error on dll invocation?

Hi-
  I have a custom action I execute on uninstall, and it fails popping a dialog 
saying "A DLL required for this install to complete could not be run"

(from msiexec log)-
MSI (s) (F8:18) [15:35:49:202]: Creating MSIHANDLE (2) of type 790542 for 
thread 1560
MSI (s) (F8:2C) [15:35:49:202]: Invoking remote custom action. DLL: 
C:\WINDOWS\Installer\MSI6.tmp, Entrypoint: CleanupPluginsDirEntry
MSI (s) (F8:F0) [15:35:49:202]: Generating random cookie.
MSI (s) (F8:F0) [15:35:49:265]: Created Custom Action Server with PID 1072 
(0x430).
MSI (s) (F8:F4) [15:35:49:765]: Running as a service.
MSI (s) (F8:A8) [15:35:49:765]: Hello, I'm your 32bit Impersonated custom 
action server.
MSI (s) (F8:2C) [15:35:49:858]: Closing MSIHANDLE (2) of type 790542 for thread 
1560
MSI (s) (F8:18) [15:35:49:874]: Note: 1: 1723 2: CleanupPluginsDir 3: 
CleanupPluginsDirEntry 4: C:\WINDOWS\Installer\MSI6.tmp Action start 15:35:49: 
CleanupPluginsDir.
MSI (s) (F8:18) [15:36:03:858]: Product: Aptana IDE -- Error 1723. There is a 
problem with this Windows Installer package. A DLL required for this install to 
complete could not be run. Contact your support personnel or package vendor. 
Action CleanupPluginsDir, entry: CleanupPluginsDirEntry, library: 
C:\WINDOWS\Installer\MSI6.tmp MSI (c) (A0:94) [15:35:49:874]: Font created.  
Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Action ended 15:36:03: CleanupPluginsDir. Return value 3.
Action ended 15:36:03: INSTALL. Return value 3.

As you can see, I'm trying to call the custom action from uninstall, and it 
fails. I've tested this dll with a test app on the machine where it's supposed 
to run, and it succeeds.

If I change the custom action to ignore the return code, the uninstall 
succeeds, but the code doesn't do what it's supposed to (clean out the plugins 
directory).

My entry in the binary table is -
<Binary Id="CleanupPluginsDirDll" SourceFile="support\CleanupPluginsDir.dll"/>

And my custom action looks like -
<CustomAction Id="CleanupPluginsDir" DllEntry="CleanupPluginsDir" 
BinaryKey="CleanupPluginsDirDll"/>

I've added the action to the install execute sequence like this -
<Custom Action="CleanupPluginsDir" 
After="InstallValidate"><![CDATA[$GenericRegistrySettings=2]]></Custom>
(GenericRegistrySettings is a feature that's always installed)

I've tried this with and without a file entry for the dll-
<File  Id="CleanupPluginsDirDllFile" Name="CLEANU_1.DLL" LongName=" 
CleanupPluginsDir.dll" Vital="yes" src="support\CleanupPluginsDir.dll"/>

I've tried creating a trivial entry function which returns zero, but that also 
fails. I also tried using a persistant dll on the target machine, but that 
didn't help either.

I'm kind of at a loss as to how to further debug this. Can anybody give me some 
pointers? Any help would be greatly appreciated.

Thanks-
   Carter
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to