wixinstallshieldcustom-actioninstallshield-2012dtf

DTF is copying custom action dll files


I have msi setup that was created in installshield and I am executing the DTF custom action dll as a commit custom action. If I insert MessageBox.Show into the custom action, I can see that there is a temporary folder inside [PROGRAMFILESDIR] called "CustomActionProject.CA.dll-" and there is copied CustomActionProject.CA.dll with all its references.

Is there any way to tell the technology not to create this temp folder and extract+execute the CustomActionProject.CA.dll in the same folder where is .CA.dll located?

Edit:

I found out that I can not include the references in .CA.dll by configuring wix.ca.targets. Which prevents .CA.dll to contain 20MB of dlls in my case.

Now I would like to make sure that CustomActionProject.dll will be able to see the references that are installed with the product.

The files are:

<ProgramFilesFolder>
  <MyApplicationFolder>
    CustomActionProject.CA.dll
    ... About 30 dlls installed with the application that CustomActionProject.dll needs to call
    <Place I Would Like to See CustomActionProject.dll extracted> 

Solution

  • DTF automatically extracts it's files to a temp folder for execution and then cleans up on disposal. This is very good in that it eliminates certain race conditions. You can still author those files into your installer if you like. For example, at a previous company, our installer used several DLL's for license checking during the install and installed them for use by the application at runtime.

    BTW, make sure you've seen this:

    WiX DTF Behavior Alert